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

@@ -52,6 +52,11 @@ import {
resolveClaudeCliExtensionPaths,
setCachedClaudeCliResolution,
} from "./claude-cli-extension.js";
import {
getCachedDroidCliResolution,
resolveDroidCliExtensionPaths,
setCachedDroidCliResolution,
} from "./droid-cli-extension.js";
import { resolveSelfExtension } from "./self-extension.js";
import { registerCustomProviders, reregisterCustomProviders } from "./custom-provider-registry.js";
@@ -481,6 +486,24 @@ export async function runServe(
}
})();
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 [];
}
})();
// Inject the cli's own extension so fn_* tools register globally without
// requiring `pi install npm:@runfusion/fusion`.
const selfExtension = resolveSelfExtension();
@@ -496,6 +519,7 @@ export async function runServe(
...getEnabledPiExtensionPaths(cwd),
...packageExtensionPaths,
...claudeCliPaths,
...droidCliPaths,
],
cwd,
join(cwd, ".fusion", "disabled-auto-extension-discovery"),
@@ -711,6 +735,17 @@ export async function runServe(
}
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; // Toggle-off leaves existing skill symlinks alone.
void (async () => {
@@ -727,6 +762,11 @@ export async function runServe(
}
})();
},
onUseDroidCliToggled: (_prev, next) => {
if (next) {
console.log("[extensions] Droid CLI enabled — restart required for full effect");
}
},
headless: true,
skillsAdapter,
daemon: daemonToken ? { token: daemonToken } : undefined,