From c88fd2cf7466ca2dc0ca8468e9d5e89a9a294c1a Mon Sep 17 00:00:00 2001
From: Chris Thoburn <runspired@users.noreply.github.com>
Date: Thu, 13 Mar 2025 03:43:52 -0700
Subject: [PATCH 1/2] feat: persist runtime config

---
 packages/build-config/src/runtime.ts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/packages/build-config/src/runtime.ts b/packages/build-config/src/runtime.ts
index b3c0ad4e4d..1b0d52f4c5 100644
--- a/packages/build-config/src/runtime.ts
+++ b/packages/build-config/src/runtime.ts
@@ -4,6 +4,11 @@ const RuntimeConfig = {
   debug: {},
 };
 
+const settings = sessionStorage.getItem('WarpDriveRuntimeConfig');
+if (settings) {
+  Object.assign(RuntimeConfig, JSON.parse(settings));
+}
+
 export function getRuntimeConfig(): typeof RuntimeConfig {
   return RuntimeConfig;
 }
@@ -18,4 +23,5 @@ export function getRuntimeConfig(): typeof RuntimeConfig {
  */
 export function setLogging(config: Partial<LOG_CONFIG>): void {
   Object.assign(RuntimeConfig.debug, config);
+  sessionStorage.setItem('WarpDriveRuntimeConfig', JSON.stringify(RuntimeConfig));
 }

From 65a6996732ab343356cbc72d5ce1b76440554df3 Mon Sep 17 00:00:00 2001
From: Chris Thoburn <runspired@users.noreply.github.com>
Date: Thu, 13 Mar 2025 03:45:11 -0700
Subject: [PATCH 2/2] ensure fastboot works

---
 packages/build-config/src/runtime.ts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/build-config/src/runtime.ts b/packages/build-config/src/runtime.ts
index 1b0d52f4c5..e9d2d38a38 100644
--- a/packages/build-config/src/runtime.ts
+++ b/packages/build-config/src/runtime.ts
@@ -4,7 +4,7 @@ const RuntimeConfig = {
   debug: {},
 };
 
-const settings = sessionStorage.getItem('WarpDriveRuntimeConfig');
+const settings = globalThis.sessionStorage?.getItem('WarpDriveRuntimeConfig');
 if (settings) {
   Object.assign(RuntimeConfig, JSON.parse(settings));
 }
@@ -23,5 +23,5 @@ export function getRuntimeConfig(): typeof RuntimeConfig {
  */
 export function setLogging(config: Partial<LOG_CONFIG>): void {
   Object.assign(RuntimeConfig.debug, config);
-  sessionStorage.setItem('WarpDriveRuntimeConfig', JSON.stringify(RuntimeConfig));
+  globalThis.sessionStorage?.setItem('WarpDriveRuntimeConfig', JSON.stringify(RuntimeConfig));
 }