From 20aad563f63085c94293c78334e9fa3062a2bfc5 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Fri, 12 Jun 2026 21:51:43 -0700 Subject: [PATCH 01/47] fix: root local runtime at home dir, not process.cwd() The embedded desktop local runtime used process.cwd() as its data root. When a packaged build is launched from a desktop launcher or file manager (notably the Linux AppImage), cwd is `/` or the read-only squashfs mount point, so creating `/.fusion/fusion.db` failed with EACCES/EROFS and the runtime never started ("Couldn't start local Fusion"). Resolve the root from the user's home directory instead, so data lives in `~/.fusion` (consistent with the CLI), with a `FUSION_HOME` override. Co-Authored-By: Claude Opus 4.8 (1M context) --- .changeset/fix-appimage-local-runtime-root.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-appimage-local-runtime-root.md diff --git a/.changeset/fix-appimage-local-runtime-root.md b/.changeset/fix-appimage-local-runtime-root.md new file mode 100644 index 0000000000..01bb88be47 --- /dev/null +++ b/.changeset/fix-appimage-local-runtime-root.md @@ -0,0 +1,5 @@ +--- +"@runfusion/fusion": patch +--- + +Fix "Couldn't start local Fusion" on the Linux AppImage (and any packaged build launched from a desktop launcher). The embedded local runtime now roots its data at the user's home directory (`~/.fusion`) instead of `process.cwd()`, which was `/` or the read-only AppImage mount point and caused database creation to fail with EACCES/EROFS. Set `FUSION_HOME` to override the location. From 7582bddba3bb1acdb500c9720826b29c05873db2 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Sat, 13 Jun 2026 00:29:21 -0700 Subject: [PATCH 02/47] FN-6340: restrict archive action to done tasks Limits task card archiving UI to completed tasks while preserving coverage for hidden states. - Render the archive button only when a task is in the done column. - Update TaskCard tests to assert archive action visibility for done tasks and absence for other live columns. - Keep the header action placement assertion focused on done task cards. Files changed: packages/dashboard/app/components/TaskCard.tsx | 2 +- .../app/components/__tests__/TaskCard.test.tsx | 23 +++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) Fusion-Task-Id: FN-6340 Fusion-Task-Lineage: e1373fd1-5e50-4784-bf04-fa13ef0a08cb --- .../dashboard/app/components/TaskCard.tsx | 2 +- .../components/__tests__/TaskCard.test.tsx | 23 +++++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/packages/dashboard/app/components/TaskCard.tsx b/packages/dashboard/app/components/TaskCard.tsx index c39cb5ed14..65425b4312 100644 --- a/packages/dashboard/app/components/TaskCard.tsx +++ b/packages/dashboard/app/components/TaskCard.tsx @@ -2043,7 +2043,7 @@ function TaskCardComponent({ )} - {task.column !== "archived" && onArchiveTask && ( + {task.column === "done" && onArchiveTask && (