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
@@ -258,7 +258,7 @@ static void channel_put_shared(struct UTUN_INSTANCE* inst, int has_priv) {
|
||||
topo_node_sqlite_channel_put(inst->topo_sqlite_db, g_sh.ch_id, CH_NAME, g_sh.owner,
|
||||
g_sh.ch_x_pub, has_priv ? g_sh.ch_x_priv : NULL,
|
||||
g_sh.ch_ed_pub, has_priv ? g_sh.ch_ed_priv : NULL, g_sh.ch_sig);
|
||||
chat_core_ensure_channel_ready(g_sh.ch_id);
|
||||
chat_core_ensure_channel_ready(inst, g_sh.ch_id);
|
||||
}
|
||||
|
||||
static void member_put_self(struct UTUN_INSTANCE* inst, const char* name) {
|
||||
@@ -317,7 +317,7 @@ static int child_main(const char* role, const char* dir, int invalid_key) {
|
||||
/* invite_build требует conn_presence узла — может отставать от paths; ретраим */
|
||||
{ int built = 0;
|
||||
for (int a = 0; a < 1000; a++) {
|
||||
if (chat_invite_build_link(ch_num, target, NULL, link, sizeof(link)) == 0) { built = 1; break; }
|
||||
if (chat_invite_build_link(inst, ch_num, target, NULL, link, sizeof(link)) == 0) { built = 1; break; }
|
||||
uasync_poll(inst->ua, POLL_MS);
|
||||
}
|
||||
if (!built) { fprintf(stderr, "A: invite_build_link failed (target=0x%016llx)\n", (unsigned long long)target); goto out; }
|
||||
@@ -390,7 +390,7 @@ static int child_main(const char* role, const char* dir, int invalid_key) {
|
||||
if (addrs_len <= 0) { fprintf(stderr, "J: serialize addrs failed\n"); goto out; }
|
||||
|
||||
uint64_t key = invalid_key ? (d.join_key ^ 0xDEADBEEFCAFEBABEULL) : d.join_key;
|
||||
chat_sync_connect_from_invite(d.channelId, d.nodeId, d.pubkey,
|
||||
chat_sync_connect_from_invite(inst, d.channelId, d.nodeId, d.pubkey,
|
||||
addrs_buf, d.addrCount, addrs_len, d.password_len ? d.password : NULL, key);
|
||||
|
||||
if (invalid_key) {
|
||||
|
||||
Reference in new issue
Block a user