Commit Graph

  • 27906e9f91 db_sync: односторонний sync, sparse-таблица, vp в SEND_DATA, PUSH-релей Evgeny 2026-07-25 15:00:21 +0300
  • fe18c454e2 chatgui: add diagnostic logging for Windows emoji animation bug investigation Evgeny 2026-07-24 22:11:03 +0300
  • e071a9e2f8 db_sync: fix test sync protocol isolation (add auto_sync flag, destroy order, test refactor) Evgeny 2026-07-24 21:27:23 +0300
  • ad56767646 db_sync: notify all peers when cascade_from changes chain (lock-free sync) Evgeny 2026-07-24 17:26:09 +0300
  • c46cb9a979 db_sync: fix si_send_data_batch column bug (author→node_id), add cascade_from to PUSH, add divergence+cascade test phases Evgeny 2026-07-24 16:55:08 +0300
  • df8d910efa chatgui: fix Ctrl-C on Linux — remove thread_local from g_currentNode Evgeny 2026-07-24 16:02:49 +0300
  • e8920fe00e chatgui: MsgIsOutgoingRole support for outgoing message alignment Evgeny 2026-07-24 15:55:34 +0300
  • fbc1bff1e1 chatgui: proper animation shutdown + TerminateProcess for rlottie threads Evgeny 2026-07-24 15:49:58 +0300
  • 73be79d204 chatgui: fix rlottie thread hang on Windows shutdown Evgeny 2026-07-24 14:54:12 +0300
  • 74c6b0d102 chatgui: add shutdown diagnostics — ~DbManager, ~SoundManager, g_shutdown_sentinel Evgeny 2026-07-24 14:34:00 +0300
  • 0d558245ce chatgui: move SoundManager shutdown to ~MainWindow before node cleanup Evgeny 2026-07-24 14:22:28 +0300
  • fbaf58530f chatgui: rework shutdown — main thread owns cleanup, remove glШбаls Evgeny 2026-07-24 14:14:27 +0300
  • 4c623e25ce chatgui: add shutdown diagnostics (poll exit reason, cleanup steps, app.exec return) Evgeny 2026-07-24 13:56:29 +0300
  • faddbef32a chatgui: add SetConsoleCtrlHandler for reliable Ctrl-C on Windows Evgeny 2026-07-24 13:51:23 +0300
  • a7ec45c4af db_sync: replace all sync logs with unified narrative format sync [TBL:NODE] Evgeny 2026-07-24 13:23:17 +0300
  • ce9e58a925 chatgui: add scroll-to-bottom floating button, incremental message refresh via getMessagesSince Evgeny 2026-07-24 04:07:51 +0300
  • b6d44bd947 chatgui: don't save scroll position when at bottom — restore to bottom on reopen Evgeny 2026-07-24 03:52:05 +0300
  • 6cafff200b chatgui: add SIGINT/SIGTERM handler (as in utun.c), save scroll pos on every debounce Evgeny 2026-07-24 03:47:15 +0300
  • 83ca0c65a4 chatgui: fix corrupted channel_id from non-null-terminated binary protocol Evgeny 2026-07-24 03:33:14 +0300
  • fdc30d1a4e chatgui: synchronous DB write in saveChannelState/updateReadPosition, add shutdown debug logs Evgeny 2026-07-24 03:29:37 +0300
  • 393b7d36c8 chatgui: save scroll/read position on app quit via aboutToQuit Evgeny 2026-07-24 03:24:54 +0300
  • 6ef21613c8 chatgui: pass author node_id in MSG_RECEIVED event, skip sound for own messages Evgeny 2026-07-24 03:22:10 +0300
  • 37c5fa5607 chatgui: fix scroll jump on refresh, force debounce, add DEBUG logs Evgeny 2026-07-24 02:59:15 +0300
  • 0c4862c66a chatgui: track read position via debounced scroll, only fully visible msgs are read Evgeny 2026-07-24 00:30:44 +0300
  • 216e516192 build: use explicit file list for liblmdb in CMake instead of GLOB Evgeny 2026-07-24 00:13:25 +0300
  • 726a4b8303 Revert unnecessary #ifndef _WIN32 guards in mplay.c — CMakeLists.txt filter handles exclusion Evgeny 2026-07-24 00:03:03 +0300
  • e5dd41e5b2 build: exclude LMDB utilities from Windows CMake build, guard POSIX includes in mplay.c Evgeny 2026-07-23 23:58:39 +0300
  • 86d227bffe chatgui: remember last read message, restore scroll position, show unread count badge Evgeny 2026-07-23 23:47:35 +0300
  • de14f82048 chatgui: replace manual source lists with file(GLOB) in libutun/CMakeLists.txt Evgeny 2026-07-23 22:46:48 +0300
  • cf6108b1f1 chatgui: unify logging — debug_ui.h delegates to debug_config.h Evgeny 2026-07-23 22:45:26 +0300
  • 4aede4c6bd chatgui: extract MainWindow constructor into sub-methods Evgeny 2026-07-23 22:44:32 +0300
  • 6c59ed43b2 chatgui: move crypto from MainWindow to transport layer Evgeny 2026-07-23 22:43:13 +0300
  • 3f662d85ba chat_core: split 912-line module into 5 files + delete dead chat_conn_mgr Evgeny 2026-07-23 22:41:28 +0300
  • 3448b0a482 channellist: fix dual blue selection — block signals + explicit select Evgeny 2026-07-23 21:31:00 +0300
  • 4ec930c8f0 chatgui: fix dual selection highlight and missing online count Evgeny 2026-07-23 21:25:39 +0300
  • cbd9536a28 chatgui: fix invite link and Russian channel name encoding Evgeny 2026-07-23 21:07:41 +0300
  • 23db012064 conn_mgr: fix duplicate connection and double-release bugs Evgeny 2026-07-23 20:36:55 +0300
  • 58ad643516 Add debug logs to Ed25519 self-sig flow: computation, verification, skip due to no key Evgeny 2026-07-23 20:00:11 +0300
  • 85269d1da3 Ed25519 self-signature in NODEINFO + fix sync sequence and zero-key bug Evgeny 2026-07-23 19:55:15 +0300
  • 3890d2038d db_sync: add missing ERROR/WARN logs to all error branches Evgeny 2026-07-23 18:16:53 +0300
  • acd4a189ae db_sync: add author_sig VERIFY FAIL diagnostics + SYNC_DONE retry limit Evgeny 2026-07-23 18:13:14 +0300
  • b48d3b4a77 db_sync: add diagnostic logs for message sync debugging during join Evgeny 2026-07-23 16:47:22 +0300
  • 3e95cf5ca6 fix: dialog hangs on join success + remove per-packet spam logs Evgeny 2026-07-23 16:36:40 +0300
  • 4f831703f0 fix: etcp_conn_set_peer_node_id переиндексация при state=0 + conn_mgr ставит peer_id сразу Evgeny 2026-07-23 16:19:03 +0300
  • 511a2dcd06 fix: авто-подключение Phase 2/3 — запрос всех нод из node_addresses, без привязки к peers_<ch> Evgeny 2026-07-23 14:41:22 +0300
  • 196c2896d3 debug: sochet count after instance_init (категория debug, видно при текущем конфиге) Evgeny 2026-07-23 14:17:58 +0300
  • 01a0a568a6 debug: crypto_ctx session_key логгирование — CRYPTO_CONN_READY, CRYPTO_ON_UP, CRYPTO_DECRYPT_OK, DECRYPT_FAIL+seskey Evgeny 2026-07-23 14:04:44 +0300
  • 3e0a4e0eb1 fix: замена malloc на u_strdup в channelSelected — u_free падал на чужой памяти Evgeny 2026-07-23 13:12:04 +0300
  • 0e324cf36d chat_core: connect_channel API — запуск topo_group_connect_init при выборе канала из GUI, убрано дублирование создания групп в utun_node Evgeny 2026-07-23 12:51:45 +0300
  • be258eea4d fix: remove stale peers_* CREATE TABLE from chat_core, drop ORDER BY node_RTT Evgeny 2026-07-23 00:24:16 +0300
  • 8facce46ac feat: auto-connect Phase 3 (local/netif addresses) + restart fix Evgeny 2026-07-22 23:55:44 +0300
  • 7dee05c628 fix: node_registry crash — TOPO_NODE_REG_ENTRY node/lldata overlap Evgeny 2026-07-22 23:05:04 +0300
  • 6edd40d141 topo_group_connect: авто-подключение CHAT-групп + conn_mgr_connect_from_invite + замена chat_conn_mgr в chatgui Evgeny 2026-07-22 22:48:02 +0300
  • 4215349349 topo_recovery: каскадное восстановление узлов с группировкой по next_hop Evgeny 2026-07-22 19:01:55 +0300
  • f6b37a857b conn_mgr: bind to topo_group, DB node loading, configurable DIRECT timeout, tests Evgeny 2026-07-22 17:33:58 +0300
  • 852ce401e7 Добавлен group_id в etcp_router и topo_group, удалён msg_transport Evgeny 2026-07-22 15:51:03 +0300
  • 5265783164 fix: self node online=0 after chat_core_init refactor — add topo_node_sqlite_node_set_online(self, 1) Evgeny 2026-07-22 13:54:36 +0300
  • e2d9879636 refactor: remove direct nodes table writes from chat_core/conn_mgr, use topo_node_sqlite API Evgeny 2026-07-22 13:38:17 +0300
  • 7aa4a34f35 fix chatgui: members showing offline after JOIN — always refresh channel cache before posting online count Evgeny 2026-07-22 12:19:59 +0300
  • a7346c25e3 fix chatgui: members not showing (schema mismatch) and username showing JSON instead of name Evgeny 2026-07-22 12:03:57 +0300
  • df809f251c ntp: use NTP-corrected time everywhere instead of unixepoch()/gettimeofday Evgeny 2026-07-22 11:39:10 +0300
  • fab1c77cfb chatgui: remove unused addServer/addClient/removeServer/removeClient Evgeny 2026-07-22 10:22:37 +0300
  • 6574c58257 chatgui: unify config update logic, fix node_id derivation, fix test Evgeny 2026-07-22 10:13:40 +0300
  • ab252a0984 chatgui: include platform_compat.h for htole64 on Windows Evgeny 2026-07-22 09:23:35 +0300
  • b1cbd5acf9 topo_node_sqlite: dynamic idx_sql allocation instead of fixed 128-byte buffer Evgeny 2026-07-22 09:18:54 +0300
  • 2785845acf platform_compat: use #include <process.h> instead of getpid macro Evgeny 2026-07-22 09:13:36 +0300
  • b1bf27d023 fix Windows warnings: getpid, htole64, gettimeofday, socket_t mismatches, radix min Evgeny 2026-07-22 09:08:19 +0300
  • b9a31b9fba proxy: fix Windows warnings - getsockopt cast, uasync_add_socket_t Evgeny 2026-07-22 08:55:48 +0300
  • 17202beb0a test_ntp: use compat headers instead of arpa/inet.h, add rule to AGENTS.md Evgeny 2026-07-22 08:47:56 +0300
  • 090acc1f00 etc/rtt: UPSERT node_update_verified; gui: account delegate (rtt+nat subline), context menu member props (admin/supernode), cleanOrphanedPeers, refreshRtt timer 2s Evgeny 2026-07-22 01:15:33 +0300
  • c367144776 etcp: rtt_last→ping_update_rtt раз в минуту; route_ping: ping_update_rtt на PING_RESP Evgeny 2026-07-21 22:29:19 +0300
  • ad42f66df5 feat: PING/PONG RTT exchange + burst sender + TCP server; fix INIT peer_id offset Evgeny 2026-07-21 20:50:14 +0300
  • 542694a0e9 fix: restore original source content after refactoring (accidental code changes removed) Evgeny 2026-07-21 20:35:02 +0300
  • fcf3fb7f51 refactor: move transport (etcp/stcp/normalizer) to transport_layer/, routing (bgp/pings/topo*) to routing_layer/ Evgeny 2026-07-21 20:25:41 +0300
  • 3dda701c67 schema: rm is_dm, rename name→userinfo (json_flat), fix join_msg format Evgeny 2026-07-21 00:11:50 +0300
  • 88d51349ea statuspage: компактный блок часов, offset в секундах Evgeny 2026-07-20 01:31:49 +0300
  • 333acb2fe5 ntp_node_time: учёт пол-RTT в корректировке времени Evgeny 2026-07-20 01:19:33 +0300
  • f83efda54e ntp_node_time: исправлен знак offset — корректировка шла в обратную сторону Evgeny 2026-07-20 01:07:09 +0300
  • fdaaa41010 ntp_node_time: фикс ложных докладов о дрейфе часов Evgeny 2026-07-20 00:53:53 +0300
  • 15ca0675c0 Безопасность: pubkey check при reusing линка + node_changed при конфликте адреса чужого конна Evgeny 2026-07-20 00:47:38 +0300
  • ccd35074d8 Заменил find_link_index на ll_queue с хеш-индексом: универсальный ключ port(2)+addr(16)+family(1)=19 байт, IPv4 дополнен нулями Evgeny 2026-07-20 00:21:12 +0300
  • 7a5df3e196 etcp: add node_changed callback chain + chatgui subscription Evgeny 2026-07-19 22:09:23 +0300
  • 1b21ee9d73 chatgui: live NTP-corrected clock (HH:mm:ss) on Status page with per-second sync Evgeny 2026-07-19 20:38:22 +0300
  • a7d842440c chatgui: split chat_core into chat_conn_mgr — connection manager with rotation, max_parallel slots, background ping, per-connection DOWN callback Evgeny 2026-07-19 19:00:29 +0300
  • 98bfb9dcd2 chatgui: per-event sound settings with DB persistence Evgeny 2026-07-19 15:17:52 +0300
  • 1593079da8 chatgui: fix sound_manager use-after-free crash on Windows Evgeny 2026-07-19 14:58:34 +0300
  • c2ad2e78c3 chatgui: add sound playback via miniaudio (MP3 notification sounds) Evgeny 2026-07-19 14:46:21 +0300
  • f6f7e12192 refactor: demote high-frequency debug logs (raw_recv/dispatch→TRACE, normalizer→DEBUG), NTP drift→WARN Evgeny 2026-07-19 13:53:27 +0300
  • 42041dfe84 feat: log connection status changes at general=info level (NEW/UP/DOWN/DELETE) Evgeny 2026-07-19 13:41:25 +0300
  • beed7a4e07 fix: INIT reset logic — reset only on session change or got_initial_pkt, always sync session_id Evgeny 2026-07-19 13:18:42 +0300
  • 58df4d8571 ntp_node_time: переход с etcp_router на raw ETCP (P2P) Evgeny 2026-07-19 12:16:37 +0300
  • 2e7c32c893 fix(db): use INSERT ... ON CONFLICT instead of INSERT OR REPLACE for nodes table Evgeny 2026-07-19 11:16:26 +0300
  • cf46a59d3a fix(chatgui): replace qDebug with DEBUG_INFO for online trace logs Evgeny 2026-07-19 11:04:35 +0300
  • ac0d1c18ed debug(chatgui): add online status trace across full chain Evgeny 2026-07-19 10:58:25 +0300
  • 9de16be012 fix(chatgui): remove duplicate loadChannels after JoinDialog close, remove 800ms delay Evgeny 2026-07-19 10:50:25 +0300
  • 3a7b359f87 fix(chat_sync): online status for joiner on inviter side not sent to GUI/peers Evgeny 2026-07-19 09:30:51 +0300
  • e3286d409f chatgui: кнопка + для invite в каналах, автокопирование ссылки, автоподключение из буфера Evgeny 2026-07-19 09:05:55 +0300
  • 501b636d19 topo_group: disable in chatgui; fix NAT detection for matching addresses Evgeny 2026-07-19 08:33:33 +0300
  • 208a0c8ae8 fix(chat_sync): peer online status not updated in invite flow Evgeny 2026-07-19 07:54:06 +0300
  • ca6a27aadb BGP: 2 addr per socket (remove TOPO_ADDR_REAL), config IP priority, private IPs in SQLite, NAT addr != INTERFACE Evgeny 2026-07-19 07:00:04 +0300