PhotoPrism's /api/v1/config.count is library-wide and the same value for every authenticated session. That made non-admins (and admins with a non-empty BasePath) see badges that didn't match what the timeline actually showed them. Replaces the direct `configQuery.data?.count?.<bucket>` reads in LeftSidebar with per-bucket queries against PhotoPrism's /photos endpoint. The new `countPhotos(q)` helper sets `count=10000` and reads the X-Count response header to get the true total in one round -trip (PhotoPrism's ACL filter is what scopes the result, so the header reflects "what this session can see"). Each bucket query appends `path:"<BasePath>*"` so admins-with-a- BasePath stay scoped too; non-admins without a BasePath short-circuit to `uid:none` (their effective visibility is zero, no point querying). Admins without a BasePath skip the scoped queries entirely and keep using the precomputed /config totals — same network footprint as before for the common case. Affected badges: Favorites, Hidden, Archive, Review, Tags (labels component). Map already used `geoQuery` whose result is ACL-filtered server-side, so its badge is per-user-correct without changes. The `favorites` field was missing from PpClientConfig.count's TypeScript type; added it. Resolves the `test`-user complaint: sidebar showed the admin library's totals next to Review / Hidden / Archive / Favorites because those numbers came from /config, not from a user-scoped query.
sv
Everything you need to build a Svelte project, powered by sv.
Creating a project
If you're seeing this, you've probably already done this step. Congrats!
# create a new project
npx sv create my-app
To recreate this project with the same configuration:
# recreate this project
npx sv@0.15.3 create --template minimal --types ts --install npm web
Developing
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Building
To create a production version of your app:
npm run build
You can preview the production build with npm run preview.
To deploy your app, you may need to install an adapter for your target environment.