Document live DM device panels and release their UI callback

This commit is contained in:
evgeny committed 2026-11-03 14:18:48 +01:00
1 parent 888fe5f650
commit eab919c23b
3 files changed
+31

No files matched your search

+24
View File
@@ -278,3 +278,27 @@ CLI: dm_start --mode device|groups; dm_file ... download|opened.
Работа закоммичена в feature/dm-devgroups; исходные пользовательские изменения
также закоммичены отдельными коммитами по просьбе пользователя. Push, установка на телефоны и развёртывание
не выполнялись. Интерактивный сценарий на физических устройствах не запускался.
11. Панель устройств групповой беседы — 03.11.2026
------------------------------------------------
Панель показывает текущий проверенный состав закреплённых сторон GROUPS:
«Мои устройства» и «Устройства собеседника». Offline-узлы остаются видимыми;
сторона без подгруппы содержит одно устройство. Список доставки каждого уже
отправленного сообщения остаётся неизменным при обновлении панели.
Общий API dm_members_snapshot возвращает CHAT_EVT_DM_MEMBERS (73):
conv_len:u8,conv:UTF8,generation:LE64,count:LE16,(side:u8,member:wire260)*count.
Side 0 — локальная сторона, 1 — собеседник. Используется существующий codec
chat_member_display; имена/live-состояние берутся из общей CHAT-области.
Известный узел без общей CHAT-области также виден, без выдуманного online.
dm_identity_members допускает пустую подгруппу; отправка через
dm_identity_targets по-прежнему требует хотя бы одно устройство обеих сторон.
Закрытая или DEVICE-беседа возвращает пустой состав этим API.
Qt заменяет содержимое панели участников при выборе GROUPS; Android открывает
панель кнопкой участников в заголовке PM. Пока панель видна, состав и online
обновляются каждые 2 s. Qt сохраняет выбор/прокрутку и не перестраивает
неизменившийся снимок. Ответ другой беседы/поколения, усечённая запись,
повторный node_id и недопустимая сторона отклоняются без частичного обновления.
DEVICE сохраняет прежний интерфейс. Секреты, поиск новых узлов и изменение
членства в эту операцию чтения не входят.
+6
View File
@@ -5,6 +5,12 @@
## Текущие задачи
[ ] **Панель устройств групповой лички: свои и собеседника** — 03.11.2026.
Общий снимок текущего состава закреплённых сторон, включая offline и fallback-устройство.
Qt: два раздела панели мемберов; Android: кнопка участников в заголовке PM.
Обновление раз в 2 s, защита от чужого/устаревшего поколения; список доставки не меняется.
Поведение/API: раздел 11 [dm_devgroup_plan.txt](dm_devgroup_plan.txt).
[+] **Личные сообщения между подгруппами с доставкой каждому устройству** — 03.11.2026.
Ветка feature/dm-devgroups; два режима DEVICE/GROUPS с сохранением лички между конкретными устройствами.
Снимок адресатов, per-device ACK и mailbox fallback; отдельная пара ключей вложения и две упаковки,
+1
View File
@@ -238,6 +238,7 @@ MainWindow::~MainWindow() {
gui_bridge_set_dm_start_result_cb(nullptr);
gui_bridge_set_dm_msg_received_cb(nullptr);
gui_bridge_set_dm_messages_cb(nullptr);
gui_bridge_set_dm_members_cb(nullptr);
gui_bridge_set_dm_delete_result_cb(nullptr);
gui_bridge_set_msg_received_cb(nullptr);
gui_bridge_set_channel_updated_cb(nullptr);