Commit Graph
1347 Commits
Author SHA1 Message Date
evgeny 60b4870549 Pass stable identities to insertion callbacks and bound signed bodies 2026-10-06 21:24:13 +02:00
evgeny 865e4cda59 Log delayed answer validation and keep JSON percentages locale independent 2026-10-06 21:23:37 +02:00
evgeny e6db9fef60 Validate feedback data and provide poll command snapshots 2026-10-06 21:23:37 +02:00
evgeny 0af35630d1 Expose full message data and stable identities in listings 2026-10-06 21:17:24 +02:00
evgeny a4ca31f406 Return submitted message identity and encode JSON safely 2026-10-06 21:17:24 +02:00
evgeny d0aa60fe1a Define canonical poll, answer and reaction formats 2026-10-06 21:15:57 +02:00
evgeny d40f58d79a Add message identities and plan the remaining feedback work 2026-10-06 21:12:53 +02:00
evgeny 04ff801531 Document Merkle v3 and signed feedback state contracts 2026-10-06 20:11:25 +02:00
evgeny 6437bf780b Include feedback source in the core library source list 2026-10-06 20:09:48 +02:00
evgeny f6cc3b6e53 Make feedback roots depend on signed state and validate rebuilt keys 2026-10-06 20:07:44 +02:00
evgeny 982e5a06ab Integrate feedback tables with channel and sync lifecycle 2026-10-06 20:06:39 +02:00
evgeny 8121f93d2e Build feedback model and expose committed state events 2026-10-06 20:06:38 +02:00
evgeny 641a8318a8 Add signed versioned feedback storage and Merkle adapter 2026-10-06 20:05:18 +02:00
evgeny 864a250eea Preserve input cursor when member page outputs alias it 2026-10-06 20:02:41 +02:00
evgeny 49dc837df2 Correct all member dataset arguments in callers 2026-10-06 19:59:43 +02:00
evgeny f6bfd36a6c Include dataset identity in Merkle diagnostics 2026-10-06 19:57:58 +02:00
evgeny 894b24698e Update Merkle integration tests and channel index cleanup 2026-10-06 19:57:25 +02:00
evgeny 5e146f20bc Adapt member sync and protocol tests to dataset cursors 2026-10-06 19:56:52 +02:00
evgeny 539bfd6db9 Extend Merkle sessions with datasets and full record cursors 2026-10-06 19:56:17 +02:00
evgeny 17491082d4 Validate signed profile avatar manifest references 2026-10-06 19:29:42 +02:00
evgeny c80e82d104 Define member avatar references as manifest objects 2026-10-06 19:29:37 +02:00
evgeny 50efddd5f0 Allow immutable avatar originals and manifests in storage 2026-10-06 19:29:17 +02:00
evgeny fe03feaf4a Avoid the Win32 MF_REMOVE macro in the file protocol 2026-10-06 14:54:23 +02:00
evgeny e8365fdec6 Upgrade group avatar columns before notifying database readiness 2026-10-06 14:04:49 +02:00
evgeny 5c772aeecf Preserve channel identity in member adapter fixtures 2026-10-06 14:04:49 +02:00
evgeny 2bcba58131 Reject group avatar commands outside a running chat service 2026-10-06 13:59:17 +02:00
evgeny d0173e1b73 Test atomic schema upgrades and report precise avatar validation errors 2026-10-06 13:57:12 +02:00
evgeny f8d95fcb25 Initialize avatar peers from the current group session epoch 2026-10-06 13:52:19 +02:00
evgeny 3b47a56076 Trace group avatar assembly resets and block mismatches 2026-10-06 13:49:54 +02:00
evgeny a816b842e5 Read group avatar metadata separately from image bytes 2026-10-06 13:43:49 +02:00
evgeny 56897368b3 Own group avatar synchronization in the chat service lifecycle 2026-10-06 13:41:55 +02:00
evgeny f67f090b2a Synchronize signed group avatars in bounded 4 KiB blocks 2026-10-06 13:41:29 +02:00
evgeny e3745f279e Store signed group avatars without replacing channel keys 2026-10-06 13:37:18 +02:00
evgeny 8f83167c0f Forward full join profiles and document canonical profile lengths 2026-10-06 12:58:00 +02:00
evgeny 5276cd0fa0 Simplify profile updates and report database read failures 2026-10-06 12:54:44 +02:00
evgeny 80c81502fb Protect avatar paths across platforms and initialize join fixture nodes 2026-10-06 12:53:05 +02:00
evgeny d946a1b93a Finalize unsigned initial profiles before channel bootstrap 2026-10-06 12:48:20 +02:00
evgeny 8b327a3f27 Bound upload cache growth and reject stale transfer completions 2026-10-06 12:46:32 +02:00
evgeny 972910c763 Verify profile signatures survive avatar and display name updates 2026-10-06 12:45:45 +02:00
evgeny 9842de7ab7 Document avatar storage, profile exchange and client caching 2026-10-06 12:45:13 +02:00
evgeny c04f51d424 Use bounded 16-bit profile lengths in join member records 2026-10-06 12:44:18 +02:00
evgeny 76c02012eb Preserve complete signed profiles in channel bootstrap messages 2026-10-06 12:44:18 +02:00
evgeny 9279ded7f3 Read complete signed profiles and escape initial display names 2026-10-06 12:43:11 +02:00
evgeny f2d2e6be8f Test avatar immutability, hash validation and quota accounting 2026-10-06 12:40:07 +02:00
evgeny e642551dfe Expose signed storage roles independently of route priority 2026-10-06 12:38:11 +02:00
evgeny 8fb9129300 Verify large signed profiles alongside full owner records 2026-10-06 12:36:35 +02:00
evgeny 1988afa84d Notify profile changes with actual member properties 2026-10-06 12:33:26 +02:00
evgeny e8a3d5fa16 Bound avatar transfers and enforce immutable hashed uploads 2026-10-06 12:27:32 +02:00
evgeny cbb1a03ccd Define canonical avatar names and size limits 2026-10-06 12:27:32 +02:00
evgeny 61ef23b885 Include avatar references in member snapshots and change events 2026-10-06 12:27:07 +02:00