isErrorMaybeAppPasswordPermissions compared getErrorName against
'TokenInvalid', a code the PDS never sends - the string fallback was
doing all the work. The real wire shape is the GENERIC 'InvalidToken'
code (also used for malformed/expired tokens) with the app-password
specifics only in the message, so the typed path now matches code AND
message ('Bad token scope' / 'Bad token method').
Deactivated and DeactivateAccountDialog used raw switch(e.message)
equality; both now go through the helper. Tests updated to pin the
actual PDS wire shape (and reject plain malformed-token errors).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Remove enablement
* Refactor context and filtering
* Fix imports, simplify transports config
* Migrate usages of debug context
* Re-org, add colors and grouping to console logging
* Remove temp default context
* Remove manual prefix
* Move colorizing out of console transport body
* Reduce reuse
* Pass through context
* Ensure bitdrift is enabled in dev
* Enable Sentry on web only
* Clean up types
* Docs
* Format
* Update tests
* Clean up tests
* No positional args
* Revert Sentry changes
* Clean up context, use it, pass metadata through to Bitdrift
* Fix up debugging
* Clean up metadata before passing to Bitdrift
* Correct transports
* Reserve context prop on metadata and include in transports
* Update tests
* Rename logout to logoutEveryAccount
* Add logoutCurrentAccount()
* Make all "Log out" buttons refer to current account
Each of these usages is completely contextual and refers to a specific account.
* Add Sign out of all accounts to Settings
* Move single account Sign Out below as well
* Prompt on account removal
* Add Other Accounts header to reduce ambiguity
* Spacing fix
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Update types
(cherry picked from commit 27deac1f367825771ba76fa098ec1b0a62dcf64a)
* Integrate into deactivate dialog
(cherry picked from commit 84f299a447259cc1fbfc7be607e28197779e4ec1)
* Integrate into Deactivated screen
(cherry picked from commit 29193f34822ecdf11e2a407197fa230285dfe846)
* Bump api sdk
(cherry picked from commit 738c622d3e5a23bfbb0d3bdce3a6bdf01e54ca60)
* Update permalink
(cherry picked from commit c10bf5c071d76c3054bc4ce9d313c10b1820f038)
* Bump sdk pkg
* Update types to match backend
* Loosen types for forwards compat
* Hydrate status from persisted data
* Refresh session when re-activating, clear query cache
* Show app password error
* Refactor dialog to clear state when closed
* Add app password error to Deactivated screen