Commit Graph
2775 Commits
Author SHA1 Message Date
evgeny d548e31c1d Publish staged results only when the database commit succeeds 2026-11-04 00:57:02 +01:00
evgeny 70a5f0345f Preserve separately signed owner revocations when repairing invalid profiles 2026-11-04 00:55:22 +01:00
evgeny e162b60961 Allow policy edits against the published snapshot during parallel receives 2026-11-04 00:54:18 +01:00
evgeny 45064e2f33 Remove obsolete group-wide pending admission checkpoint 2026-11-04 00:53:18 +01:00
evgeny a13a6e0941 Check current admission before resuming dependent synchronization 2026-11-04 00:52:48 +01:00
evgeny 8201b075f4 Use one transactional receive path for MEMBERS and revalidate after publication 2026-11-04 00:52:38 +01:00
evgeny c02d5a6cfc Prevent invalid old versions from winning freshness comparisons 2026-11-04 00:48:23 +01:00
evgeny 7319f900c4 Exercise concurrent member versions, fallback, SQL rollback and restart 2026-11-04 00:46:27 +01:00
evgeny 1aa528d352 Authorize member disclosure separately from recovery requests and clean abandoned versions 2026-11-04 00:45:06 +01:00
evgeny fcff5c626b Connect MEMBERS to staged receive and publish only actual version changes 2026-11-04 00:43:50 +01:00
evgeny 81bba75d02 Stage each member exchange separately and validate versions before atomic publication 2026-11-04 00:42:39 +01:00
evgeny 592b6e1b75 Verify prospective invitation chains without publishing node identities 2026-11-04 00:38:17 +01:00
evgeny 3481e2fe69 Project member admission inside the caller transaction and notify after commit 2026-11-04 00:33:40 +01:00
evgeny 81bd4ae982 Publish staged data safely after leaving the Merkle state transition 2026-11-04 00:32:50 +01:00
evgeny 017db6bb2d Read only published membership for attachment roles and invitations 2026-11-04 00:32:08 +01:00
evgeny 33e403ab44 Prevent pending member versions from affecting radio and stream state 2026-11-04 00:32:08 +01:00
evgeny 278d46b985 Keep file and media roles independent of in-progress member sync 2026-11-04 00:32:08 +01:00
evgeny 9e526ab003 Exclude unverified membership versions from personal service routes 2026-11-04 00:31:30 +01:00
evgeny a45e6a3b12 Keep JOIN and feedback on published membership versions 2026-11-04 00:31:01 +01:00
evgeny cfd8ea055e Keep pending member profiles out of frontend reads and local edits 2026-11-04 00:31:01 +01:00
evgeny 0b4bb1659a Exclude pending member versions from Merkle and admission 2026-11-04 00:30:30 +01:00
evgeny bd175ac87f Keep per-record fallback distinct from membership revocation 2026-11-04 00:29:59 +01:00
evgeny b0c762aea7 Introduce per-exchange member versions in the existing peers table 2026-11-04 00:28:54 +01:00
evgeny c3b6a70bfb Complete receive-only Merkle exchange with deferred publication 2026-11-04 00:04:55 +01:00
evgeny d1d00c1393 Document agreed deferred member verification lifecycle 2026-11-03 23:52:45 +01:00
evgeny a4243328cc Preserve interrupted Merkle draft before member versioning 2026-11-03 23:43:24 +01:00
evgeny 6b11e9f167 Cover stale keys and queued Merkle revocation with diagnostics 2026-11-03 23:21:44 +01:00
evgeny 58c47bb24f Require current CHAT admission for history and sound settings 2026-11-03 23:19:22 +01:00
evgeny 0b3e23746b Exercise fresh storage attempts and late refusals over real routes 2026-11-03 23:00:52 +01:00
evgeny 586f19faf5 Validate immutable assignment replies and test probe route revocation 2026-11-03 23:00:07 +01:00
evgeny d44dd362d3 Cancel personal file probes when their group admission is revoked 2026-11-03 22:56:48 +01:00
evgeny bfc8e26431 Retry rejected storage with a fresh durable assignment 2026-11-03 22:55:34 +01:00
evgeny 27b0166324 dm: enforce monotonic storage decisions and update fault scenarios 2026-11-03 22:43:20 +01:00
evgeny 515da0304c dm: accept authenticated mailbox conversations without a direct shared group 2026-11-03 22:41:23 +01:00
evgeny 13d838988e dm: bind custody replies to persisted assignment identities 2026-11-03 22:37:35 +01:00
evgeny 1d0459534d dm: track storage requests separately from shared immutable copies 2026-11-03 22:33:44 +01:00
evgeny 75ab57798e dm: define durable storage request identities and scoped source expiry 2026-11-03 22:29:37 +01:00
evgeny 18c85dc44f dm: remove persisted CHAT routes from private media and custody 2026-11-03 22:23:55 +01:00
evgeny 710a9de15c dm: keep private file identity and source records independent of routes 2026-11-03 22:22:50 +01:00
evgeny a9e05ed8e3 dm: authorize media objects separately from their CHAT routes 2026-11-03 22:19:35 +01:00
evgeny d14555db46 test: exercise private mailbox across pairwise CHAT groups 2026-11-03 22:16:17 +01:00
evgeny c09ab9f344 dm: initialize mailbox schema independently of the direct service 2026-11-03 22:14:16 +01:00
evgeny 29013ebccc dm: route mailbox delivery by each pair of node identities 2026-11-03 22:13:29 +01:00
evgeny 3c58fc80e3 dm: resolve service roles independently of delivery routes 2026-11-03 22:11:46 +01:00
evgeny 47e0c99f64 Authorize DM delivery and route selection by current group admission 2026-11-03 21:47:58 +01:00
evgeny 27eb0fa546 Authorize file transfers before I/O and revoke active group operations 2026-11-03 21:41:49 +01:00
evgeny 0e78c1280b Keep cancelled key requests paused during media backfill 2026-11-03 21:13:00 +01:00
evgeny 3d60298d21 Commit channel deletion before stopping its runtime work 2026-11-03 21:07:08 +01:00
evgeny f3cff571dc Authorize attachment key exchange and cancel durable revoked work 2026-11-03 21:00:59 +01:00
evgeny 0c5c5c03ca Authorize CHAT multicast traffic and revoke queued deliveries 2026-11-03 20:52:37 +01:00