Skip to content

Implement passkey authentication and settings management - #14

Merged
rednez merged 10 commits into
mainfrom
staging
Jun 2, 2026
Merged

Implement passkey authentication and settings management#14
rednez merged 10 commits into
mainfrom
staging

Conversation

@rednez

@rednez rednez commented Jun 2, 2026

Copy link
Copy Markdown
Owner

No description provided.

rednez added 10 commits May 29, 2026 12:42
Add a Settings page reached from the user-avatar menu, with a back
button and sections grouped via p-selectButton (only Password for now).
The Password section is shown only when the auth provider is 'email'.

Expose the auth provider through the auth repository and store, and
extract a reusable passwordsMatchValidator used by signup, change
password, and the new update-password form.
Integrate Supabase WebAuthn passkeys end to end:

- Sign in with a passkey from the login page via a new button.
- Add a Passkeys section in settings to register, rename and
  delete passkeys, with a confirmation dialog for deletion.

Passkey calls are wired through SupabaseService, AuthRepository,
AuthStore and AuthService. A cancelled WebAuthn ceremony is
detected via the structured error code and treated as a no-op.

Also extract a private getClient() in SupabaseService to replace
the repeated client-initialization guard across its methods.
Add a noDemoGuard that redirects to the dashboard when demo mode
is active, and apply it to the settings and change-password routes
so they cannot be opened directly via the URL in demo mode.
The spec failed in isolation because jsdom lacks window.matchMedia,
which DarkModeHelper requires. Add the same polyfill the other specs
use so test ordering no longer affects the result.
@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
finwaze Ready Ready Preview, Comment Jun 2, 2026 9:27am

@rednez
rednez merged commit 3cf22ed into main Jun 2, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant