Add web OAuth callback, device pairing, and identity safeguards
Wire the browser OAuth flow end-to-end: callback page strips auth
code from URL, exchanges it for DPoP-bound tokens, detects existing
encryption identities, and routes to either the cabinet or the new
device management page.
Add device pairing pages for both requesting (new device) and
approving (existing device) identity transfers via PDS relay, with
ephemeral X25519 keypairs and fingerprint verification.
Unify CLI identity setup between legacy and OAuth login paths into
a shared ensure_identity_and_publish function. Add --force flag with
destructive confirmation prompt for overriding existing identities.
Infrastructure: extract shared crypto worker singleton, add
console_log/panic_hook bridge for Rust log to browser console, add
DPoP nonce retry and token refresh to authenticated XRPC calls.
sans-self.org
a441a92c
37b5e52d