Teknium
bd5b221a61
feat(desktop): updating now updates every target — remote backends, other gateways, and the app itself
...
Remote-mode installs had every update affordance (About panel Update now,
⌘K Update Hermes, the update-ready toast) pointed at the BACKEND only, so
users updated their VPS forever while the desktop app itself sat weeks
stale — with no signal it was behind (the skew warning only fired the
other way). Reported by Santiago Sarceda: mac app on v0.20.0 kept
repro'ing UI bugs fixed on main because 'update' never touched the app.
- store/updates.ts: applyEverythingUpdate() orchestrates all targets —
active backend first (detailed progress), every other eligible
registered gateway via the existing Electron fan-out (cloud rows skip),
the client LAST (its apply relaunches the app). startActiveUpdate/
requestActiveUpdate route through it whenever more than one update
target exists; single-machine installs keep the one-button flow.
- After ANY successful backend update, the client version is re-checked
and a one-click 'Update desktop app' warning fires if the GUI is still
behind — the reverse-skew signal that didn't exist.
- electron: hermes:connections:update-all accepts optional excludeIds so
the flow doesn't double-dispatch the active backend / local runtime.
- i18n: 7 new updates.* keys across en/zh/zh-hant/ja/ar.
- docs: desktop.md Updating section + multi-connection guide.
- tests: 10 new cases (gating, ordering, exclusions, failure isolation,
memoization, nudge on/off).
2026-08-20 01:48:05 -07:00
..
2026-08-15 02:20:23 -07:00
2026-07-26 16:12:14 -05:00
2026-07-26 16:12:14 -05:00
2026-08-10 17:02:56 -07:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-08-16 10:59:19 -07:00
2026-08-16 10:59:19 -07:00
2026-08-02 03:33:09 +00:00
2026-08-01 20:09:35 -04:00
2026-07-26 04:11:26 +00:00
2026-07-25 21:52:26 -05:00
2026-08-16 01:57:34 -07:00
2026-08-16 01:57:34 -07:00
2026-07-29 13:59:11 +05:30
2026-07-29 16:52:53 +05:30
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-08-17 04:19:24 +00:00
2026-08-16 19:58:37 -07:00
2026-08-13 03:33:45 +00:00
2026-07-14 10:24:15 -04:00
2026-07-31 22:33:53 -07:00
2026-08-01 20:45:40 +00:00
2026-07-19 23:42:14 +00:00
2026-07-19 23:42:14 +00:00
2026-08-17 21:15:38 +00:00
2026-08-17 14:05:09 -07:00
2026-07-20 23:01:49 +02:00
2026-07-24 12:55:06 -05:00
2026-08-19 02:42:34 -07:00
2026-08-19 02:42:34 -07:00
2026-08-18 22:03:25 -07:00
2026-08-18 22:03:25 -07:00
2026-07-27 13:41:59 -05:00
2026-07-27 13:41:59 -05:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-07-16 19:57:39 +00:00
2026-07-20 23:01:49 +02:00
2026-07-20 23:01:49 +02:00
2026-08-15 01:04:19 -07:00
2026-08-15 01:04:19 -07:00
2026-08-18 21:51:44 +00:00
2026-08-18 21:51:44 +00:00
2026-08-17 23:52:54 -07:00
2026-08-17 23:52:54 -07:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-07-27 23:52:33 -05:00
2026-07-27 23:52:33 -05:00
2026-07-08 16:24:16 -07:00
2026-07-28 13:40:44 -05:00
2026-07-28 13:40:44 -05:00
2026-07-20 18:33:14 -05:00
2026-07-20 18:36:05 -05:00
2026-08-14 21:44:50 +00:00
2026-08-14 16:27:01 -05:00
2026-07-23 17:59:58 -07:00
2026-07-23 17:59:58 -07:00
2026-08-15 02:20:23 -07:00
2026-08-15 09:33:47 +00:00
2026-08-15 09:33:47 +00:00
2026-07-24 12:55:06 -05:00
2026-07-24 12:55:06 -05:00
2026-07-24 12:55:06 -05:00
2026-08-19 10:50:52 -05:00
2026-07-13 17:22:17 -04:00
2026-07-12 05:32:54 -04:00
2026-08-15 00:37:00 -07:00
2026-08-15 00:37:00 -07:00
2026-08-15 00:37:00 -07:00
2026-08-17 04:19:24 +00:00
2026-08-16 19:58:49 -07:00
2026-08-14 16:51:00 -05:00
2026-08-19 10:50:52 -05:00
2026-07-21 14:28:28 +00:00
2026-07-21 14:28:28 +00:00
2026-08-03 00:08:30 +05:30
2026-08-12 22:48:00 -05:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-15 00:33:11 -07:00
2026-08-15 00:33:11 -07:00
2026-08-15 11:39:10 +00:00
2026-08-15 11:39:10 +00:00
2026-08-12 01:41:34 +00:00
2026-08-11 17:03:00 -05:00
2026-08-18 07:11:16 +00:00
2026-08-19 10:50:52 -05:00
2026-08-08 22:15:24 -05:00
2026-08-08 22:15:24 -05:00
2026-08-19 19:12:09 -05:00
2026-08-10 05:21:05 -05:00
2026-08-10 10:44:00 +00:00
2026-08-10 05:21:05 -05:00
2026-08-10 10:44:00 +00:00
2026-08-09 09:10:59 +00:00
2026-08-09 09:10:59 +00:00
2026-08-09 09:51:41 +00:00
2026-08-09 04:43:10 -05:00
2026-07-13 17:22:17 -04:00
2026-07-31 00:38:11 -05:00
2026-07-16 19:57:39 +00:00
2026-07-16 15:33:38 -04:00
2026-08-20 01:48:05 -07:00
2026-08-15 09:33:47 +00:00
2026-08-15 01:53:34 -07:00
2026-08-20 00:39:56 -05:00
2026-08-20 00:39:56 -05:00
2026-07-22 16:30:14 +00:00
2026-07-22 16:30:14 +00:00
2026-07-31 16:22:58 +00:00
2026-07-31 10:16:21 -04:00
2026-07-31 10:16:21 -04:00
2026-07-31 10:16:21 -04:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-16 09:32:26 +00:00
2026-08-16 09:32:26 +00:00
2026-08-19 10:50:52 -05:00
2026-08-16 23:33:14 +00:00
2026-08-16 23:33:14 +00:00
2026-08-16 03:17:39 -07:00
2026-08-16 03:17:39 -07:00
2026-08-17 16:26:02 -07:00
2026-08-17 16:26:02 -07:00
2026-08-16 16:26:50 -07:00
2026-08-16 16:26:50 -07:00
2026-07-20 11:50:22 -05:00
2026-07-20 11:50:22 -05:00
2026-08-20 01:48:05 -07:00
2026-08-18 08:52:36 -05:00
2026-08-18 08:52:36 -05:00
2026-08-18 08:52:36 -05:00
2026-08-17 23:52:54 -07:00
2026-08-17 23:52:54 -07:00
2026-07-24 12:55:06 -05:00
2026-08-17 15:51:02 -07:00
2026-08-17 16:15:22 -07:00
2026-08-17 16:15:22 -07:00
2026-08-17 16:15:22 -07:00
2026-08-18 21:38:17 +00:00
2026-08-18 14:27:15 -07:00
2026-07-26 17:48:19 -07:00
2026-07-31 18:54:27 +00:00
2026-07-27 15:47:57 -05:00
2026-07-27 15:47:57 -05:00
2026-08-18 19:28:51 +00:00
2026-08-19 10:50:52 -05:00
2026-07-27 13:41:59 -05:00
2026-07-27 13:41:59 -05:00
2026-08-14 22:16:25 +00:00
2026-08-14 02:21:20 -05:00
2026-08-11 00:20:02 +00:00
2026-08-11 00:20:02 +00:00
2026-08-20 01:04:42 -05:00
2026-08-20 01:04:42 -05:00
2026-08-16 22:05:51 -07:00
2026-08-16 22:05:51 -07:00
2026-07-25 15:19:29 -04:00
2026-07-25 15:19:29 -04:00
2026-08-16 16:26:50 -07:00
2026-08-16 16:26:50 -07:00
2026-07-20 23:01:49 +02:00
2026-07-20 23:01:49 +02:00
2026-08-17 10:09:48 +00:00
2026-08-19 10:50:52 -05:00
2026-07-31 00:38:11 -05:00
2026-07-31 00:38:11 -05:00
2026-08-19 10:50:52 -05:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-20 07:37:56 +00:00
2026-08-20 02:28:24 -05:00
2026-08-14 21:44:50 +00:00
2026-08-14 13:09:44 -07:00
2026-07-28 23:53:25 -07:00
2026-07-28 23:53:25 -07:00
2026-08-01 10:47:45 -07:00
2026-08-01 10:47:45 -07:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-08-14 21:59:29 -07:00
2026-08-15 06:22:02 +00:00
2026-08-16 09:32:26 +00:00
2026-08-16 09:32:26 +00:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-10 19:00:19 -07:00
2026-08-10 19:00:19 -07:00
2026-08-01 14:30:11 -07:00
2026-08-09 04:43:10 -05:00
2026-08-14 16:51:00 -05:00
2026-08-11 02:09:04 +00:00
2026-08-11 02:09:04 +00:00
2026-08-08 16:51:44 -05:00
2026-08-08 16:51:44 -05:00
2026-08-08 22:13:08 -05:00
2026-08-08 22:17:38 -05:00
2026-08-10 17:02:56 -07:00
2026-07-13 17:22:17 -04:00
2026-08-19 16:56:58 +00:00
2026-08-17 21:43:52 -06:00
2026-08-01 14:30:16 -07:00
2026-08-19 10:50:52 -05:00
2026-07-20 23:01:49 +02:00
2026-07-18 02:26:19 -07:00
2026-07-18 02:26:19 -07:00
2026-07-17 18:55:34 -04:00
2026-07-18 04:56:56 +00:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-07-15 21:40:56 +00:00
2026-07-15 21:40:56 +00:00
2026-08-14 14:50:45 -07:00
2026-08-14 22:16:25 +00:00