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: сопутствующие изменения
This commit is contained in:
1 parent
761f64cf76
commit
73fe99b33f
123 files changed
+14095
-1270
No files matched your search
@@ -273,10 +273,10 @@ void AccountList::showMemberDetail(quint64 nodeId) {
|
||||
|
||||
void AccountList::requestMemberDetail() {
|
||||
if (m_detailNodeId == 0) return;
|
||||
void* arg = u_malloc(sizeof(uint64_t));
|
||||
struct chat_node_arg* arg = (struct chat_node_arg*)u_malloc(sizeof(struct chat_node_arg));
|
||||
if (!arg) { DEBUG_WARN(DEBUG_CATEGORY_DEBUG, "AccountList: req alloc failed"); return; }
|
||||
uint64_t nid = m_detailNodeId;
|
||||
memcpy(arg, &nid, sizeof(nid));
|
||||
arg->inst = gui_bridge_get_inst();
|
||||
arg->node_id = m_detailNodeId;
|
||||
gui_bridge_post_uasync_fn(chat_core_collect_member_detail_trampoline, arg);
|
||||
}
|
||||
|
||||
@@ -482,6 +482,7 @@ void AccountList::onMemberContextMenu(const QPoint& pos) {
|
||||
struct chat_connect_node_req* r = (struct chat_connect_node_req*)u_malloc(sizeof(*r));
|
||||
if (!r) return;
|
||||
memset(r, 0, sizeof(*r));
|
||||
r->inst = gui_bridge_get_inst();
|
||||
strncpy(r->ch_id, m_channelId.toUtf8().constData(), sizeof(r->ch_id) - 1);
|
||||
r->node_id = nodeId;
|
||||
gui_bridge_post_uasync_fn(chat_core_connect_node_trampoline, r);
|
||||
|
||||
Reference in new issue
Block a user