feat(FN-2983): remove stale react-hooks eslint-disable comment

Removed a stale `react-hooks` eslint-disable directive from `PlanningModeModal.tsx` in the dashboard package.

Fusion-Task-Id: FN-2983
This commit is contained in:
Fusion
2026-05-01 12:21:52 -07:00
committed by gsxdsm
parent 0313ddb72c
commit 655c194a54
6 changed files with 420 additions and 4 deletions

View File

@@ -47,6 +47,11 @@ import {
resolveClaudeCliExtensionPaths,
setCachedClaudeCliResolution,
} from "./claude-cli-extension.js";
import {
getCachedDroidCliResolution,
resolveDroidCliExtensionPaths,
setCachedDroidCliResolution,
} from "./droid-cli-extension.js";
import { getCachedUpdateStatus, isUpdateCheckEnabled } from "../update-cache.js";
import { resolveSelfExtension } from "./self-extension.js";
import { registerCustomProviders, reregisterCustomProviders } from "./custom-provider-registry.js";
@@ -1203,6 +1208,24 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
}
})();
const droidCliPaths = await (async () => {
try {
const globalSettings = await store.getGlobalSettingsStore().getSettings();
const result = resolveDroidCliExtensionPaths(globalSettings);
setCachedDroidCliResolution(result.resolution);
if (result.warning) {
console.warn(`[extensions] droid-cli: ${result.warning}`);
}
return result.paths;
} catch (err) {
console.warn(
`[extensions] Unable to evaluate useDroidCli setting: ${err instanceof Error ? err.message : String(err)}`,
);
setCachedDroidCliResolution(null);
return [];
}
})();
// Always inject the cli's own extension (`@runfusion/fusion`) so its
// `fn_*` tools register globally even when the user hasn't run
// `pi install npm:@runfusion/fusion`. Without this, agent chat with
@@ -1224,6 +1247,7 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
...getEnabledPiExtensionPaths(cwd),
...packageExtensionPaths,
...claudeCliPaths,
...droidCliPaths,
],
cwd,
join(cwd, ".fusion", "disabled-auto-extension-discovery"),
@@ -1499,6 +1523,17 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
}
return { status: r.status, reason: r.reason };
},
getDroidCliExtensionStatus: () => {
const r = getCachedDroidCliResolution();
if (!r) return null;
if (r.status === "ok") {
return { status: "ok", path: r.path, packageVersion: r.packageVersion };
}
if (r.status === "not-installed") {
return { status: "not-installed" };
}
return { status: r.status, reason: r.reason };
},
onUseClaudeCliToggled: (_prev, next) => {
if (!next) return;
void (async () => {
@@ -1516,6 +1551,11 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
}
})();
},
onUseDroidCliToggled: (_prev, next) => {
if (next) {
logSink.log("Droid CLI enabled — restart required for full effect", "extensions");
}
},
skillsAdapter,
https: loadTlsCredentialsFromEnv(),
daemon: dashboardAuthToken ? { token: dashboardAuthToken } : undefined,
@@ -1732,6 +1772,17 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
}
return { status: r.status, reason: r.reason };
},
getDroidCliExtensionStatus: () => {
const r = getCachedDroidCliResolution();
if (!r) return null;
if (r.status === "ok") {
return { status: "ok", path: r.path, packageVersion: r.packageVersion };
}
if (r.status === "not-installed") {
return { status: "not-installed" };
}
return { status: r.status, reason: r.reason };
},
onUseClaudeCliToggled: (_prev, next) => {
if (!next) return;
void (async () => {
@@ -1749,6 +1800,11 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
}
})();
},
onUseDroidCliToggled: (_prev, next) => {
if (next) {
logSink.log("Droid CLI enabled — restart required for full effect", "extensions");
}
},
skillsAdapter,
https: loadTlsCredentialsFromEnv(),
daemon: dashboardAuthToken ? { token: dashboardAuthToken } : undefined,