Context
When a fresh user clones a vault, note bodies stream in progressively (the sidebar tree shows note titles immediately; bodies arrive in the background). While bodies are still loading, the sidebar shows a subtle "N notes loading…" banner driven by counting notes with contentLoaded === false. This is a feature the maintainer asked to keep visible after it regressed in an earlier refactor.
A regression test would lock it in so the banner cannot silently disappear again.
Where to look
src/components/sidebar/FolderTree.tsx lines 102-110 — shellCount calculation; the banner JSX is in the same component, search for loading in the file.
src/__tests__/ — existing component tests use @testing-library/react (see e.g. src/__tests__/markdownLivePreview.test.ts or other tests for the pattern).
Acceptance criteria
Complexity
Tiny. Good first PR if you have never touched React testing before.
For first-time contributors
Read CONTRIBUTING.md. npm install then npm test to confirm the suite passes locally before you start. The existing tests under src/__tests__/ are the best reference for the patterns the codebase uses. PR against dev.
Context
When a fresh user clones a vault, note bodies stream in progressively (the sidebar tree shows note titles immediately; bodies arrive in the background). While bodies are still loading, the sidebar shows a subtle "N notes loading…" banner driven by counting notes with
contentLoaded === false. This is a feature the maintainer asked to keep visible after it regressed in an earlier refactor.A regression test would lock it in so the banner cannot silently disappear again.
Where to look
src/components/sidebar/FolderTree.tsxlines 102-110 —shellCountcalculation; the banner JSX is in the same component, search forloadingin the file.src/__tests__/— existing component tests use@testing-library/react(see e.g.src/__tests__/markdownLivePreview.test.tsor other tests for the pattern).Acceptance criteria
src/__tests__/folderTreeLoadingBanner.test.tsx(or extend an existing FolderTree test).FolderTreewith 3 notes, 2 of themcontentLoaded: false. Assert the banner is in the DOM and shows the right count.contentLoaded: true. Assert the banner is NOT in the DOM.Complexity
Tiny. Good first PR if you have never touched React testing before.
For first-time contributors
Read
CONTRIBUTING.md.npm installthennpm testto confirm the suite passes locally before you start. The existing tests undersrc/__tests__/are the best reference for the patterns the codebase uses. PR againstdev.