Correct Signal probe mechanism notes: listAccounts includes a server-side account check - #171
Open
MaxGhenis wants to merge 1 commit into
Open
Correct Signal probe mechanism notes: listAccounts includes a server-side account check#171MaxGhenis wants to merge 1 commit into
MaxGhenis wants to merge 1 commit into
Conversation
…ver-side account check Live debugging on 2026-08-23 (signal-cli 0.14.5, --verbose) falsified the claim in #170's comments and runbook that listAccounts "never consults the Signal server". It does: loading each account runs signal-cli's AccountHelper.checkAccountState, a server round-trip while the stored account is marked registered. Any failure there — transient network trouble or a genuine rejection — prints one "Ignoring/Failed to load" warning and reports zero accounts with exit 0, which is why the empty probe is ambiguous: - transient check failure: "registered" stays true; the next probe can succeed (the 2026-07-24 / 2026-08-06 false-park shape that #170's retry + streak + paced retest now heals); - genuine deregistration: DeviceDeregisteredException -> [403] persists "registered": false, after which every load fails locally before any network call (observed live; re-flipping the flag reproduced the 403). No behavior change — comments and runbook only. The runbook's debug flow now includes the persisted-verdict check (jq .registered) and the verbose listAccounts recipe for reading the server verdict directly, and documents that the 15-min park retest is local-only once a real deregistration has been persisted. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Comments/docs only — no behavior change. Follow-up to #170.
Live debugging on Max's install today (signal-cli 0.14.5,
--verbose --verbose) falsified a mechanism claim in #170's comments and runbook:listAccountsis not a pure local read. signal-cli's per-account load runsAccountHelper.checkAccountState— a server round-trip while the stored account is marked registered — and any failure there (transient network trouble or a genuine rejection) prints oneIgnoring/Failed to load <number>warning and reports zero accounts with exit 0. That's the observed ambiguity behind the false parks:"registered"staystrue, next probe can succeed — the 2026-07-24 / 2026-08-06 false-park shape that Stop transient boot-time probe failures from permanently parking Signal needs_reauth #170's retry + streak + paced retest heals;DeviceDeregisteredException→[403] Authorization failed!persists"registered": false, after which every load fails locally before any network call (observed live; re-flipping the flag reproduced the 403 and re-persistedfalse).Runbook additions: a persisted-verdict check (
jq .registered data/<account>) and the verboselistAccountsrecipe as steps 3–4 of the parked-Signal debug flow; a note that the 15-min park retest is local-only (zero server traffic) once a genuine deregistration is persisted, and that the growing streak number inlast_errormeasures park age, not thrashing; the pre-re-link media backup recipe.go build, gofmt, and the Signal supervisor/probe tests pass unchanged.🤖 Generated with Claude Code