evgeny
223c9a153c
Request the next video frame through JNI without a time horizon
2026-10-14 13:36:38 +02:00
evgeny
cd8a5392d5
Expose source codec selection and aggregate send telemetry through JNI
2026-10-14 01:09:30 +02:00
evgeny
e1abcb5d69
Observe actual silent device intervals when adapting playback history
2026-10-13 23:26:55 +02:00
evgeny
e6e276aed3
Expose shared playback timing and stereo time stretch to Android
2026-10-13 23:03:29 +02:00
evgeny
e06e9b0e22
Capture encode and play stereo audio in Android live streams
2026-10-13 14:15:44 +02:00
evgeny
6bd14c53b5
Compress stream audio before Opus using radio settings
2026-10-13 13:39:12 +02:00
evgeny
7fa7a42673
Expose native debug categories and fix Android level fields
2026-10-13 12:10:08 +02:00
evgeny
3a6dacf378
Add stream camera controls and preserve playback on changes
2026-10-13 01:00:53 +02:00
evgeny
dad67360b9
Remove obsolete Android stream polling and simplify lifecycle tests
2026-10-12 22:20:28 +02:00
evgeny
ba3dfa9fcc
Watch Android stream sources and validate selected epochs
2026-10-12 21:58:56 +02:00
evgeny
0c613eacbc
Show verified source snapshots without borrowing core pointers
2026-10-12 02:28:02 +02:00
evgeny
6f544b4ca2
Add Android JNI transport and independent stream Opus codecs
2026-10-12 01:51:10 +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
e97885eb22
Expose member file commands through Android JNI
2026-10-10 01:15:32 +02:00
evgeny
7f3247bfcc
radio: add activation controls, live VAD meters and signal diagnostics
2026-10-09 16:11:11 +02:00
evgeny
fddbba217d
android: add level-triggered radio and inline activation settings
2026-10-09 00:06:55 +02:00
evgeny
44af542f61
chatgui: add radio activation by signal level with hysteresis
2026-10-08 17:53:16 +02:00
evgeny
a1e8bfe80a
android: keep radio VAD blocked until AudioTrack plays the receive tail
2026-10-08 14:28:08 +02:00
evgeny
368f629948
android: expose reply submission and anchored history in bridge
2026-10-08 10:29:29 +02:00
evgeny
7e19cbaf3a
Add local per-member radio mute controls on desktop and Android
2026-10-07 13:35:25 +02:00
evgeny
8dc7595e46
Preserve Android feedback state and supplementary Unicode characters
2026-10-06 22:15:44 +02:00
evgeny
2c31e3fe03
Expose UTF-8 feedback commands and full message identities on Android
2026-10-06 21:43:21 +02:00
evgeny
6e9a50f2ec
Bridge Android avatar catalogs and per-object transfer limits
2026-10-06 19:37:45 +02:00
evgeny
eae3ef5c32
android: parse decimal channel IDs for avatar requests and group keys
2026-10-06 17:32:43 +02:00
evgeny
b3c0a2fa7b
android: harden avatar cache reads and refresh current download sources
2026-10-06 16:39:26 +02:00
evgeny
15d0772a20
android: preserve avatar references in JSON refresh and live member snapshots
2026-10-06 16:29:06 +02:00
evgeny
8efe075679
android: add asynchronous avatar JNI operations and wire models
2026-10-06 16:15:00 +02:00
evgeny
93c0c5bdfc
Show channel member inviter in Android details
2026-10-04 18:34:17 +02:00
evgeny
658c248867
Request Android member snapshots on the core thread
2026-10-04 16:00:41 +02:00
evgeny
81f8f6d4d0
Use asynchronous post API for invitation requests
2026-10-04 15:00:44 +02:00
evgeny
9bdfb93b50
Expose PM invitation operations and membership checks through JNI
2026-10-04 14:59:08 +02:00
evgeny
123b47c612
Improve Android VAD lifecycle, audio settings and diagnostics
2026-10-04 14:36:52 +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
bdcf8b5634
Сохрани накопленные исправления аудио, async и диагностики
2026-10-02 01:49:32 +03:00
evgeny
c863b80917
Validate Android voice streams and keep playback cancellation off UI waits
2026-10-01 19:09:07 +03:00
evgeny
fe9441d63b
Acknowledge Android PM file ownership only after native enqueue
2026-10-01 19:06:18 +03:00
evgeny
72233d2365
Quiesce Android capture before detaching PCM and consume PM cache files
2026-10-01 18:41:17 +03:00
evgeny
c58b92ecd7
Render typed PM media using shared Qt message roles
2026-10-01 17:57:43 +03:00
evgeny
8403697013
Post Android PM reads and file sends to the core event loop
2026-10-01 16:27:01 +03:00
evgeny
9e3a417059
Synchronize standby transitions and immediate keepalive phase announcements
2026-09-30 20:42:40 +03:00
evgeny
0d44ada922
Improve Android radio capture lifecycle, VAD and PTT controls
2026-09-30 12:25:42 +03:00
evgeny
f12f61d7ee
call: add SpeexDSP AEC (acoustic echo cancellation) for desktop + Android
2026-09-29 17:01:30 +03:00
evgeny
1176411b79
radio: Silero VAD + auto-PTT; chatgui/android: app icon and background
2026-09-29 16:19:25 +03:00
evgeny
ce1f23fe46
Radio: stereo capture/playback with mono fallback; CAMCORDER source; bump RADIO_MAX_OPUS
...
- stereo capture: Android AudioRecord stereo (CAMCORDER source for stereo,
voice sources fall back to CAMCORDER) + desktop separate miniaudio
capture/playback devices (no asymmetric duplex)
- Opus stereo encode/decode, voice_jitter stereo (per-channel frame_size,
slot-based SoundTouch)
- radio_audio_start takes explicit capture_channels (stereo->mono fallback)
- RADIO_MAX_OPUS 256->512 (128kbps stereo frames up to 320B)
- radio_capture_stereo setting + desktop radio settings UI (opus mode/bitrate,
capture stereo)
- radio_send_to send stats logging (etcp_send ok/fail per second)
2026-09-29 02:31:41 +03:00
evgeny
331970a121
Radio: Opus mode/bitrate + mic source + PTT release tail; drop online status from member JSON
2026-09-29 00:40:10 +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
cc0dcb071e
chat: UI настройки звука канала (Android toggle + JNI, desktop через C API) + trampoline
2026-09-22 01:25:55 +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
5293fdd3a9
call(android): звать call_audio_init перед start; логировать feed_pcm без instance
...
Без call_audio_init(inst) g_inst оставался NULL и call_set_audio_ops не
регистрировался: TX (feed_pcm) падал на !ua, RX (audio_ops->on_media) не
вызывался — тишина и спам 'callAudioFeed returned false'. Зеркалим desktop:
utun_bridge_call_audio_start теперь делает call_audio_init + call_audio_start.
2026-09-16 20:26:55 +03:00