From 9576701d8532b9697df62c96d7c8676afd985b2d Mon Sep 17 00:00:00 2001
From: Andrew G. Dunn <andrew@dunn.dev>
Date: Mon, 02 Mar 2026 16:31:53 +0000
Subject: [PATCH] fix: await micromorph() to prevent race condition with nav event handlers (#2323)
---
quartz/components/scripts/spa.inline.ts | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/quartz/components/scripts/spa.inline.ts b/quartz/components/scripts/spa.inline.ts
index 22fcd72..465e793 100644
--- a/quartz/components/scripts/spa.inline.ts
+++ b/quartz/components/scripts/spa.inline.ts
@@ -102,7 +102,7 @@
html.body.appendChild(announcer)
// morph body
- micromorph(document.body, html.body)
+ await micromorph(document.body, html.body)
// scroll into place and add history
if (!isBack) {
@@ -115,9 +115,9 @@
}
// now, patch head, re-executing scripts
- const elementsToRemove = document.head.querySelectorAll(":not([spa-preserve])")
+ const elementsToRemove = document.head.querySelectorAll(":not([data-persist])")
elementsToRemove.forEach((el) => el.remove())
- const elementsToAdd = html.head.querySelectorAll(":not([spa-preserve])")
+ const elementsToAdd = html.head.querySelectorAll(":not([data-persist])")
elementsToAdd.forEach((el) => document.head.appendChild(el))
// delay setting the url until now
--
Gitblit v1.10.0