gsxdsm
1fe59be960
feat(dashboard,cli): update-check frequency, GitHub star button, more resizable modals
...
Update-check frequency (end-to-end)
- Add `updateCheckFrequency: "manual" | "on-startup" | "daily" | "weekly"`
to GlobalSettings (default: "daily").
- Backend `performUpdateCheck` honors the frequency: TTL = day/week,
`manual` returns cache or empty without hitting npm, `on-startup`
refreshes once per process lifetime then serves cache. `/refresh`
route forces network regardless.
- Settings → Updates surfaces a working `<select>` for the cadence,
disabled when auto-checks are off entirely.
- Tests: 4 new cases covering ttlForFrequency mapping, weekly window,
manual semantics, on-startup once-per-process behavior.
TUI update notice
- Read cached update result synchronously on TUI startup. When an
update is available, render a yellow notice line on the splash and
a colored ● next to the version in the status bar.
Settings modal header polish
- Add "Star on GitHub" pill (icon + Star + cached star count from the
GitHub API, 1h localStorage TTL) and "Help" button (opens project
Discussions). Both link to the Runfusion/Fusion repo.
- Star button auto-hides after the user clicks it (intent = star),
tracked in localStorage `fusion:github-star-clicked`.
- Settings → General gets a "Show Star on GitHub button" checkbox so
users can hide it preemptively. New global setting
`showGitHubStarButton: boolean` (default true) gates rendering.
More resizable modals
- Task Detail modal: 85vh default, resize: both, persisted via
useModalResizePersist (key `fusion:task-detail-modal-size`).
- Quick Chat FAB: full 8-direction resize (4 corners + 4 edges) via
pointer-event handlers; persisted to
`fusion:quick-chat-size-<projectId>`. Each handle has the right
cursor + role="separator" for accessibility.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-27 17:55:15 -07:00
..
2026-04-27 17:55:15 -07:00
2026-04-18 12:14:43 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 23:22:46 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 09:38:16 -07:00
2026-04-27 08:53:09 -07:00
2026-04-27 08:53:09 -07:00
2026-04-22 09:56:26 -07:00
2026-04-22 11:43:26 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 03:13:32 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-22 09:56:26 -07:00
2026-04-27 08:45:49 -07:00
2026-04-24 19:39:20 -07:00
2026-04-25 13:46:00 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 12:04:07 -07:00
2026-04-27 12:04:07 -07:00
2026-04-25 00:07:19 -07:00
2026-04-25 00:07:19 -07:00
2026-04-27 00:14:18 -07:00
2026-04-25 01:45:29 -07:00
2026-04-25 01:45:29 -07:00
2026-04-24 22:25:57 -07:00
2026-04-27 08:45:49 -07:00
2026-04-27 04:05:25 -07:00
2026-04-25 15:11:54 -07:00
2026-04-25 07:59:48 -07:00
2026-04-25 07:59:48 -07:00
2026-04-27 01:22:28 -07:00
2026-04-27 01:22:28 -07:00
2026-04-24 13:24:49 -07:00
2026-04-27 04:05:25 -07:00
2026-04-25 07:59:48 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 04:05:25 -07:00
2026-04-24 09:38:16 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-25 19:35:47 -07:00
2026-04-25 10:55:06 -07:00
2026-04-26 23:35:18 -07:00
2026-04-26 23:47:22 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-26 22:50:51 -07:00
2026-04-26 22:50:51 -07:00
2026-04-25 11:28:33 -07:00
2026-04-25 11:28:33 -07:00
2026-04-27 17:26:07 -07:00
2026-04-27 17:26:07 -07:00
2026-04-24 19:39:20 -07:00
2026-04-26 10:01:21 -07:00
2026-04-27 03:07:58 -07:00
2026-04-25 10:50:32 -07:00
2026-04-27 17:26:07 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 17:26:07 -07:00
2026-03-30 23:39:40 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-23 23:02:35 -07:00
2026-04-27 17:26:07 -07:00
2026-04-27 17:26:07 -07:00
2026-04-27 17:26:07 -07:00
2026-04-27 00:39:28 -07:00
2026-04-27 08:49:12 -07:00
2026-04-25 08:54:41 -07:00
2026-04-25 08:54:41 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-25 11:10:51 -07:00
2026-04-26 14:06:48 -07:00
2026-04-27 02:24:21 -07:00
2026-04-27 02:24:21 -07:00
2026-04-27 17:26:07 -07:00
2026-04-24 19:39:20 -07:00
2026-04-25 11:10:10 -07:00
2026-04-26 02:15:54 -07:00
2026-04-26 02:15:54 -07:00
2026-04-02 14:04:46 -07:00
2026-04-24 09:38:16 -07:00
2026-04-23 23:02:36 -07:00
2026-04-23 23:02:36 -07:00
2026-04-19 20:48:13 -07:00
2026-04-27 04:05:25 -07:00
2026-04-24 19:39:20 -07:00
2026-04-26 12:25:10 -07:00
2026-04-27 03:07:58 -07:00
2026-04-27 08:49:12 -07:00
2026-04-25 07:04:50 -07:00
2026-04-25 07:04:50 -07:00
2026-04-26 11:44:33 -07:00
2026-04-26 12:25:10 -07:00
2026-04-26 11:39:08 -07:00
2026-04-26 12:25:10 -07:00
2026-04-27 09:21:03 -07:00
2026-04-27 09:21:03 -07:00
2026-04-25 11:21:35 -07:00
2026-04-27 04:05:25 -07:00
2026-04-24 09:38:16 -07:00
2026-04-24 09:38:16 -07:00
2026-04-09 13:01:19 -07:00
2026-04-24 22:25:57 -07:00
2026-04-24 19:39:20 -07:00
2026-04-17 08:01:38 -07:00
2026-04-24 22:54:44 -07:00
2026-04-25 07:04:50 -07:00
2026-04-25 13:46:00 -07:00
2026-04-25 13:46:00 -07:00
2026-04-27 16:58:35 -07:00
2026-04-27 17:26:07 -07:00
2026-04-27 17:26:07 -07:00
2026-04-27 17:26:07 -07:00
2026-04-16 11:51:47 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-22 13:57:10 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-08 11:00:32 -07:00
2026-04-01 01:36:24 -07:00
2026-04-06 15:05:21 -07:00
2026-04-07 23:30:32 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-26 22:17:19 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 02:29:40 -07:00
2026-04-23 23:02:36 -07:00
2026-04-27 17:55:15 -07:00
2026-04-27 17:55:15 -07:00
2026-04-25 08:43:54 -07:00
2026-04-26 12:25:10 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 04:05:25 -07:00
2026-04-23 23:02:36 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 17:26:07 -07:00
2026-04-23 23:02:36 -07:00
2026-04-15 09:45:57 -07:00
2026-04-27 17:26:07 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 22:54:44 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 17:55:15 -07:00
2026-04-27 17:55:15 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 22:25:57 -07:00
2026-04-24 19:39:20 -07:00
2026-04-16 04:38:05 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-25 07:04:50 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-25 12:40:32 -07:00
2026-04-24 19:39:20 -07:00
2026-04-26 14:06:48 -07:00
2026-04-15 09:45:57 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 08:03:20 -07:00
2026-04-27 17:26:07 -07:00
2026-04-27 12:45:53 -07:00
2026-04-27 16:05:50 -07:00
2026-04-14 11:43:52 -07:00
2026-04-25 07:59:48 -07:00
2026-04-25 07:59:48 -07:00
2026-04-26 22:21:18 -07:00
2026-04-26 22:21:18 -07:00
2026-04-27 17:55:15 -07:00
2026-04-27 17:55:15 -07:00
2026-04-25 07:59:48 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-26 23:45:42 -07:00
2026-04-25 18:06:36 -07:00
2026-04-27 16:05:50 -07:00
2026-04-26 22:14:03 -07:00
2026-04-27 11:34:49 -07:00
2026-04-10 00:58:52 -07:00
2026-03-25 18:26:26 -04:00
2026-04-27 17:26:07 -07:00
2026-04-27 09:01:32 -07:00
2026-04-27 01:40:07 -07:00
2026-04-27 01:40:07 -07:00
2026-04-27 04:33:10 -07:00
2026-04-27 04:33:10 -07:00
2026-04-25 08:43:54 -07:00
2026-04-25 12:18:55 -07:00
2026-04-27 17:26:07 -07:00
2026-04-27 17:26:07 -07:00
2026-04-08 09:07:34 -07:00
2026-03-31 01:26:57 -07:00
2026-04-24 09:54:00 -07:00