fix(FN-4929): finalize daemon typecheck fix and changeset

Fusion-Task-Id: FN-4929
Fusion-Task-Lineage: 557ef659-c835-47de-b30c-a8b03d66d8bf
This commit is contained in:
Fusion (runfusion.ai)
2026-05-17 14:02:04 -07:00
committed by gsxdsm
parent 02eb9dc2f6
commit 8d9b893ea1
2 changed files with 29 additions and 8 deletions

View File

@@ -439,19 +439,35 @@ export async function runDaemon(opts: DaemonOptions = {}) {
const store = primaryEngine.getTaskStore();
const getGlobalSettingsStore = () => {
const candidate = store as { getGlobalSettingsStore?: () => { getSettings: () => Promise<unknown> } };
return typeof candidate.getGlobalSettingsStore === "function"
? candidate.getGlobalSettingsStore()
: null;
};
if (peerExchangeService) {
void store.getGlobalSettingsStore().getSettings().then((globalSettings) => {
peerExchangeService?.updateGlobalSettings(globalSettings);
}).catch((err) => {
const message = err instanceof Error ? err.message : String(err);
console.warn(`[daemon] Failed to load initial peer exchange settings: ${message}`);
});
const globalSettingsStore = getGlobalSettingsStore();
if (globalSettingsStore) {
void globalSettingsStore.getSettings().then((globalSettings) => {
peerExchangeService?.updateGlobalSettings(
globalSettings as Parameters<PeerExchangeService["updateGlobalSettings"]>[0],
);
}).catch((err) => {
const message = err instanceof Error ? err.message : String(err);
console.warn(`[daemon] Failed to load initial peer exchange settings: ${message}`);
});
}
}
store.on("settings:updated", () => {
if (!peerExchangeService) return;
void store.getGlobalSettingsStore().getSettings().then((globalSettings) => {
peerExchangeService?.updateGlobalSettings(globalSettings);
const globalSettingsStore = getGlobalSettingsStore();
if (!globalSettingsStore) return;
void globalSettingsStore.getSettings().then((globalSettings) => {
peerExchangeService?.updateGlobalSettings(
globalSettings as Parameters<PeerExchangeService["updateGlobalSettings"]>[0],
);
}).catch(() => undefined);
});