Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing

This commit is contained in:
evgeny committed 2026-09-27 02:51:47 +03:00
1 parent 018c8e795d
commit 3131dcbb7c
67 files changed
+3005 -1249

No files matched your search

+7 -10
View File
@@ -225,17 +225,14 @@ void GuiBridgeReceiver::processPost(int eventType, QByteArray data) {
}
break;
case GUI_EVT_INVITE_LINK_READY:
if (dlen >= 3) {
if (dlen >= 11) {
uint8_t chLen = d[0];
uint16_t linkLen = 0; memcpy(&linkLen, d + 1 + chLen, 2);
if (dlen >= 1 + chLen + 2 + linkLen) {
if (linkLen == 0) {
DEBUG_WARN(DEBUG_CATEGORY_CHAT_SYNC, "gui_bridge: INVITE_LINK_READY ch=%.*s — empty link (build failed)",
chLen, (const char*)d + 1);
if (g_invite_link_ready_cb) g_invite_link_ready_cb((const char*)d + 1, chLen, "");
} else {
if (g_invite_link_ready_cb) g_invite_link_ready_cb((const char*)d + 1, chLen, (const char*)(d + 1 + chLen + 2));
}
if (dlen < 1 + chLen + 10) break;
uint64_t requestId; memcpy(&requestId, d + 1 + chLen, 8);
uint16_t linkLen; memcpy(&linkLen, d + 1 + chLen + 8, 2);
if (dlen >= 1 + chLen + 10 + linkLen) {
QByteArray link((const char*)d + 1 + chLen + 10, linkLen);
if (g_invite_link_ready_cb) g_invite_link_ready_cb((const char*)d + 1, chLen, requestId, link.constData());
}
}
break;