From 8ace84f7e738a6a8203ef0e0528cfab7fa99bba7 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 17 Jan 2023 05:55:52 -0800 Subject: [PATCH] Delay removing iframe to fix renderer crash (#6952) Signed-off-by: Sebastian Malton Signed-off-by: Sebastian Malton --- .../cluster-manager/cluster-frame-handler.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/cluster-manager/cluster-frame-handler.ts b/src/renderer/components/cluster-manager/cluster-frame-handler.ts index cc980eb91d..f1b169915f 100644 --- a/src/renderer/components/cluster-manager/cluster-frame-handler.ts +++ b/src/renderer/components/cluster-manager/cluster-frame-handler.ts @@ -88,7 +88,15 @@ export class ClusterFrameHandler { () => { this.dependencies.logger.info(`[LENS-VIEW]: remove dashboard, clusterId=${clusterId}`); this.views.delete(clusterId); - parentElem.removeChild(iframe); + + // Must only remove iframe from DOM after it unloads old code. Else it crashes + iframe.addEventListener("load", () => parentElem.removeChild(iframe), { + once: true, + }); + + // This causes the old code to be unloaded. + iframe.setAttribute("src", ""); + dispose(); }, );