Commit Graph
35 Commits
Author SHA1 Message Date
evgeny a33a913dbe Test subgroup DM fanout, author isolation, and atomic exit 2026-11-03 12:49:40 +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 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 9d48821af2 Own message list requests and acknowledge PM text persistence 2026-10-28 00:59:00 +01:00
evgeny fd82e7bf1b Tag DM history snapshots with conversation generation 2026-10-26 22:11:39 +01:00
evgeny d09ed0316f Preserve UTF-8 boundaries in DM peer names 2026-10-26 17:27:18 +01:00
evgeny b6588d0594 Preserve DM state on database failures and document contracts 2026-10-26 16:55:20 +01:00
evgeny b4ef4ec919 Switch message cipher consumers to shared media API 2026-10-18 02:08:52 +02:00
evgeny be295f768c feat(chat): add local DM deletion and improve Android member list
Delete local conversations atomically, retain replay protection and sequence counters, and guard asynchronous media work by history generation. Add Android avatar menu and confirmation, persistent file cleanup, and regression coverage.

Fix unnamed member wire padding and compact Android member action spacing.

Validation: 158 core tests passed; targeted DM tests, desktop build, Android unit tests and debug APK build passed.
2026-10-18 02:04:05 +02:00
evgeny b16a4995b7 logging: quiet routine audio and route polling, report audio recovery 2026-10-07 21:09:46 +02:00
evgeny af27eaa33b Size invitation JSON buffers to the escaping contract 2026-10-04 18:11:54 +02:00
evgeny 306aaa94ba Carry encrypted group name metadata in PM invitations 2026-10-04 18:06:26 +02:00
evgeny 0e5778c013 Reuse PM automatic route resolution and check persistence after successful send 2026-10-04 15:50:38 +02:00
evgeny 2afb7268a1 Restore PM group route and verify messaging after invite JOIN 2026-10-04 15:46:14 +02:00
evgeny 6f99ad3103 Add cancellable PM invitation operation with correlated results 2026-10-04 14:51:33 +02:00
evgeny 23368a5bbe Add Android boot startup, lazy settings, emoji and DM calls
Add battery optimization controls and configurable boot startup. Keep message sounds in the application and render general settings lazily to avoid ANRs. Add animated emoji controls and live BGP availability for direct-message calls on Android and desktop.
2026-10-02 17:18:24 +03:00
evgeny 72d1d3f582 Validate PM attachment metadata before committing messages 2026-10-01 17:41:19 +03:00
evgeny d9eee4e520 Bound and safely serialize PM conversation snapshots 2026-10-01 16:25:52 +03:00
evgeny 139356bd18 Deliver DM history snapshots asynchronously as JSON events 2026-10-01 16:00:39 +03:00
evgeny 1cdead18de Expose bounded DM history snapshots with text and media delivery state 2026-10-01 15:59:38 +03:00
evgeny 5e9a9059c8 Bind signed file descriptors to atomic DM enqueue and receive 2026-10-01 15:28:40 +03:00
evgeny 0e0f611d3c Check atomic DM enqueue rollback and explain sequence conflicts 2026-10-01 14:41:33 +03:00
evgeny 10de4f1c71 Commit DM activity timestamps together with message state 2026-10-01 14:28:47 +03:00
evgeny 3cdb3e6580 Create DM router streams before checking queue capacity 2026-10-01 14:24:18 +03:00
evgeny cc072cceb2 Persist DM outbox and verify exact delivery receipts 2026-10-01 14:14:46 +03:00
evgeny 21d9a4e5b7 dm: заполнять peer_name при автосоздании беседы (иначе в списке 0x...) 2026-09-16 20:26:55 +03:00
evgeny e4557b0473 dm: маршрутизация через общую группу (group_id), JSON-эскейпинг; звонки: иконки/UI в desktop и android 2026-09-16 15:05:48 +03:00
evgeny b11e77e4c0 call: P2P аудиозвонки — сигналинг, релей медиа, аудио-контур, headless/desktop/android
- src/call/: сигналинг (call.c, call_proto.h, ETCP_RT_ID_CALL 0x36) + релей медиа
  + headless аудио-сокет (call_headless.c, call_audio_bind) + Opus/jitter/тоны
- chat: события CHAT_EVT_CALL_* (34–40), CHAT_EVT_DM_MESSAGES (41), DM-трамплины
- chatgui: call window, miniaudio I/O, audio_frame_ring, test_audio_jitter
- chatgui-android: CallScreen/IncomingCallDialog, аудио-роутинг, JNI, рингтон
- tests: test_call, test_call_headless
2026-09-16 10:17:57 +03:00
evgeny 73fe99b33f dm: прямой обмен сообщениями (DM) + soundtouch + архитектура звонков
- src/dm/: dm_core/dm_crypto/dm_mailbox — прямой обмен сообщениями (DM)
- lib/soundtouch-master/: vendored SoundTouch (изменение темпа/высоты аудио)
- doc/dm_arch.md, doc/chat_call_arch.md: архитектура DM и звонков
- tests: test_dm.c, test_dm_e2e.c
- chat: рефакторинг chat_* модулей, member_sync, invite_build
- chatgui/chatgui-android: синхронизация с новым API чата
- lib/u_async, debug_config, utun_instance: сопутствующие изменения
2026-09-15 21:09:17 +03:00