Commit Graph

55 Commits

Author SHA1 Message Date
Jeff Emmett 8e10f5cb03 fix: Add abort mechanism for conditional UI to prevent pending request errors
- Add global AbortController for conditional UI requests
- Call abortConditionalUI() at start of registerPasskey and authenticatePasskey
- Export abortConditionalUI from index for manual use if needed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 19:14:56 +00:00
Jeff Emmett 20a51e7dce fix: Explicitly import UI components in demo to ensure registration
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:58:45 +00:00
Jeff Emmett c18b84b7c9 fix: Build client-side JS bundle for demo page
- Add bun build step to create browser-compatible JS from TypeScript
- Update demo.html to import from /dist/index.js
- Update server to serve /dist/* for bundled modules

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:57:34 +00:00
Jeff Emmett e0b30e52ef fix: Add route for /demo.html page
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:54:14 +00:00
Jeff Emmett 72192007e6 feat: Add EncryptID unified identity system
Implements the EncryptID identity system for the r-ecosystem:

- WebAuthn/Passkey authentication with PRF extension for key derivation
- Client-side cryptographic key derivation (AES-256, ECDSA P-256, Ed25519)
- Social recovery system with guardians (no seed phrases!)
- Session management with authentication levels
- Cross-app SSO via Related Origin Requests
- Web components: login button and guardian setup panel
- Hono server for authentication endpoints
- Docker deployment configuration

Domain: encryptid.jeffemmett.com
RP ID: jeffemmett.com (for cross-subdomain passkey usage)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:48:19 +00:00