Repository navigation
Conversation
A passkey prompt that fails on the device never reaches the server, so the iPhone setup failure of 10 November 2026 left no record of its cause. When the prompt fails on view E or F, the SPA now sends the error's name, SimpleWebAuthn's code and the browser's words to POST /api/auth/setup/passkey/failure, which needs the enrolment cookie and logs them at Information (D103). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…og line Also log "none" for a failure with no code, and restore a space the first commit dropped in ChooseMethod.test.tsx. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…compiles The previous commit put a raw U+2028 inside a string literal, which C# reads as a line break. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lethabarb
added a commit
that referenced
this pull request
Nov 10, 2026
Main took D104 for the Word-template decision (#246), and open PR #241 also numbers its decision D103, so this branch's hosting-cost decision becomes D105, the next number no branch claims. design/decisions.md keeps main's D104 row and adds this one after it; this branch's citations are renamed in the files it changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
On 10 November 2026 the first manager's passkey setup on an iPhone (Mobile Safari) failed in production after Face ID. Production's logs show the setup page fetched creation options three times, but no credential ever reached the server. The prompt failed inside Safari, and the SPA discarded the error, so there's no record of why.
What
POST /api/auth/setup/passkey/failure(needs the enrolment cookie, sign-in rate limit, antiforgery like every change). It logs the browser error'sname, SimpleWebAuthn'scodeand the message atInformationin the app's namespace, so it reaches Application Insights. Control characters become spaces, so one entry stays on one line. It answers204, or401and logs nothing without a valid cookie.ApiError) is not sent.Limitsandlimits.ts(100 / 100 / 500), checked bySpaLimitsTests.Passkey sign-in is unchanged.
Checks
dotnet build -warnaserror,tsc -b,eslintclean. Tests are left to CI.SetupPasskeyFailureEndpointTests(log line, 401, 422 per field), endpoint matrix row, and SPA tests for what's sent (and not sent) from both views.🤖 Generated with Claude Code