Browse Source

chatgui: fix — локальные адреса не записывались (g_cc.initialized до sync_my_addresses) + таймаут коллбэк 12→20 байт

topo_upd
Evgeny 3 months ago
parent
commit
70930b784f
  1. 4
      tools/chatgui/transport/chat_core.c
  2. 5
      tools/chatgui/transport/chat_sync.c

4
tools/chatgui/transport/chat_core.c

@ -139,6 +139,8 @@ int chat_core_init(struct UTUN_INSTANCE* inst, const char* db_path) {
}
}
g_cc.initialized = 1;
chat_core_sync_my_addresses();
db_exec(
@ -198,8 +200,6 @@ int chat_core_init(struct UTUN_INSTANCE* inst, const char* db_path) {
}
}
g_cc.initialized = 1;
/* ensure infrastructure for all existing channels (survives restart) */
{
sqlite3_stmt* stmt = NULL;

5
tools/chatgui/transport/chat_sync.c

@ -417,9 +417,10 @@ static void cs_info_req_timeout_cb(void* arg) {
DEBUG_WARN(DEBUG_CATEGORY_DB_SYNC, "%s: CHANNEL_INFO_REQ timeout peer=%016llx ch=%llu",
CS_ID, (unsigned long long)cs->pending_invite_node_id,
(unsigned long long)cs->pending_invite_ch_id);
uint8_t err[12]; memcpy(err, &cs->pending_invite_node_id, 8);
uint8_t err[20]; memcpy(err, &cs->pending_invite_node_id, 8);
int r = CC_ERR_TIMEOUT; memcpy(err + 8, &r, 4);
gui_bridge_post(GUI_EVT_CONNECT_RESULT, err, 12);
memcpy(err + 12, &cs->pending_invite_ch_id, 8);
gui_bridge_post(GUI_EVT_CONNECT_RESULT, err, 20);
cs->pending_invite_node_id = 0;
cs->pending_invite_ch_id = 0;
}

Loading…
Cancel
Save