chat: invite-ссылки с несколькими адресами + ncd-адреса узлов (join)

This commit is contained in:
evgeny committed 2026-09-15 05:16:04 +03:00
1 parent d88dccfa19
commit 481872d5db
24 files changed
+517 -114

No files matched your search

+9 -5
View File
@@ -312,6 +312,7 @@ void AccountList::onMemberDetailData(uint64_t nodeId, const uint8_t* data, int l
lk.addr = QByteArray((const char*)p + 25, 16);
memcpy(&lk.port, p + 41, 2);
memcpy(lk.sockName, p + 43, 20); lk.sockName[19] = '\0';
lk.isReality = p[63] != 0;
p += MEMBER_DETAIL_LINK_SIZE;
m_snapLinks.append(lk);
}
@@ -367,14 +368,17 @@ void AccountList::updateDetailDisplay() {
/* ── Body ── */
QStringList lines;
auto protoName = [](int protocol) -> QString {
if (protocol & 0x04) return (protocol & 0x02) ? "TCP+REALITY" : "REALITY";
switch (protocol) { case 1: return "UDP"; case 2: return "TCP"; default: return "?"; }
};
if (!m_detailAddrs.isEmpty()) {
lines.append("── Addresses ──");
for (const auto& a : m_detailAddrs) {
QString proto;
switch (a.protocol) { case 1: proto = "UDP"; break; case 2: proto = "TCP"; break; default: proto = "?"; break; }
lines.append(QString(" [sock%1] %2 %3 %4:%5 %6")
.arg(a.socket_id)
.arg(proto)
.arg(protoName(a.protocol))
.arg(a.ifname)
.arg(addrStr(a.addr.constData(), a.family))
.arg(a.port)
@@ -389,7 +393,7 @@ void AccountList::updateDetailDisplay() {
for (const auto& da : m_detailAddrs) {
if (da.socket_id == s.sockId) { a = &da; break; }
}
QString proto = a ? (a->protocol == 2 ? "TCP" : "UDP") : "?";
QString proto = a ? protoName(a->protocol) : "?";
QString ip = a ? addrStr(a->addr.constData(), a->family) : "?";
lines.append(QString(" [%1/%2] %3:%4 %5")
.arg(s.linksUp).arg(s.linksDown)
@@ -404,7 +408,7 @@ void AccountList::updateDetailDisplay() {
QString c = up ? "#4CAF50" : "#E53935";
lines.append(QString("<span style='color:%1;'>●</span> %2 %3:%4 %5 %6:%7")
.arg(c)
.arg(lk.isTcp ? "TCP" : "UDP")
.arg(lk.isReality ? "TCP+REALITY" : (lk.isTcp ? "TCP" : "UDP"))
.arg(addrStr(lk.localAddr.constData(), lk.localFamily)).arg(lk.localPort)
.arg(lk.isServer ? "\u25c0" : "\u25b6")
.arg(addrStr(lk.addr.constData(), lk.family)).arg(lk.port));