diff --git a/apps/x/apps/renderer/src/components/apps/app-frame.tsx b/apps/x/apps/renderer/src/components/apps/app-frame.tsx index 90527853..f2c73b0c 100644 --- a/apps/x/apps/renderer/src/components/apps/app-frame.tsx +++ b/apps/x/apps/renderer/src/components/apps/app-frame.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react' -import { ArrowLeft, BadgeCheck, ExternalLink, Info, Loader2, RotateCw, UploadCloud } from 'lucide-react' +import { ArrowLeft, BadgeCheck, ExternalLink, Info, RotateCw, UploadCloud } from 'lucide-react' import type { rowboatApp } from '@x/shared' import { appOpened } from '@/lib/analytics' import { AppDetail } from '@/components/apps/app-detail' @@ -36,10 +36,10 @@ export function AppFrame({ app, onBack }: { app: rowboatApp.AppSummary; onBack: return () => window.clearTimeout(timer) }, [watchKey]) - // Stuck recovery: the usual cause is the apps server not being reachable yet - // (it starts with the main process; on a fresh launch or a quick relaunch the - // first iframe load can beat it). Auto-retry instead of demanding a manual - // click, and say when the server itself is the problem. + // Stuck diagnosis: the usual cause is the apps server not being reachable + // yet (it starts with the main process; on a fresh launch or a quick + // relaunch the first iframe load can beat it). Say when the server itself + // is the problem. const [serverDown, setServerDown] = useState(false) useEffect(() => { if (loadState !== 'stuck') return @@ -47,11 +47,7 @@ export function AppFrame({ app, onBack }: { app: rowboatApp.AppSummary; onBack: void window.ipc.invoke('apps:serverStatus', {}).then((s) => { if (!cancelled) setServerDown(!s.running) }).catch(() => { /* status probe is best-effort */ }) - const timer = window.setTimeout(() => setReloadNonce((n) => n + 1), 4000) - return () => { - cancelled = true - window.clearTimeout(timer) - } + return () => { cancelled = true } }, [loadState]) return ( @@ -126,16 +122,16 @@ export function AppFrame({ app, onBack }: { app: rowboatApp.AppSummary; onBack: