Digital Credentials: Test that coordinator returns to idle after mid-flight abort#60262
Open
marcoscaceres wants to merge 1 commit into
Open
Conversation
…-flight abort Adds a regression test ensuring that after a get() call is aborted via AbortSignal mid-flight, a subsequent get() call works (i.e., the user agent's interaction state has returned to "idle" and is not stuck in "requesting"). This guards against state-machine bugs where an aborted credential request leaves the coordinator unable to accept new requests.
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.
Adds a regression test ensuring that after navigator.credentials.get() is aborted via AbortSignal mid-flight, a subsequent get() call works — i.e., the user agent's interaction state has returned to "idle".
The spec defines an interaction state machine for the credential request coordinator (§6.1). If the coordinator gets stuck in "requesting" after an abort, §6.2 step 2 would reject subsequent calls with NotAllowedError. The test catches that regression by calling get() with an AbortSignal, aborting it mid-flight, then calling get() again with a fresh signal. Both should reject with AbortError.