From 528e18e99e756bfec55c9b612be3012be7a46a57 Mon Sep 17 00:00:00 2001 From: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com> Date: Wed, 21 Dec 2022 14:07:18 +0200 Subject: [PATCH] Unmount on pagehide instead of beforeunload It seems cluster onbeforeunload is not triggered when iframe is removed from dom by the parent (when disconnecting a cluster). While on root/main frame the beforeunload event does work, it seems to be adviced to use pagehide instead. Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com> --- .../cluster-frame/init-cluster-frame/init-cluster-frame.ts | 2 +- .../renderer/frames/root-frame/init-root-frame.injectable.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.ts b/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.ts index 109ae0f0bc..f81972eae3 100644 --- a/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.ts +++ b/packages/core/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.ts @@ -73,7 +73,7 @@ export const initClusterFrame = ({ }); }); - window.onbeforeunload = () => { + window.onpagehide = () => { logger.info( `${logPrefix} Unload dashboard, clusterId=${(hostedCluster.id)}, frameId=${frameRoutingId}`, ); diff --git a/packages/core/src/renderer/frames/root-frame/init-root-frame.injectable.ts b/packages/core/src/renderer/frames/root-frame/init-root-frame.injectable.ts index 8d2c3a43be..1732ef6249 100644 --- a/packages/core/src/renderer/frames/root-frame/init-root-frame.injectable.ts +++ b/packages/core/src/renderer/frames/root-frame/init-root-frame.injectable.ts @@ -57,7 +57,7 @@ const initRootFrameInjectable = getInjectable({ registerIpcListeners(); - window.addEventListener("beforeunload", () => { + window.addEventListener("pagehide", () => { logger.info("[ROOT-FRAME]: Unload app"); unmountRoot();