Commit Graph
2650 Commits
Author SHA1 Message Date
evgeny 15406c8e8a headless: expose DM mode selection and explicit attachment actions 2026-11-03 13:42:01 +01:00
evgeny 12b9841fca dm: retain conversation identity in errors and expiration events 2026-11-03 13:41:07 +01:00
evgeny 25d2ac981e dm: support colocated endpoint and storage with independent file lifetimes 2026-11-03 13:33:22 +01:00
evgeny c9b71ee1c9 media: allow independent revocation of endpoint and custody transfers 2026-11-03 13:32:27 +01:00
evgeny 8a6a2072aa dm: keep invitations in the selected conversation mode 2026-11-03 13:25:27 +01:00
evgeny c2aafaf349 dm: honor pinned parties for calls and retry missing local files 2026-11-03 13:24:43 +01:00
evgeny d0f7b2a364 dm: expose delivery facts and archived conversation state to clients 2026-11-03 13:21:41 +01:00
evgeny 22c6550f7e Return committed conversation IDs and correlate DM start requests 2026-11-03 13:10:59 +01:00
evgeny d03c15cfce Initialize custody schema at the coordinator ownership boundary 2026-11-03 13:09:26 +01:00
evgeny 2d394ae74c Exercise explicit autoload and all-recipient retention in media regressions 2026-11-03 13:05:24 +01:00
evgeny ad73cf4097 Restore delivery snapshots for saved direct-message attachments 2026-11-03 13:04:39 +01:00
evgeny 85c9213576 Expose explicit download and successful user-open actions for DM files 2026-11-03 13:04:08 +01:00
evgeny 89b435e72c Honor local auto-download settings and persist storage demand independently 2026-11-03 13:03:25 +01:00
evgeny bfd14abdbb Probe all online attachment sources and choose the lowest measured RTT 2026-11-03 13:02:20 +01:00
evgeny c5c6d96384 Apply storage policy before cancellation and physical retirement 2026-11-03 13:00:16 +01:00
evgeny d5f3f74ba5 Freeze custody expiry and deletion policy at the first reservation 2026-11-03 12:59:35 +01:00
evgeny b700763062 Coordinate custody using device facts and the storage node policy 2026-11-03 12:58:57 +01:00
evgeny 1dcd2f1ce6 Separate file custody requests from per-device message mailboxes 2026-11-03 12:57:54 +01:00
evgeny 093bd92bad Define independent custody requests and source availability probes 2026-11-03 12:57:37 +01:00
evgeny 5013fc22d8 Commit verified file receipts separately from message delivery 2026-11-03 12:54:43 +01:00
evgeny 9ba34b0faa Validate downloaded and opened facts against the signed device snapshot 2026-11-03 12:54:07 +01:00
evgeny bd1e00e894 Initialize shared media schema and expose delete-on-open policy 2026-11-03 12:53:04 +01:00
evgeny cf12ee03fa Add per-device file facts and frozen storage policy to the schema 2026-11-03 12:52:55 +01:00
evgeny 7e7e670c0d Decrypt attachment key envelopes and retain verified ciphertext 2026-11-03 12:51:34 +01:00
evgeny de94b5bbaf Prepare attachments with an independent keypair and both party wraps 2026-11-03 12:51:10 +01:00
evgeny a33a913dbe Test subgroup DM fanout, author isolation, and atomic exit 2026-11-03 12:49:40 +01:00
evgeny 3899e091d1 Connect subgroup exit to DM closure and record sequence scope 2026-11-03 12:48:38 +01:00
evgeny a053d83a60 Cancel unfinished DM files when the local subgroup is left 2026-11-03 12:48:20 +01:00
evgeny a587e8dfdd Archive subgroup conversations atomically on membership exit 2026-11-03 12:47:46 +01:00
evgeny a1dd1fda75 Preserve empty device content types with an explicit context flag 2026-11-03 12:39:46 +01:00
evgeny d840688e96 Bind receipt mode and preserve device-mode GUI tests 2026-11-03 12:37:08 +01:00
evgeny 1b87f3efe9 Deliver immutable messages per device with ACK deadline fallback 2026-11-03 12:36:14 +01:00
evgeny 452f5b4169 Expose DM mode and resolved conversation ID to headless clients 2026-11-03 12:34:21 +01:00
evgeny 8f4fec4247 Open fixed DEVICE or GROUPS conversations through the core 2026-11-03 12:33:57 +01:00
evgeny 7e508f720d Accept subgroup messages and distinguish own device replicas 2026-11-03 12:32:53 +01:00
evgeny 02087b1878 Store exact DM bodies with author identity and replay proofs 2026-11-03 12:31:14 +01:00
evgeny 5b734b9d83 Load pinned conversation keys from device-protected history 2026-11-03 12:30:41 +01:00
evgeny b3460e2039 Build DM schema and require OpenSSL HPKE support 2026-11-03 12:26:39 +01:00
evgeny 451c66ede3 Use HPKE for per-attachment key pairs and two key envelopes 2026-11-03 12:25:32 +01:00
evgeny db8f3622d9 Add atomic DM schema migration and durable author sequence 2026-11-03 12:23:09 +01:00
evgeny 0ae66896bc Locate media through the common DM message view 2026-11-03 12:19:41 +01:00
evgeny 0573949808 Use shared bounds parser for DM body lengths 2026-11-03 12:19:05 +01:00
evgeny 2d8d57be47 Add common DM parser and signed subgroup recipient context 2026-11-03 12:18:25 +01:00
evgeny d81b3139fa Verify frozen device membership certificates independently 2026-11-03 12:17:30 +01:00
evgeny 998e2dbb45 Keep recipient signature verification linear in device count 2026-11-03 12:11:52 +01:00
evgeny 8a08730be7 Expose verified membership without scanning subgroup profiles 2026-11-03 12:11:25 +01:00
evgeny cf2880596c Reject ambiguous DM parties sharing an identity 2026-11-03 12:09:56 +01:00
evgeny 26c8f7aa5a Build DM identity module and reject conflicting group keys 2026-11-03 12:07:47 +01:00
evgeny 58896d179e Add typed DM parties and verified recipient snapshots 2026-11-03 12:06:14 +01:00
evgeny bc2ac140a8 Require reciprocal PIN confirmation before device key transfer 2026-11-03 01:31:47 +01:00