Bohdan Triapitsyn
9f06224151
fix: authenticate event-stream WebSocket before connecting
...
The global event-stream WebSocket opened before a valid oc_url_token was
minted, so the upgrade failed auth ("no valid credentials available") in
packaged builds with a UI password. The resulting reconnect storm churned
the sync store and made session status flicker busy<->idle. Await the URL
auth token before connecting (a WS upgrade can't send a bearer header like
SSE does) and drop a rejected token on pre-ready close so the next attempt
re-mints a fresh one.
Also harden /session/status reconciliation: the watchdog poll is now
monotonic (only confirms/raises active status, never blindly lowers a
busy/retry session to idle on a transient or misscoped snapshot). Idle is
applied only by the authoritative reconnect/escalation resync, which trusts
the live server snapshot as the source of truth. Add a Help -> Toggle
Developer Tools menu item so production builds can open the console.
2026-06-14 19:48:07 +03:00
..
2026-06-14 10:58:23 +03:00
2026-06-08 19:10:32 +03:00
2026-06-14 10:58:23 +03:00
2026-06-12 18:24:07 +03:00
2026-06-14 16:55:58 +03:00
2026-06-11 00:46:34 +03:00
2026-05-21 20:00:35 +03:00
2026-06-12 01:53:38 +03:00
2026-01-26 16:09:46 +02:00
2026-06-03 02:42:00 +03:00
2026-06-11 00:16:48 +03:00
2026-06-08 18:50:56 +03:00
2026-04-30 18:37:37 +03:00
2026-06-13 01:59:33 +03:00
2026-04-05 19:24:23 +03:00
2026-01-02 21:57:53 +02:00
2026-06-09 18:38:01 +03:00
2026-06-02 13:41:19 +03:00
2026-06-12 18:24:07 +03:00
2025-12-07 19:32:53 +02:00
2026-06-13 22:30:03 +03:00
2026-05-16 17:20:16 +03:00
2026-05-12 11:00:58 +03:00
2026-05-12 11:00:58 +03:00
2026-02-20 14:50:26 +02:00
2025-12-07 19:32:53 +02:00
2026-03-31 18:47:00 +03:00
2025-12-30 17:36:52 +02:00
2025-12-07 19:32:53 +02:00
2026-06-02 00:43:05 +03:00
2026-06-12 18:24:07 +03:00
2026-06-03 02:42:00 +03:00
2026-06-13 22:30:03 +03:00
2026-06-03 02:42:00 +03:00
2026-06-03 02:42:00 +03:00
2026-06-02 00:43:05 +03:00
2026-06-03 02:42:00 +03:00
2026-06-03 02:42:00 +03:00
2026-06-03 02:42:00 +03:00
2026-06-02 00:43:05 +03:00
2026-06-05 13:36:39 +03:00
2026-06-12 01:53:38 +03:00
2026-01-26 00:24:40 +02:00
2026-05-30 02:04:32 +03:00
2026-06-02 00:43:05 +03:00
2026-06-10 20:19:30 +03:00
2026-03-03 18:35:03 +02:00
2026-01-26 00:24:40 +02:00
2026-02-27 20:03:42 +02:00
2026-03-12 23:45:45 +02:00
2026-04-26 18:48:43 +03:00
2026-04-26 18:48:43 +03:00
2026-05-24 00:49:38 +03:00
2026-06-14 10:58:23 +03:00
2026-05-24 00:49:38 +03:00
2026-06-14 10:58:23 +03:00
2026-06-03 02:42:00 +03:00
2026-04-01 17:30:28 +03:00
2026-06-14 16:55:58 +03:00
2026-01-03 13:39:59 +02:00
2026-03-20 01:01:03 +02:00
2026-01-03 13:39:59 +02:00
2026-05-25 21:27:10 +03:00
2026-06-02 21:01:43 +03:00
2026-06-09 00:01:38 +03:00
2026-06-09 00:01:38 +03:00
2026-05-01 00:34:36 +03:00
2026-05-20 16:26:40 +03:00
2026-02-05 01:59:49 +02:00
2026-06-02 00:43:05 +03:00
2026-06-02 00:43:05 +03:00
2026-06-05 15:09:24 +03:00
2026-05-26 18:13:59 +03:00
2026-06-12 18:24:07 +03:00
2026-06-02 00:43:05 +03:00
2026-06-04 18:47:33 +03:00
2026-06-04 18:47:33 +03:00
2026-06-12 01:53:38 +03:00
2026-06-13 22:30:03 +03:00
2026-05-13 13:26:35 +03:00
2026-04-18 13:46:38 +03:00
2026-06-02 00:43:05 +03:00
2026-04-18 16:05:55 +03:00
2026-03-04 00:32:23 +02:00
2026-06-02 00:43:05 +03:00
2026-06-14 16:55:58 +03:00
2026-06-02 00:43:05 +03:00
2026-06-14 19:48:07 +03:00
2026-06-02 00:43:05 +03:00
2026-06-05 15:09:24 +03:00
2026-06-02 00:43:05 +03:00
2026-06-02 00:43:05 +03:00
2026-06-12 18:24:07 +03:00
2026-05-25 01:39:47 +03:00
2026-06-02 00:43:05 +03:00
2026-06-02 00:43:05 +03:00
2026-06-02 00:43:05 +03:00
2026-04-03 19:47:01 +03:00
2026-06-07 01:22:40 +03:00
2026-06-10 00:20:23 +03:00
2026-06-05 15:09:24 +03:00
2026-05-07 23:03:46 +03:00
2026-06-02 00:43:05 +03:00
2026-06-02 00:43:05 +03:00
2026-02-09 03:13:34 +02:00
2026-06-10 20:19:30 +03:00
2026-06-12 20:08:19 +03:00
2026-03-12 23:45:45 +02:00
2026-02-16 14:15:19 +02:00
2025-12-13 16:34:17 +02:00
2026-06-03 02:42:00 +03:00
2026-03-12 23:45:45 +02:00
2026-06-03 02:42:00 +03:00
2026-06-06 23:25:39 +03:00