Add invalid handle recovery dialog#11062
Conversation
When the signed-in account's handle comes back as handle.invalid, auto-open a dialog (snoozed per account for 24h) that explains the problem and offers a path to fix it: - Refresh button: asks the server to re-resolve identity via com.atproto.identity.refreshIdentity, then re-syncs the session - Server-resolution diagnostics: recovers the intended handle from the DID document (describeRepo alsoKnownAs) and resolves it to distinguish "resolves correctly now", "wrong DID", "not resolving", and service-provided handle issues - Static FAQ of likely causes (missing/multiple TXT records, wrong DID, expired domain, propagation delay, well-known file) - Handoff to the existing Change Handle dialog and a support link The invalid handle pill on one's own profile header is now tappable to reopen the dialog on demand, bypassing the snooze. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LSXAgZis8iP5KmcUcGXCKw
|
Claude finished @mozzius's task in 6m 16s —— View job Review: Add invalid handle recovery dialog
Nicely structured feature — the pure One real bug and a couple of minor notes. 1. Switching accounts snoozes the wrong account (non-blocking, but user-visible)
onClose={() => {
if (did) snooze(did)
}}Both Scenario: user has two custom-domain accounts, both currently The programmatic close-on-switch shouldn't count as a dismissal. One option is to distinguish it from a real dismissal (e.g. close without triggering the snooze, or guard 2.
|
|
When the signed-in account's handle comes back as handle.invalid, auto-open
a dialog (snoozed per account for 24h) that explains the problem and offers
a path to fix it:
com.atproto.identity.refreshIdentity, then re-syncs the session
document (describeRepo alsoKnownAs) and resolves it to distinguish
"resolves correctly now", "wrong DID", "not resolving", and
service-provided handle issues
expired domain, propagation delay, well-known file)
The invalid handle pill on one's own profile header is now tappable to
reopen the dialog on demand, bypassing the snooze.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01LSXAgZis8iP5KmcUcGXCKw