evgeny
f91894aa1b
Expose verified stream sources and channel watch events
2026-10-12 21:57:20 +02:00
evgeny
9aa56e6b56
Show NAT profile origin and recheck interface STUN from control
2026-10-12 00:58:50 +02:00
evgeny
ff69552a61
Measure owned endpoint mapping and inbound reachability separately
2026-10-12 00:01:40 +02:00
evgeny
a62540800b
Cancel local streams when signed membership is invalidated
2026-10-12 00:01:39 +02:00
evgeny
30106c8f93
Attach stream subscriptions to CHAT lifecycle and member profiles
2026-10-12 00:01:39 +02:00
evgeny
a33666b778
Add atomic updates for signed member profile options
2026-10-12 00:01:38 +02:00
evgeny
dc0dbbf720
headless: expose OS-assigned control and audio listener ports
2026-10-10 15:51:04 +02:00
evgeny
5a9e61164b
Measure uasync CPU load and display it in desktop and Android GUIs
...
Sample thread CPU usage without waking idle loops, expose a one-second moving average, and refresh compact GUI indicators at 3 Hz while visible on Android. Add load and bridge regression coverage, streaming notes, and task list cleanup.
2026-10-10 12:31:13 +02:00
evgeny
44af542f61
chatgui: add radio activation by signal level with hysteresis
2026-10-08 17:53:16 +02:00
evgeny
68037b25a5
Store signed replies by message ID and confirm channel submissions
2026-10-08 00:20:48 +02:00
evgeny
99e9b1ae85
Define channel reply references and submission result events
2026-10-08 00:19:35 +02:00
evgeny
f2e35da1fe
Wire notification platform dependencies and event diagnostics
2026-10-07 15:55:39 +02:00
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
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
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
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
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
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