From c2b43b9cf09ae3a7dd35c1c2b00387859da19d97 Mon Sep 17 00:00:00 2001 From: Eduard Gert Date: Fri, 12 Jun 2026 18:06:58 +0200 Subject: [PATCH] localize installer unknown-error fallback and abort debug bundle on unmount --- client/ui/frontend/src/contexts/DebugBundleContext.tsx | 8 +++++++- .../src/modules/auto-update/UpdateInProgressDialog.tsx | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/client/ui/frontend/src/contexts/DebugBundleContext.tsx b/client/ui/frontend/src/contexts/DebugBundleContext.tsx index 6d29cfdc2..a62d9af64 100644 --- a/client/ui/frontend/src/contexts/DebugBundleContext.tsx +++ b/client/ui/frontend/src/contexts/DebugBundleContext.tsx @@ -1,4 +1,4 @@ -import { createContext, useContext, useRef, useState, type ReactNode } from "react"; +import { createContext, useContext, useEffect, useRef, useState, type ReactNode } from "react"; import { Connection as ConnectionSvc, Debug as DebugSvc } from "@bindings/services"; import type { DebugBundleResult } from "@bindings/services/models.js"; import i18next from "@/lib/i18n"; @@ -129,6 +129,12 @@ const useDebugBundle = () => { const [lastBundlePath, setLastBundlePath] = useState(""); const abortRef = useRef(null); + useEffect(() => { + return () => { + abortRef.current?.abort(); + }; + }, []); + const isRunning = stage.kind !== "idle" && stage.kind !== "done"; const reset = () => setStage({ kind: "idle" }); diff --git a/client/ui/frontend/src/modules/auto-update/UpdateInProgressDialog.tsx b/client/ui/frontend/src/modules/auto-update/UpdateInProgressDialog.tsx index 6ea8d9d4c..1519613e0 100644 --- a/client/ui/frontend/src/modules/auto-update/UpdateInProgressDialog.tsx +++ b/client/ui/frontend/src/modules/auto-update/UpdateInProgressDialog.tsx @@ -144,7 +144,7 @@ export default function UpdateInProgressDialog() { function mapInstallError(msg: string): Phase { const m = msg.trim().toLowerCase(); - if (m === "") return { kind: "failed", message: "unknown update error" }; + if (m === "") return { kind: "failed", message: "" }; if (m.includes("deadline exceeded") || m.includes("timeout") || m.includes("timed out")) { return { kind: "timeout" }; }