managarten/apps/picture/apps/web
Till JS 3091da914e feat(auth): add WebAuthn/Passkey support across all apps
Implements passwordless authentication via passkeys using @simplewebauthn:

Backend (mana-core-auth):
- New passkeys table in auth schema (credentialId, publicKey, counter, etc.)
- PasskeyService with registration/authentication flows and challenge storage
- 7 new API endpoints (register, authenticate, list, delete, rename)
- createSessionAndTokens helper for non-password auth flows
- Security event types for passkey operations

Client (shared-auth):
- signInWithPasskey() and registerPasskey() with dynamic @simplewebauthn/browser imports
- isPasskeyAvailable() browser capability check
- Passkey management methods (list, delete, rename)

UI (shared-auth-ui):
- Passkey button on LoginPage with key icon, shown when browser supports WebAuthn
- Divider between passkey and email/password form

App integration:
- All 19 web app auth stores have isPasskeyAvailable() and signInWithPasskey()
- All 19 web app login pages pass passkeyAvailable and onSignInWithPasskey props
- rpID=mana.how in production enables cross-app passkey usage (SSO-compatible)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 10:30:03 +01:00
..
docs refactor(picture): remove Supabase dependency, migrate to NestJS backend 2025-12-01 14:22:49 +01:00
src feat(auth): add WebAuthn/Passkey support across all apps 2026-03-26 10:30:03 +01:00
static refactor: restructure 2025-11-26 03:03:24 +01:00
.env.example 🔥 chore(picture): remove PostHog analytics for GDPR compliance 2026-01-28 12:24:22 +01:00
.gitignore refactor: restructure 2025-11-26 03:03:24 +01:00
.npmrc refactor: restructure 2025-11-26 03:03:24 +01:00
.prettierignore refactor: restructure 2025-11-26 03:03:24 +01:00
.prettierrc refactor: restructure 2025-11-26 03:03:24 +01:00
Dockerfile fix(citycorners): replace @const with direct function calls in templates 2026-03-25 16:05:37 +01:00
eslint.config.js improve code quality 2025-12-03 23:42:37 +01:00
package.json feat(storage, chat, picture): add shared help pages 2026-03-25 09:19:06 +01:00
README.md refactor: restructure 2025-11-26 03:03:24 +01:00
svelte.config.js feat(picture): migrate web app from Netlify to Docker/Mac Mini deployment 2026-03-20 20:50:12 +01:00
tsconfig.json refactor: restructure 2025-11-26 03:03:24 +01:00
vite.config.ts feat(picture): PWA support, API timeouts, batch fix, credit/history endpoints 2026-03-21 21:17:44 +01:00

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 in the current directory
npx sv create

# create a new project in my-app
npx sv create my-app

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.