From 72cfd8191ad33f8d70e6eceafb6b16bb100d2e51 Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Fri, 20 Feb 2026 16:07:42 -0700 Subject: [PATCH] Fix React hydration mismatch and clean up stale service workers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Pin formatDate to timeZone: 'UTC' so server and client produce identical date strings (fixes React error #418) - Add one-shot service worker unregistration since SpiceBook doesn't use one — clears phantom registrations from browser cache --- frontend/src/components/NotebookCard.tsx | 1 + frontend/src/layouts/NotebookLayout.astro | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/frontend/src/components/NotebookCard.tsx b/frontend/src/components/NotebookCard.tsx index 818fdd7..329499b 100644 --- a/frontend/src/components/NotebookCard.tsx +++ b/frontend/src/components/NotebookCard.tsx @@ -13,6 +13,7 @@ function formatDate(iso: string): string { month: 'short', day: 'numeric', year: 'numeric', + timeZone: 'UTC', }); } catch { return iso; diff --git a/frontend/src/layouts/NotebookLayout.astro b/frontend/src/layouts/NotebookLayout.astro index 69f8a77..3951e07 100644 --- a/frontend/src/layouts/NotebookLayout.astro +++ b/frontend/src/layouts/NotebookLayout.astro @@ -51,6 +51,14 @@ const canonicalUrl = canonicalPath +