feat(FN-669): add ntfy deep link support with dashboard hostname config

- Add ntfyDashboardHost setting to GlobalSettings for dashboard URL\n- Generate deep links in ntfy notifications with Click header\n- Handle ?task= query param in dashboard for direct task navigation\n- Add hostname configuration UI in Settings modal\n- Add comprehensive tests for deep link generation and handling
This commit is contained in:
gsxdsm
2026-04-01 07:21:43 -07:00
parent 0559962685
commit a9ccd86ece
7 changed files with 393 additions and 44 deletions

View File

@@ -525,6 +525,10 @@ export interface GlobalSettings {
* no project can be auto-detected from the current directory.
* Used for multi-project CLI workflows. */
defaultProjectId?: string;
/** Dashboard hostname for ntfy.sh deep links. When set along with ntfyEnabled
* and ntfyTopic, notifications include a Click URL that opens the dashboard
* directly to the task. Example: "http://localhost:3000" or "https://fusion.example.com" */
ntfyDashboardHost?: string;
}
/**
@@ -685,6 +689,7 @@ export const DEFAULT_GLOBAL_SETTINGS: Required<Pick<GlobalSettings, "themeMode"
ntfyEnabled: false,
ntfyTopic: undefined,
defaultProjectId: undefined,
ntfyDashboardHost: undefined,
};
/** Default values for project-level settings. */
@@ -744,6 +749,7 @@ export const GLOBAL_SETTINGS_KEYS: ReadonlyArray<keyof GlobalSettings> = [
"ntfyEnabled",
"ntfyTopic",
"defaultProjectId",
"ntfyDashboardHost",
] as const;
/** Keys that belong to the project settings scope. */