PhotoPrism's /api/v1/config.count returns library-wide aggregates to any authenticated session, with no per-user scoping. The timeline itself IS scoped (a guest sees zero photos), but the sidebar was rendering admin-side totals next to Review / Hidden / Archive / Tags / Map / root for non-admins — including a freshly-registered "test" user with role=guest and BasePath="". Until PhotoPrism gains per-user counters, the SPA now derives an `isAdminUser` flag and gates every count that's drawn from configQuery on it. Non-admin users see the labels without badges; counts re-appear automatically when promoted. Per-folder counts from the sidecar (which DO scope to BasePath) are unaffected.
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.