evgeny
92ce2d84e9
Describe preview lease transfer, callback cancellation and physical cleanup retries
2026-10-29 13:34:24 +01:00
evgeny
b2b34df2ec
Document video receive cleanup acknowledgments and host fault coverage
2026-10-29 13:34:24 +01:00
evgeny
99ab91d2f5
Clarify router cleanup as a native audio teardown prerequisite
2026-10-29 13:34:24 +01:00
evgeny
bc6ca78ce8
Document retained router resources and shared session close acknowledgments
2026-10-29 13:34:23 +01:00
evgeny
1da06164e2
Document retryable call audio shutdown and device ownership
2026-10-29 13:34:23 +01:00
evgeny
a1c77268b8
Document retained call service cleanup, retry policy and native core teardown barriers
2026-10-29 13:34:23 +01:00
evgeny
a65385bbb1
Keep radio outcomes separate from the live stream foreground notification
2026-10-29 13:34:23 +01:00
evgeny
4de7d7ec9d
Document overlay service handshake, window cleanup and gesture error ownership
2026-10-29 13:34:23 +01:00
evgeny
6d5b2bd176
Record distinct radio core availability and busy outcomes
2026-10-29 13:34:23 +01:00
evgeny
8100ea728e
Document Android radio invitation ownership, UI phases and fault checks
2026-10-29 13:34:23 +01:00
evgeny
7810137eb0
Handle playback cancellation and document complete radio failure recovery
2026-10-29 13:34:23 +01:00
evgeny
128af68a89
Invalidate radio settings before reconfiguration and log failed attempts
2026-10-29 13:34:23 +01:00
evgeny
bb8518ab67
Document radio startup completion and independent cleanup contracts
2026-10-29 13:34:23 +01:00
evgeny
7780922353
Document radio PTT release fallback and native command coverage
2026-10-29 13:34:22 +01:00
evgeny
9d6018cdbb
Describe radio manual holds and independent speaker indication
2026-10-29 13:34:22 +01:00
evgeny
6a82192b02
Document ringback and notification playback ownership contracts
2026-10-28 14:43:27 +01:00
evgeny
512a87502b
Document ringtone resource ownership and cleanup retry contracts
2026-10-28 14:43:27 +01:00
evgeny
d67991d08a
Avoid repeated alert cancellation after successful lifecycle cleanup
2026-10-28 14:43:27 +01:00
evgeny
3a6ef25ca6
Document requested locales and notification language refresh contracts
2026-10-28 14:43:27 +01:00
evgeny
5e0ed8b077
Document battery exemption query and settings request contracts
2026-10-28 14:43:27 +01:00
evgeny
3c5a9410ec
Clarify retained LAN delivery state after core shutdown
2026-10-28 12:28:28 +01:00
evgeny
25dda68ecf
Document LAN invitation framing and server link preview contracts
2026-10-28 12:28:28 +01:00
evgeny
e32e4be28b
Document JNI log encoding and failure containment contracts
2026-10-28 12:28:28 +01:00
evgeny
8268c5112c
Describe Android log retention and diagnostic output contracts
2026-10-28 12:28:28 +01:00
evgeny
1359247e3f
Describe recording codec checks and JPEG quality preview
2026-10-28 12:08:07 +01:00
evgeny
2ac483f10f
Document image attachment metadata and shared Android camera ownership
2026-10-28 12:08:06 +01:00
evgeny
7eaeb0e2f9
Preserve documentation audit and Android bridge fixes
2026-10-27 13:17:22 +01:00
evgeny
38c9f229bc
stcp: ed25519 pubkey exchange in handshake, fix instance destroy segfault, fix chat_tcp_test
...
- u_async.c: process immediate_queue BEFORE epoll_wait in uasync_poll
- stcp_link.c: defensive NULL etcp_conn/etcp_link in stcp_link_close
- utun_instance.c: move stcp_server_list_destroy_all to Phase J (before ETCP),
add deferred drain in both Phase J and L
- stcp.h/c: STCP_HS_ENC_CLIENT 6→38, STCP_HS_ENC_SERVER 7→39,
exchange ed25519_pubkey in both handshake directions
- etcp_connections.c: copy peer_ed25519 from STCP to ETCP_CONN in
etcp_link_enter_ready_tcp; guard link->etcp in tcp_link_close_cb
- chat_sync.c: fix lk->conn NULL dereference for TCP links
- test_stcp.c: update stcp_server_create/stcp_client_connect callsites
- tools/chat_tcp_test: change transport udp→tcp
2026-08-07 00:48:27 +03:00
evgeny
d773f1724a
refactor: STCP connections as ETCP links (is_tcp)
...
- Add is_tcp, tcp_link, tcp_reconnect_* fields to ETCP_LINK
- Remove transport_link from ETCP_CONN, add tcp_link_count
- stcp_link: replace embedded etcp_conn with pointer; add etcp_link backpointer
- stcp_link: link_rx_cb routes ETCP data to etcp_conn_input
- stcp_link: call on_close_cb in close
- New TCP functions: etcp_link_enter_ready_tcp, etcp_tcp_link_start_connect,
etcp_tcp_link_start_reconnect, tcp_link_close_cb, etcp_tcp_send
- etcp_link_new: handle NULL conn for TCP links; skip enter_init for TCP
- etcp_link_close: close stcp_link for TCP
- etcp_encrypt_send: redirect TCP to etcp_tcp_send (skips AES-CCM)
- tcp_server_on_link: create ETCP_LINK(is_tcp=1) + enter_ready_tcp
- etcp_connect: TCP addrs -> etcp_tcp_link_start_connect
- Remove ctx->tcp_link/tcp_ready
- test_stcp_traffic: find stcp_link via links->is_tcp instead of transport_link
- 66/68 tests pass; 2 STCP tests expected to fail (integration not complete)
2026-08-06 22:14:32 +03:00
evgeny
9e58160480
android: initial chatgui-android project with QR join
...
- libutun_lite: C99 core, invite_link_c.h/c (compatible with desktop)
- jni_bridge: android_jni_bridge.c/h with logcat logging
- app: Jetpack Compose UI, CameraX + ML Kit QR scanner
- JoinChannelDialog, QrScanScreen with proper camera lifecycle
- headless: control socket with join command
- OpenSSL prebuilt libs for arm64-v8a + x86_64
2026-07-27 22:50:29 +03:00