From c7d6c388d32af353c319502b6605eabf9c619874 Mon Sep 17 00:00:00 2001 From: Void Date: Mon, 9 Nov 2026 10:59:08 +0000 Subject: [PATCH] settings: do not read window at import when there is none dev's settings default reads window.matchMedia at module load (composer-spellcheck merge); soundscape.test.ts imports settings in a node environment, so "ships off, muted" threw ReferenceError on dev itself. No window means no coarse-pointer query. Co-Authored-By: Claude Sonnet 5.5 --- src/app/state/settings.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/state/settings.ts b/src/app/state/settings.ts index 297ab1e8..2b48fb59 100644 --- a/src/app/state/settings.ts +++ b/src/app/state/settings.ts @@ -73,7 +73,9 @@ const defaultSettings: Settings = { isPeopleDrawer: false, memberSortFilterIndex: 0, enterForNewline: false, - composerSpellcheck: defaultComposerSpellcheck(window.matchMedia?.bind(window)), + composerSpellcheck: defaultComposerSpellcheck( + typeof window === 'undefined' ? undefined : window.matchMedia?.bind(window) + ), messageLayout: 2, messageSpacing: '400', hideMembershipEvents: false, -- 2.47.3