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/build.ts |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/quartz/build.ts b/quartz/build.ts
index d9f5efc..b98f4a8 100644
--- a/quartz/build.ts
+++ b/quartz/build.ts
@@ -143,6 +143,7 @@
   }
 
   const watcher = chokidar.watch(".", {
+    awaitWriteFinish: { stabilityThreshold: 250 },
     persistent: true,
     cwd: argv.directory,
     ignoreInitial: true,
@@ -151,16 +152,19 @@
   const changes: ChangeEvent[] = []
   watcher
     .on("add", (fp) => {
+      fp = toPosixPath(fp)
       if (buildData.ignored(fp)) return
       changes.push({ path: fp as FilePath, type: "add" })
       void rebuild(changes, clientRefresh, buildData)
     })
     .on("change", (fp) => {
+      fp = toPosixPath(fp)
       if (buildData.ignored(fp)) return
       changes.push({ path: fp as FilePath, type: "change" })
       void rebuild(changes, clientRefresh, buildData)
     })
     .on("unlink", (fp) => {
+      fp = toPosixPath(fp)
       if (buildData.ignored(fp)) return
       changes.push({ path: fp as FilePath, type: "delete" })
       void rebuild(changes, clientRefresh, buildData)

--
Gitblit v1.10.0