summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/app/src/pages/layout.tsx18
1 files changed, 13 insertions, 5 deletions
diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx
index d6d24e9ad..0bcf0f7a2 100644
--- a/packages/app/src/pages/layout.tsx
+++ b/packages/app/src/pages/layout.tsx
@@ -134,11 +134,15 @@ export default function Layout(props: ParentProps) {
})
}
- onMount(async () => {
- if (platform.checkUpdate && platform.update && platform.restart) {
- const { updateAvailable, version } = await platform.checkUpdate()
- if (updateAvailable) {
- showToast({
+ onMount(() => {
+ if (!platform.checkUpdate || !platform.update || !platform.restart) return
+
+ let toastId: number | undefined
+
+ async function pollUpdate() {
+ const { updateAvailable, version } = await platform.checkUpdate!()
+ if (updateAvailable && toastId === undefined) {
+ toastId = showToast({
persistent: true,
icon: "download",
title: "Update available",
@@ -159,6 +163,10 @@ export default function Layout(props: ParentProps) {
})
}
}
+
+ pollUpdate()
+ const interval = setInterval(pollUpdate, 10 * 60 * 1000)
+ onCleanup(() => clearInterval(interval))
})
onMount(() => {