feat(FN-2920): improve remote tunnel setup and heartbeat scheduling
- Add cloudflared install/detection support in remote settings API, UI, and route tests - Surface Cloudflare tunnel prerequisites in Settings modal with remote access docs updates - Harden heartbeat runtime scheduling by avoiding stale timeout state and simplifying runtime timeout handling - Expand CLI/core/dashboard/engine coverage for task lifecycle, agent health, and runtime heartbeat behavior - Add changesets for heartbeat scheduling fixes and PR approval setting updates Fusion-Task-Id: FN-2920
This commit is contained in:
@@ -462,6 +462,7 @@ export interface RemoteStatus {
|
||||
url: string | null;
|
||||
lastError: string | null;
|
||||
lastErrorCode?: string | null;
|
||||
cloudflaredAvailable?: boolean | null;
|
||||
restore?: {
|
||||
outcome: "applied" | "skipped" | "failed";
|
||||
reason: string;
|
||||
@@ -489,6 +490,12 @@ export function fetchRemoteStatus(projectId?: string): Promise<RemoteStatus> {
|
||||
return api<RemoteStatus>(withProjectId("/remote/status", projectId));
|
||||
}
|
||||
|
||||
export function installCloudflared(projectId?: string): Promise<{ success: boolean; command: string; error?: string }> {
|
||||
return api(withProjectId("/remote/install-cloudflared", projectId), {
|
||||
method: "POST",
|
||||
});
|
||||
}
|
||||
|
||||
export function activateRemoteProvider(provider: "tailscale" | "cloudflare", projectId?: string): Promise<{ activeProvider: "tailscale" | "cloudflare" }> {
|
||||
return api<{ activeProvider: "tailscale" | "cloudflare" }>(withProjectId("/remote/provider/activate", projectId), {
|
||||
method: "POST",
|
||||
|
||||
Reference in New Issue
Block a user