listUsers() now LEFT JOINs local_credentials and returns has_local_credentials.
The auth source cell renders both the primary auth_source badge and a secondary
Local badge when an OIDC user also has local credentials set.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Credentials provider in Auth.js processes credentials at the
/callback/:provider endpoint, not /signin/:provider. Posting to
/signin/local hits a code path that just redirects back to the Auth.js
built-in sign-in page. Changing to /callback/local routes the form
submission to the correct handler.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
After a successful Credentials sign-in, Auth.js was redirecting to its
own built-in /auth/signin page because no callbackUrl was provided.
Add a callbackUrl hidden field (pointing to the app root) so Auth.js
redirects back to the application after local login completes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace `on:keydown` with `onkeydown` and `onsubmit|preventDefault`
with inline handlers calling `e.preventDefault()` to fix compilation
errors caused by mixing old and new Svelte event syntax.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>