Commit Graph
38 Commits
Author SHA1 Message Date
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 a97e8bcc1f docs: update file inventory and module header contracts
Refresh both AGENTS guides and clarify module purpose, usage, ownership, threading, return values and wire formats in headers. Remove the unused timeout_heap freed_count field and unimplemented getter.
2026-10-04 13:10:01 +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 f2ff3ee5ab Report preparation rejection and release abandoned owned sources 2026-10-01 18:53:08 +03:00
evgeny 51a820ac82 Track PM encryption preparation and clean cancelled source files 2026-10-01 18:37:23 +03:00
evgeny 72d1d3f582 Validate PM attachment metadata before committing messages 2026-10-01 17:41:19 +03:00
evgeny 7b8e2cd96c Transfer temporary source ownership before launching PM workers 2026-10-01 17:40:49 +03:00
evgeny c1185b62c1 Carry typed encrypted metadata with PM file transfers 2026-10-01 17:39:48 +03:00
evgeny 18ee21cf93 Allow receipt-authorized custody cleanup after role revocation 2026-10-01 16:34:00 +03:00
evgeny d9eee4e520 Bound and safely serialize PM conversation snapshots 2026-10-01 16:25:52 +03:00
evgeny e562896d63 Define asynchronous conversation snapshots for PM clients 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 b47918fad5 Keep media publication and durable deletion off the event loop 2026-10-01 15:57:30 +03:00
evgeny 55c9d79a01 Integrate atomic media registration and orderly transfer/worker shutdown 2026-10-01 15:53:53 +03:00
evgeny d7a12b24bf Coordinate offline DM media custody and durable deletion on supernodes 2026-10-01 15:52:05 +03:00
evgeny 41fc5902be Implement durable DM downloads, media-node custody, quota and expiry 2026-10-01 15:47:05 +03:00
evgeny 84c148acff Prepare and publish target-encrypted DM files with exact media receipts 2026-10-01 15:42:02 +03:00
evgeny d559cbf473 Add configurable seven-day DM custody TTL and reserved storage quota 2026-10-01 15:36:31 +03:00
evgeny 5e9a9059c8 Bind signed file descriptors to atomic DM enqueue and receive 2026-10-01 15:28:40 +03:00
evgeny 27fa3a4812 Define independent DM media metadata, receipts and custody contracts 2026-10-01 15:27:44 +03:00
evgeny 0e0f611d3c Check atomic DM enqueue rollback and explain sequence conflicts 2026-10-01 14:41:33 +03:00
evgeny 467d2e7605 Prepare DM media as authenticated records using target key 2026-10-01 14:33:45 +03:00
evgeny 10de4f1c71 Commit DM activity timestamps together with message state 2026-10-01 14:28:47 +03:00
evgeny 794d7b70f3 Authorize DM custody by signed group role instead of NAT type 2026-10-01 14:27:54 +03:00
evgeny 3cdb3e6580 Create DM router streams before checking queue capacity 2026-10-01 14:24:18 +03:00
evgeny 5800902a42 Deliver offline DM through durable supernode custody 2026-10-01 14:18:50 +03:00
evgeny cc072cceb2 Persist DM outbox and verify exact delivery receipts 2026-10-01 14:14:46 +03:00
evgeny 67bbf80769 Fix DM CCM length setup and separate media nonces 2026-10-01 14:04:25 +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