Commit Graph

2 Commits

Author SHA1 Message Date
James (ClawdBot) 95a360354c Fix device identity: switch from ECDSA to Ed25519
- Add net.i2p.crypto:eddsa library for pure-Java Ed25519
- Rewrite DeviceIdentity to use Ed25519 (matches gateway protocol)
- Keys stored in EncryptedSharedPreferences instead of Android Keystore
- Public key format: 32 bytes raw, base64url-encoded
- Device ID: SHA-256 hash of raw public key
- Improved error handling in GatewayClient challenge flow
2026-01-28 18:42:31 +00:00
James (ClawdBot) 97a095e073 Fix: Implement proper Gateway WebSocket protocol
- Connect to /ws endpoint instead of /ws/node?token=...
- Handle connect.challenge event and send proper handshake
- Implement protocol v3 frame types (req/res/event)
- Add node.invoke command handling for gateway RPC
- Create DeviceIdentity for challenge signing (EC P-256 via Keystore)
- Declare caps: notifications, calls, voice
- Declare commands: notification.action/dismiss, call.answer/reject/speak/hangup
- Send proper responses for node.invoke requests
2026-01-28 05:24:48 +00:00