fix: harden connection, payload, and persisted state handling (#1354)

* fix: clean up Cloudflare tunnel timeouts

* fix: couple tunnel socket lifecycle

* fix: validate Docker console messages

* fix: bound homepage proxy responses

* fix: bound reconnect and response failures

* fix: harden persisted and socket state

* fix: support local connections to shared hosts
This commit is contained in:
ZacharyZcR
2026-08-28 10:36:39 +08:00
committed by GitHub
parent 703e8cd037
commit c129666d7f
28 changed files with 689 additions and 157 deletions
+1 -11
View File
@@ -12,17 +12,7 @@ import type { RailView } from "@/sidebar/AppRail";
import { visibleRailItems } from "@/sidebar/rail-items";
import { useAiAvailability } from "@/hooks/use-ai-availability";
import type { SplitMode } from "@/types/ui-types";
function readHiddenRailTabs(): Set<string> {
try {
const raw = localStorage.getItem("hiddenRailTabs");
if (!raw) return new Set();
const parsed = JSON.parse(raw);
return Array.isArray(parsed) ? new Set(parsed.map(String)) : new Set();
} catch {
return new Set();
}
}
import { readHiddenRailTabs } from "@/sidebar/hidden-rail-tabs";
export function MobileBottomBar({
railView,
+1
View File
@@ -232,6 +232,7 @@ function hostToSSHHost(h: Host): SSHHost {
tunnelConnections: [],
connectionType: "ssh",
connectionOrigin: h.connectionOrigin ?? null,
isShared: h.isShared ?? false,
// Carries the host's identity to a delegated backend. Without it the
// remote side resolves our local row id against its own table.
syncId: h.syncId ?? null,