evgeny
|
261198ab47
|
Expose initial synchronization in channel message events
|
2026-10-07 15:53:39 +02:00 |
|
evgeny
|
7e19cbaf3a
|
Add local per-member radio mute controls on desktop and Android
|
2026-10-07 13:35:25 +02:00 |
|
evgeny
|
a069d11ef9
|
Protect REALITY STCP traffic with authenticated TLS-like records
|
2026-10-07 12:30:45 +02:00 |
|
evgeny
|
a49cf5434e
|
Add randomized ETCP padding and isolate STCP CTR streams per connection
|
2026-10-07 10:45:42 +02:00 |
|
evgeny
|
b1bf094bfd
|
Verify signed multi-reaction rejection and document the single-choice rule
|
2026-10-07 08:17:52 +02:00 |
|
evgeny
|
a444f28134
|
Enforce one reaction per author and replace the previous emoji atomically
|
2026-10-07 08:12:32 +02:00 |
|
evgeny
|
9299c95f10
|
Verify root formation and invitation certificate replication
|
2026-10-07 00:46:36 +02:00 |
|
evgeny
|
a9a65d53bf
|
Preserve invitation certificates and accept confirmed roots without profile changes
|
2026-10-07 00:44:50 +02:00 |
|
evgeny
|
2f5a49b011
|
Repair existing chat history tables with stable message IDs
|
2026-10-07 00:25:11 +02:00 |
|
evgeny
|
255853dd76
|
Document complete poll protocol and verified recovery behavior
|
2026-10-06 22:47:06 +02:00 |
|
evgeny
|
bbc8b7693a
|
Restart member and feedback synchronization over existing transports
|
2026-10-06 22:40:47 +02:00 |
|
evgeny
|
da2c13dcf1
|
Add CLI poll creation, voting and emoji reaction commands
|
2026-10-06 21:26:37 +02:00 |
|
evgeny
|
f99a8c1da2
|
Expose polls and reactions through headless control safely
|
2026-10-06 21:26:37 +02:00 |
|
evgeny
|
48d7f2b21b
|
Build poll modules and adapt media insertion callbacks
|
2026-10-06 21:24:53 +02:00 |
|
evgeny
|
17444b8c8a
|
Evaluate delayed answers after their source message arrives
|
2026-10-06 21:24:14 +02:00 |
|
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 |
|