gsxdsm
6a6c6fdbfd
perf(dashboard): speed up startup and eliminate API request storms
...
Multiple coordinated fixes for the perceived "dashboard takes forever to
load" complaint. Per-page-load HTTP requests drop from ~177 to ~101 and
duplicate per-project InProcessRuntime creation is eliminated.
- engine: shouldUseHybridExecutor no longer auto-enables for local-only
multi-project setups (set FUSION_HYBRID_EXECUTOR=1 to force). The
duplicate-runtime path was running self-healing twice per project and
contending on the same SQLite file. ProjectEngineManager already
handles N local projects with one InProcessRuntime each.
- dashboard cli: parallelized independent store inits, started
CentralCore.init early in background, ran plugin loading concurrently
with extension resolution. Sequenced SQLite store inits to avoid a
TOCTOU race in addColumnIfMissing migrations across TaskStore /
AutomationStore / PluginStore / AgentStore (all open the same
.fusion/fusion.db). Restored try/catch around HybridExecutor.initialize
and engineManager.ensureEngine so a paused or broken cwd project no
longer aborts dashboard startup.
- dashboard client: added in-flight request dedupe wrapped around the
top API offenders. /api/plugins/ui-slots drops from 17x to 1x per load.
dedupe.forceFresh redirects ALL in-flight waiters to receive the fresh
post-mutation response, not just the forcing caller. Generation
counters in useAgents and AgentListModal protect against slow polls
overwriting fresh state.
- dashboard SSE: agent event handler now debounces 250ms with a
trailing-edge guard so multi-agent activity bursts coalesce to at
most 2 refetches per burst.
- dashboard route: PATCH /api/projects/:id with isolationMode change
returns 503 with actionable guidance when HybridExecutor is
unavailable, instead of silently persisting a config the live runtime
won't honor.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 21:57:31 -07:00
..
2026-05-26 17:19:34 -07:00
2026-05-22 17:24:38 -07:00
2026-05-03 04:43:14 -07:00
2026-05-20 15:33:35 -07:00
2026-05-20 10:58:29 -07:00
2026-05-22 17:24:38 -07:00
2026-05-07 23:21:05 -07:00
2026-05-05 20:47:37 -07:00
2026-05-05 20:47:37 -07:00
2026-05-22 17:24:38 -07:00
2026-05-15 07:10:36 -07:00
2026-04-27 22:17:54 -07:00
2026-05-22 17:24:38 -07:00
2026-05-05 20:47:37 -07:00
2026-05-03 19:01:10 -07:00
2026-05-05 12:37:25 -07:00
2026-05-16 18:40:03 -07:00
2026-05-26 21:57:31 -07:00
2026-05-22 17:24:38 -07:00
2026-05-12 21:55:43 -07:00
2026-05-22 17:24:38 -07:00
2026-05-10 07:59:40 -07:00
2026-05-03 04:43:14 -07:00
2026-05-22 17:24:38 -07:00
2026-05-19 10:39:56 -07:00
2026-05-22 17:24:38 -07:00
2026-05-15 07:10:36 -07:00
2026-05-22 17:24:38 -07:00
2026-05-04 04:19:32 -07:00
2026-05-22 17:24:38 -07:00
2026-05-15 07:10:36 -07:00
2026-05-22 17:24:38 -07:00
2026-04-27 22:17:54 -07:00
2026-04-27 04:05:25 -07:00
2026-05-13 06:29:35 -07:00
2026-05-22 17:24:38 -07:00
2026-05-06 08:04:47 -07:00
2026-05-22 17:24:38 -07:00
2026-05-20 03:57:17 -07:00
2026-05-22 17:24:38 -07:00
2026-04-25 00:07:19 -07:00
2026-05-26 17:19:34 -07:00
2026-05-22 17:24:38 -07:00
2026-05-09 10:31:05 -07:00
2026-04-25 01:45:29 -07:00
2026-04-25 01:45:29 -07:00
2026-05-22 17:24:38 -07:00
2026-05-17 22:58:34 -07:00
2026-05-22 17:24:38 -07:00
2026-04-27 04:05:25 -07:00
2026-05-19 03:21:17 -07:00
2026-05-22 17:24:38 -07:00
2026-05-22 17:24:38 -07:00
2026-05-13 06:29:35 -07:00
2026-05-22 17:24:38 -07:00
2026-05-01 13:00:37 -07:00
2026-05-22 17:24:38 -07:00
2026-05-26 21:48:35 +02:00
2026-05-13 10:00:00 -07:00
2026-05-05 15:09:56 -07:00
2026-05-13 10:00:00 -07:00
2026-05-01 22:53:22 -07:00
2026-05-19 18:56:24 -07:00
2026-04-29 16:26:53 -07:00
2026-05-23 20:44:01 -07:00
2026-05-23 20:44:01 -07:00
2026-05-22 17:24:38 -07:00
2026-05-02 00:37:57 -07:00
2026-05-22 17:24:38 -07:00
2026-05-09 10:31:05 -07:00
2026-05-22 17:24:38 -07:00
2026-05-07 04:17:52 -07:00
2026-05-22 17:24:38 -07:00
2026-04-27 20:05:45 -07:00
2026-05-22 17:24:38 -07:00
2026-05-13 18:05:12 +03:00
2026-05-22 17:24:38 -07:00
2026-05-15 07:12:48 +03:00
2026-05-13 10:00:00 -07:00
2026-05-20 03:19:44 -07:00
2026-05-22 17:24:38 -07:00
2026-05-20 04:13:43 -07:00
2026-05-20 14:28:45 -07:00
2026-05-17 23:32:10 -07:00
2026-05-12 21:55:43 -07:00
2026-05-22 17:24:38 -07:00
2026-05-21 18:15:26 -07:00
2026-04-25 11:28:33 -07:00
2026-04-29 07:10:52 -07:00
2026-05-22 17:24:38 -07:00
2026-05-03 07:47:45 -07:00
2026-05-22 17:24:38 -07:00
2026-05-03 14:10:11 -07:00
2026-05-22 17:24:38 -07:00
2026-05-03 07:47:45 -07:00
2026-05-22 17:24:38 -07:00
2026-05-03 07:47:45 -07:00
2026-05-22 17:24:38 -07:00
2026-04-27 17:26:07 -07:00
2026-05-01 03:47:10 -07:00
2026-05-01 09:14:10 -07:00
2026-05-22 17:24:38 -07:00
2026-05-16 22:26:42 -07:00
2026-05-13 10:00:00 -07:00
2026-04-26 10:01:21 -07:00
2026-05-22 17:24:38 -07:00
2026-05-08 04:21:20 -07:00
2026-05-23 00:03:22 -07:00
2026-05-14 15:49:55 -07:00
2026-05-22 17:24:38 -07:00
2026-05-07 13:11:37 -07:00
2026-05-22 17:24:38 -07:00
2026-04-29 07:10:52 -07:00
2026-05-15 01:05:09 -07:00
2026-05-15 01:05:09 -07:00
2026-05-22 17:24:38 -07:00
2026-05-20 04:12:40 -07:00
2026-05-17 08:22:26 -07:00
2026-05-18 01:16:17 -07:00
2026-05-18 01:56:59 -07:00
2026-05-10 05:29:41 -07:00
2026-05-23 19:24:35 -07:00
2026-05-22 17:24:38 -07:00
2026-05-16 05:29:27 -07:00
2026-05-23 00:03:22 -07:00
2026-05-19 01:59:21 -07:00
2026-04-28 20:07:54 -07:00
2026-05-22 17:24:38 -07:00
2026-05-18 23:14:48 -07:00
2026-05-22 17:24:38 -07:00
2026-05-18 16:08:10 -07:00
2026-05-22 17:24:38 -07:00
2026-05-16 09:21:06 -07:00
2026-05-22 17:24:38 -07:00
2026-05-19 18:56:24 -07:00
2026-05-22 17:24:38 -07:00
2026-05-05 01:46:58 -07:00
2026-04-27 02:24:21 -07:00
2026-04-27 02:24:21 -07:00
2026-05-16 09:42:37 -07:00
2026-05-22 17:24:38 -07:00
2026-05-17 03:34:56 -07:00
2026-05-15 23:39:43 -07:00
2026-05-22 17:24:38 -07:00
2026-05-09 14:20:03 -07:00
2026-05-09 10:31:05 -07:00
2026-05-23 06:06:51 -07:00
2026-05-23 13:06:48 -07:00
2026-05-15 12:07:51 -07:00
2026-05-10 16:53:36 -07:00
2026-05-19 10:39:55 -07:00
2026-05-04 01:43:04 -07:00
2026-05-25 15:27:06 -07:00
2026-05-07 16:03:25 -07:00
2026-05-07 16:03:25 -07:00
2026-05-22 17:24:38 -07:00
2026-05-25 15:27:06 -07:00
2026-05-23 02:50:37 -07:00
2026-05-23 02:50:37 -07:00
2026-04-25 07:04:50 -07:00
2026-05-22 17:24:38 -07:00
2026-05-18 03:10:52 -07:00
2026-04-26 12:25:10 -07:00
2026-04-26 11:39:08 -07:00
2026-04-28 18:21:17 -07:00
2026-05-22 17:24:38 -07:00
2026-05-07 18:35:45 -07:00
2026-05-22 17:24:38 -07:00
2026-05-04 22:17:10 -07:00
2026-05-22 17:24:38 -07:00
2026-05-06 05:29:56 -07:00
2026-05-22 17:24:38 -07:00
2026-05-24 04:57:53 -04:00
2026-05-22 17:24:38 -07:00
2026-05-20 09:42:40 -07:00
2026-05-04 06:12:12 -07:00
2026-05-22 17:24:38 -07:00
2026-05-04 21:21:22 -07:00
2026-04-28 23:23:34 -07:00
2026-04-28 23:23:34 -07:00
2026-05-22 17:24:38 -07:00
2026-05-10 18:04:43 -07:00
2026-05-11 21:48:26 -07:00
2026-05-11 21:48:26 -07:00
2026-05-22 17:24:38 -07:00
2026-05-03 01:29:30 -07:00
2026-05-02 21:17:01 -07:00
2026-04-25 07:04:50 -07:00
2026-04-27 22:17:54 -07:00
2026-04-27 23:06:20 -07:00
2026-05-22 17:24:38 -07:00
2026-05-01 13:00:37 -07:00
2026-05-22 17:24:38 -07:00
2026-05-25 16:32:57 -07:00
2026-05-22 17:24:38 -07:00
2026-05-12 17:03:10 -07:00
2026-05-02 10:43:29 -07:00
2026-05-22 17:24:38 -07:00
2026-05-04 21:21:22 -07:00
2026-05-22 17:24:38 -07:00
2026-05-04 21:21:22 -07:00
2026-05-22 17:24:38 -07:00
2026-05-18 00:20:39 -07:00
2026-05-22 17:24:38 -07:00
2026-05-18 08:31:38 -07:00
2026-05-22 17:24:38 -07:00
2026-05-08 18:44:16 -07:00
2026-05-01 13:00:37 -07:00
2026-05-22 17:24:38 -07:00
2026-04-28 23:23:34 -07:00
2026-05-22 17:24:38 -07:00
2026-05-08 18:44:16 -07:00
2026-05-22 17:24:38 -07:00
2026-04-29 07:10:52 -07:00
2026-05-07 04:17:52 -07:00
2026-05-01 17:39:47 -07:00
2026-05-22 17:24:38 -07:00
2026-05-18 15:50:48 -07:00
2026-05-22 17:24:38 -07:00
2026-05-22 16:00:02 -07:00
2026-05-22 17:24:38 -07:00
2026-05-19 07:35:24 -07:00
2026-05-22 17:24:38 -07:00
2026-05-16 00:13:37 -07:00
2026-05-22 17:24:38 -07:00
2026-05-03 19:01:10 -07:00
2026-05-22 17:24:38 -07:00
2026-05-21 18:15:26 -07:00
2026-05-01 13:00:37 -07:00
2026-05-22 17:24:38 -07:00
2026-05-04 07:00:39 -07:00
2026-04-27 22:17:54 -07:00
2026-05-01 13:00:37 -07:00
2026-04-27 19:36:24 -07:00
2026-05-01 13:00:37 -07:00
2026-05-23 18:39:36 -07:00
2026-05-03 19:01:10 -07:00
2026-05-22 17:24:38 -07:00
2026-05-20 06:20:16 -07:00
2026-05-22 17:24:38 -07:00
2026-05-01 13:14:50 -07:00
2026-05-23 16:44:47 -07:00
2026-05-26 17:19:34 -07:00
2026-05-22 17:24:38 -07:00
2026-05-12 21:55:43 -07:00
2026-05-22 17:24:38 -07:00
2026-05-22 17:24:38 -07:00
2026-05-04 17:22:21 -07:00
2026-05-22 17:24:38 -07:00
2026-05-08 00:40:15 -07:00
2026-05-13 10:00:00 -07:00
2026-05-22 17:24:38 -07:00
2026-04-25 12:40:32 -07:00
2026-05-22 17:24:38 -07:00
2026-04-26 14:06:48 -07:00
2026-05-23 13:06:48 -07:00
2026-05-23 13:06:48 -07:00
2026-05-22 17:24:38 -07:00
2026-05-09 19:49:02 -07:00
2026-05-09 22:11:09 -07:00
2026-05-22 17:24:38 -07:00
2026-05-04 15:16:53 -07:00
2026-05-22 17:24:38 -07:00
2026-05-23 02:06:11 -07:00
2026-05-13 15:05:05 -07:00
2026-05-22 17:24:38 -07:00
2026-05-20 09:42:40 -07:00
2026-05-22 17:24:38 -07:00
2026-04-26 22:21:18 -07:00
2026-05-26 17:19:34 -07:00
2026-05-26 17:19:34 -07:00
2026-04-25 07:59:48 -07:00
2026-05-22 17:24:38 -07:00
2026-05-10 16:12:08 -07:00
2026-05-22 17:24:38 -07:00
2026-05-12 23:04:56 -07:00
2026-05-22 17:24:38 -07:00
2026-05-18 07:14:27 -07:00
2026-05-06 18:37:23 -07:00
2026-05-22 17:24:38 -07:00
2026-05-19 20:45:46 -07:00
2026-05-22 17:24:38 -07:00
2026-04-30 21:26:54 -07:00
2026-05-22 17:24:38 -07:00
2026-05-22 00:15:14 -07:00
2026-05-22 17:24:38 -07:00
2026-05-11 13:44:14 -07:00
2026-05-22 17:24:38 -07:00
2026-05-07 12:30:18 -07:00
2026-05-22 17:24:38 -07:00
2026-05-07 10:27:48 -07:00
2026-05-22 17:24:38 -07:00
2026-05-16 12:49:57 -07:00
2026-05-22 17:24:38 -07:00
2026-05-16 09:20:33 -07:00
2026-05-22 17:24:38 -07:00
2026-05-11 09:52:23 +02:00
2026-05-22 17:24:38 -07:00
2026-05-03 03:49:18 -07:00
2026-05-22 17:24:38 -07:00
2026-05-14 11:15:47 -07:00
2026-05-22 17:24:38 -07:00
2026-05-14 05:35:12 -07:00
2026-05-22 17:24:38 -07:00
2026-05-14 22:16:44 -07:00
2026-05-18 13:16:35 -07:00
2026-05-22 17:24:38 -07:00
2026-05-15 23:39:43 -07:00