evgeny
e5a1fc5a48
Start and stop attachment key owner with chat service
2026-10-18 02:13:54 +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
7f9eef8579
Add shared absolute video playout scheduler with bounded audio phase
2026-10-15 15:54:53 +02:00
evgeny
96e8f6c0ac
Test real decoder fixtures and malformed video parameter sets
2026-10-14 23:13:25 +02:00
evgeny
ce2560ef4b
Wire shared video validator and log negotiated profiles
2026-10-14 23:08:46 +02:00
evgeny
57a59df983
Bind shared call video port to desktop and Android core lifetime
2026-10-14 22:36:03 +02:00
evgeny
b466ec30e3
Acknowledge video capabilities before sending frame data
2026-10-14 20:48:58 +02:00
evgeny
b00c6a2b6d
Test call video negotiation and frame wire boundaries
2026-10-14 20:44:42 +02:00
evgeny
801050bacb
Exercise video rate feedback with simulated channel changes
2026-10-14 18:41:33 +02:00
evgeny
859bb733af
Build and test router delivery history boundaries
2026-10-14 18:33:05 +02:00
evgeny
f5d112a712
Share bounded media publication and send telemetry across frontends
2026-10-14 02:32:14 +02:00
evgeny
cd8a5392d5
Expose source codec selection and aggregate send telemetry through JNI
2026-10-14 01:09:30 +02:00
evgeny
b6652c7c7f
Record unique acknowledged packets at the instance transport boundary
2026-10-14 01:06:56 +02:00
evgeny
f655f2c1d5
Keep playback audio compatible with the Android voice build
2026-10-13 22:46:02 +02:00
evgeny
dc7cebaa65
Register indexed media reads and retain only two working blocks
2026-10-13 22:12:51 +02:00
evgeny
2fac28b7e9
Build and register the shared stream playback controller test
2026-10-13 22:04:16 +02:00
evgeny
5c23c10c04
Register audiovisual stream sources and regression target
2026-10-12 01:46:06 +02:00
evgeny
ff69552a61
Measure owned endpoint mapping and inbound reachability separately
2026-10-12 00:01:40 +02:00
evgeny
ef48fa2a37
Enable automatic upstream selection for subscriptions with lifecycle-safe cleanup
2026-10-12 00:01:39 +02:00
evgeny
e90ad5acbd
Account stream demand and confirm sustained queue pressure
2026-10-12 00:01:39 +02:00
evgeny
c2179b3959
Implement NCD stream issuances, ring cursors and routed reverse
2026-10-12 00:01:39 +02:00
evgeny
b31aa9f71d
Retain stream block paths and locate gaps in ring delivery
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
ec82d95a03
Add signed FEC stream core and source buffering
2026-10-12 00:01:38 +02:00
evgeny
2c5deafe56
Add independent STUN NAT probes with RFC 5780 discovery
2026-10-11 23:35:47 +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
48d7f2b21b
Build poll modules and adapt media insertion callbacks
2026-10-06 21:24:53 +02:00
evgeny
6437bf780b
Include feedback source in the core library source list
2026-10-06 20:09:48 +02:00
evgeny
8121f93d2e
Build feedback model and expose committed state events
2026-10-06 20:06:38 +02:00
evgeny
56897368b3
Own group avatar synchronization in the chat service lifecycle
2026-10-06 13:41:55 +02:00
evgeny
78a655bb05
Add asynchronous member file storage and desktop browser
2026-10-05 18:44:58 +02:00
evgeny
ba7146f90a
Fix HTTP proxy framing, keep-alive and stream lifecycle
2026-10-05 09:27:23 +02:00
evgeny
20a1211e09
Add GPLv3 licensing and bundle third-party notices
2026-10-04 14:18:18 +02:00
evgeny
1b3794e9f9
Include common attachment preparation in both core targets
2026-10-01 17:50:46 +03:00
evgeny
c7310e1fad
Register shared voice encoding in core build targets
2026-10-01 17:43:10 +03:00
evgeny
72d1d3f582
Validate PM attachment metadata before committing messages
2026-10-01 17:41:19 +03:00
evgeny
55c9d79a01
Integrate atomic media registration and orderly transfer/worker shutdown
2026-10-01 15:53:53 +03:00
evgeny
3d0ab35efe
Register file transfer and DM media services in the common core
2026-10-01 15:22:10 +03:00
evgeny
1176411b79
radio: Silero VAD + auto-PTT; chatgui/android: app icon and background
2026-09-29 16:19:25 +03:00
evgeny
e1946b208d
Preserve proxy TCP streams across connect, backpressure and FIN
2026-09-29 04:00:34 +03:00
evgeny
3e25bcef02
Refactor Merkle sync into bounded bidirectional rounds with atomic member updates
2026-09-27 14:44:39 +03:00
evgeny
3131dcbb7c
Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing
2026-09-27 02:51:47 +03:00
evgeny
d237dfec7c
diag: кольцевой трейс вызовов teardown + дамп при SIGSEGV (размотка UAF link close)
2026-09-22 20:52:02 +03:00
evgeny
b96ed8bd00
radio: PTT-радио в каналах (src/radio + chatgui + chatgui-android)
...
Новый модуль src/radio (radio/radio_audio/radio_headless) — push-to-talk
радио поверх topo-групп, доставка аудио в канал, headless-режим и тесты.
Интеграция в chatgui (ptt_hotkey_manager, radio_audio_engine, радионастройки,
вызовы) и chatgui-android (RadioAudioEngine, RadioOverlayService, UI).
2026-09-19 17:09:00 +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
evgeny
75e39d2fee
chat_join: модуль join-протокола, invite-ссылки v2, синхронизация мемберов
2026-09-14 19:57:27 +03:00
evgeny
d0dfa97a47
transport: SOCKS5-прокси для ETCP-линков (CONNECT + UDP ASSOCIATE + пинги)
2026-09-14 00:24:11 +03:00
evgeny
ddfffad1ed
conn: сопоставление сокетов по ролям (direct/nat/local) + hairpin; NTP-детект оффлайна
...
- sock_match: единая классификация сокетов (DIRECT/NAT/LOCAL) и адресов (PUB/PRIV/UNREACH)
- eim приравнен к direct; на приватный адрес — только с приватного интерфейса;
оба EIM за одним NAT (одинаковый публичный IP) — только через LAN
- topo_node: LOCAL-сокеты рекламируются (INTERFACE), private скрыт,
NAT-адрес не рекламируется для strict и при оффлайне
- ntp: флаг reachable по циклам + пере-анонс nodeinfo при смене доступности
- cm_direct_add_links / ncd_create_links / conn_match_candidate_sockets на sock_match
- test_sock_match: unit-тесты классификации и сопоставления
2026-09-13 16:48:00 +03:00