Commit Graph
93 Commits
Author SHA1 Message Date
evgeny 12c0de503d Document installer builds and register packaging checks 2026-10-12 00:01:39 +02:00
evgeny 1b406202b5 Integrate installer generation into Windows build scripts 2026-10-12 00:01:39 +02:00
evgeny 2e9babe73b Build batch transfers and wait for cancellation on close 2026-10-10 01:38:54 +02:00
evgeny 17f5c0ecbd Cover footer file drops and upload queue lifecycle 2026-10-09 23:32:29 +02:00
evgeny 7f3247bfcc radio: add activation controls, live VAD meters and signal diagnostics 2026-10-09 16:11:11 +02:00
evgeny 44af542f61 chatgui: add radio activation by signal level with hysteresis 2026-10-08 17:53:16 +02:00
evgeny f054f9c8d9 test: cover radio receive guard timing and playback progress 2026-10-08 14:30:21 +02:00
evgeny 484d6f2fa4 Test signed replies, media completion and old-history lookup 2026-10-08 00:31:13 +02:00
evgeny efebf8c5e8 Fix settings drafts, enlarge avatars, and show desktop version 2026-10-08 00:04:41 +02:00
evgeny 6496448569 Verify radio speaker icons through the bridge and actual PTT/VAD 2026-10-07 19:03:48 +02:00
evgeny 4a7f37b920 Use independent X11 notification overlay across desktops 2026-10-07 16:57:01 +02:00
evgeny d62fae9e88 Verify notification desktop scope with a real window manager 2026-10-07 16:38:33 +02:00
evgeny 247479e411 Show Linux message notifications on all X11 desktops 2026-10-07 16:35:29 +02:00
evgeny 16a9094770 Test live message metadata and document notification limits 2026-10-07 16:01:22 +02:00
evgeny c6cb3f0e8e Test notification timing, replacement, and activity fallbacks 2026-10-07 15:58:10 +02:00
evgeny f2e35da1fe Wire notification platform dependencies and event diagnostics 2026-10-07 15:55:39 +02:00
evgeny e5d8c34514 Fix desktop uasync readiness for radio member mute requests 2026-10-07 13:49:06 +02:00
evgeny 7e19cbaf3a Add local per-member radio mute controls on desktop and Android 2026-10-07 13:35:25 +02:00
evgeny 918a3cc061 Merge chat polls and reactions into master 2026-10-06 23:08:07 +02:00
evgeny cf869770fb Add desktop poll creation, voting and live result dialogs 2026-10-06 21:39:13 +02:00
evgeny 96af98f063 Exercise avatar crop gestures, gallery navigation and EXIF originals 2026-10-06 19:58:36 +02:00
evgeny c4c11ad813 Build avatar UI and deploy the desktop WebP codec 2026-10-06 19:36:35 +02:00
evgeny a175129f93 chatgui: complete audio dependencies for composer integration tests 2026-10-06 19:04:31 +02:00
evgeny 9c7442544b chatgui: add Qt integration tests for file drops and recipient changes 2026-10-06 19:02:04 +02:00
evgeny 3d277349be Deploy the selected Qt version and recognize Windows system DLLs 2026-10-06 15:40:54 +02:00
evgeny 35ce2a2b93 Check group avatar encoding, rendering and key-based controls 2026-10-06 13:51:18 +02:00
evgeny 4062ecdfb1 Display group avatars and restrict editing to group key holders 2026-10-06 13:44:49 +02:00
evgeny eceb69c58e Test avatar publication, channel replication and persistent cache 2026-10-06 12:35:46 +02:00
evgeny 694ed8e263 Display cached user avatars in member lists and chat messages 2026-10-06 12:32:33 +02:00
evgeny 78a655bb05 Add asynchronous member file storage and desktop browser 2026-10-05 18:44:58 +02:00
evgeny 27d93ecaf9 Add English and Russian ChatGUI interface translations 2026-10-05 16:55:43 +02:00
evgeny 8feb7902b9 Search local rlottie build for its CMake package configuration 2026-10-05 14:15:25 +02:00
evgeny 394ac93dc4 Extract message links with explicit schemes and punctuation boundaries 2026-10-04 19:03:11 +02:00
evgeny 92b41ec300 Test wrapped message links and per-member invitation button hit targets 2026-10-04 15:38:10 +02:00
evgeny 6bc6d28e9e Add desktop group picker for PM invitations with ten minute notice 2026-10-04 14:53:59 +02:00
evgeny 20a1211e09 Add GPLv3 licensing and bundle third-party notices 2026-10-04 14:18:18 +02:00
evgeny 312c2dd386 Test desktop VAD panel through Qt buttons and real audio workers 2026-10-03 13:16:15 +03:00
evgeny 8820e9a3c9 Build desktop radio panel and retain audio recovery coverage 2026-10-03 13:13:28 +03:00
evgeny 1e9264735b Fix desktop hover and emoji playback; share Android chat background 2026-10-02 23:19:13 +03:00
evgeny bd082a26bf Раздели аудиопотоки и привяжи AEC к фактическому общему выходу 2026-10-02 10:22:34 +03:00
evgeny bdcf8b5634 Сохрани накопленные исправления аудио, async и диагностики 2026-10-02 01:49:32 +03:00
evgeny 05476fb102 Test Qt voice file validation and decoder cancellation 2026-10-01 18:56:57 +03:00
evgeny 2d21c53b4b Improve call buffering, CM handle lifecycle and radio PTT controls 2026-09-30 17:31:53 +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 2de554f8b9 call: единый голосовой стек (libutun_voice) + SoundTouch на Android
- voice_jitter (кодированные Opus-кадры + decode-on-pull + SoundTouch time-stretch)
  вместо PCM-буфера audio_jitter; излишек держится до декодирования
- call_audio.c/.h — единая реализация для desktop/Android/headless (C-интерфейс)
- libutun_voice (voice_sources.cmake): SoundTouch + voice_jitter + call_audio + call_tones
- Android: pull-модель (nativeCallAudioPull), убран Kotlin FIFO, ANDROID_STL=c++_static
- headless audio-сокет: PCM-протокол (decode-only, без тактирования), daemon остаётся C-only
- CALL_STATS расширен dropped/underruns; удалены audio_jitter.cpp и libutun_lite/call_audio.c
- тест test_voice_jitter (ёмкость/догон/стационар), test_call_headless переведён на PCM
2026-09-16 20:26:55 +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 c474c37284 chatgui/chatgui-android: просмотр изображений с зумом + инфо о медиа
- chatgui: просмотрщик изображений (ImageViewerWindow) с зумом/поворотом
- chatgui: отправка картинок как image с определением разрешения и типа
- chatgui: у видео-пузыря строка info (res·size·bitrate) и бейдж только длительность
- chatgui: контекстное меню медиа (сохранить в файл/скачать)
- chatgui-android: большие emoji-only сообщения, битрейт/разрешение у видео
- chatgui-android: сохранение неактивных интерфейсов как закомментированные секции
- chatgui-android: отправка картинок по расширению (jpg/png/gif/bmp/webp)
- photo_sender: content-type и расширение по типу файла
2026-09-09 16:18:26 +03:00
evgeny 74b17685f7 chatgui: фикс синхронизации кадров (часы не убегают вперёд при быстром декоде) + smoke-тест движка
- presentTick: кадры всегда по мастер-часам, завершение только когда очередь пуста
- clockMs: по окончании аудио часы в конец (хвостовые кадры не теряются)
- fallback на системные часы, если аудио-устройство недоступно
- tests/test_video_engine: smoke-тест FFmpeg-декодера (opened/frames/seek)
2026-09-08 01:00:38 +03:00
evgeny 6542618927 chatgui: воспроизведение видео — FFmpeg-плеер + frameless окно
- videoplayer_engine: декод в worker-потоке (FFmpeg), A/V sync по аудио-курсору,
  seek с epoch-защитой от устаревших кадров
- videoplayer_window: окно без рамки, drag-перенос, dblclick/Alt+Enter fullscreen,
  Esc закрытие, timeline + play/pause/close, авто-скрытие контролов
- видео-баббл в списке: превью-кадр (jpg), play-оверлей, длительность, прогресс
- превью извлекается после скачивания (video_extract_thumbnail) в фоне
- mainwindow: синглтон-плеер, openVideoRequested → openVideo
- CMake: HAVE_FFMPEG для vibechat
2026-09-08 00:55:06 +03:00
Evgeny f347dc8edc vibechat: single-instance (QLockFile) + переименование Chat→vibechat (бинарник, конфиг, hostname node name) 2026-08-13 23:10:43 +03:00