Repository navigation
Comments: recheck the account after a startup failure; never sign from a stale one - #97
Merged
Merged
Conversation
…m a stale one On SDK beta.188 a linked account showed "Your comments are not signed ... could not be checked" on every fresh load, and comments written before Check again were saved unsigned. The SDK host makes the /identity READ under its collection control's lifetime (there is no per-request cancel), so an aborted fetch means the connection that sent it was closed mid-READ; the client then reports `unauthenticated`/`people_fenced`. The same one READ slot is shared with the SDK's launch people readiness, which reports `unavailable`/`people_busy`. Writer retried only `unavailable`, once after 250 ms, then cached the failed result: the panel kept the notice and createComment signed from that cached failure, so the comment went out unsigned. Writer now rechecks transient failures (unavailable, unauthenticated, cancelled, rate_limited) after 250 ms, 1 s and 3 s, and never reuses a failed check, so the next panel reload or new comment checks again. Refusals and unknown failures are still the answer. Refs #91
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.
Refs #91 (production retest of #93 on
c73d1cc0acc5, part B failed 6/6 loads)Cause
/identityunder the collection control's lifetime.collection-control.jspasses the control'soptions.signaltoauthority.request, and there is no per-request cancel. So an/identityfetch marked aborted means that collection control was closed mid-read, for example when the connection was replaced during startup. The client then getsunauthenticatedwith reasonpeople_fenced.unavailablewith reasonpeople_busy.unavailable, once, after 250 ms. It then cached the failed result. The notice stayed until Check again, andcreateCommenttookmefrom that cached failure, so comments were saved unsigned.Fix (Writer)
unavailable,unauthenticated,cancelled,rate_limited) are checked again after 250 ms, 1 s and 3 s. Refusals and unknown failures are still final.Tests
people_fenced), then a busy slot, then success gives a linked account.pnpm checkpasses (i18n, typecheck, 371 app tests, 51 core tests).Not in this PR
What closes the collection control at startup, which aborts the first fetch, lies in the SDK host's connection lifecycle. I couldn't pin the trigger without a live run, and this change doesn't depend on it. No persisted format or public API change.