feat(FN-2729): merge fusion/fn-2729

- fix(FN-2729): silence ansi strip lint warning
- test(FN-2729): complete Step 10 — cover node health indicators
- feat(FN-2729): complete Step 9 — colorize CLI node status output
- feat(FN-2729): complete Step 8 — use NodeHealthDot in settings routing status
- test(FN-2729): align ListView node override option expectations
- feat(FN-2729): complete Step 7 — add bulk node status indicators
- fix(engine): prevent auto-merge cooldown loop on unresolvable conflicts
- feat(FN-2911): improve chat attachment compose and preview UX
- feat(FN-2921): merge fusion/fn-2921
- feat(FN-2909): merge fusion/fn-2909
- feat(FN-2914): merge fusion/fn-2914
- feat(FN-2902): merge fusion/fn-2902
- chore(release): v0.8.3
- Update changeset
- fix(tui): swap 3/4 panel hotkeys so they match the help text
- fix(tui): always show auth token and report accurate macOS memory usage

Fusion-Task-Id: FN-2729
This commit is contained in:
Fusion
2026-04-28 23:21:27 -07:00
committed by gsxdsm
parent 14d2bb7b8e
commit 3263babe1b
18 changed files with 253 additions and 221 deletions

View File

@@ -36,6 +36,7 @@ import { applyPresetToSelection, generateUniquePresetId } from "../utils/modelPr
import { appendTokenQuery } from "../auth";
import { useConfirm } from "../hooks/useConfirm";
import { useNodes } from "../hooks/useNodes";
import { NodeHealthDot } from "./NodeHealthDot";
// ---------------------------------------------------------------------------
// GitHub star count — fetched once per session, cached in localStorage (1 h).
@@ -51,13 +52,6 @@ function getNodeStatusLabel(status: "online" | "offline" | "connecting" | "error
return "Offline";
}
function getNodeStatusClass(status: "online" | "offline" | "connecting" | "error"): string {
if (status === "online") return "settings-node-status--online";
if (status === "connecting") return "settings-node-status--connecting";
if (status === "error") return "settings-node-status--error";
return "settings-node-status--offline";
}
/**
* Has the user already clicked the "Star on GitHub" button at any point in
* the past? Used to permanently hide the button afterward — clicking opens
@@ -2701,9 +2695,9 @@ export function SettingsModal({
const selectedNode = nodes.find((node) => node.id === form.defaultNodeId);
if (!selectedNode) return null;
return (
<div className={`settings-node-status ${getNodeStatusClass(selectedNode.status)}`}>
<span className="settings-node-status__dot" aria-hidden="true" />
<span>{`Selected node: ${getNodeStatusLabel(selectedNode.status)}`}</span>
<div className="settings-node-status">
<span className="settings-node-status__prefix">Selected node:</span>
<NodeHealthDot status={selectedNode.status} showLabel />
</div>
);
})()}