diff --git a/src/browser/base/content/zen-assets.inc.xhtml b/src/browser/base/content/zen-assets.inc.xhtml
index fb9693633..b12b9a65f 100644
--- a/src/browser/base/content/zen-assets.inc.xhtml
+++ b/src/browser/base/content/zen-assets.inc.xhtml
@@ -45,8 +45,6 @@
# Scripts used all over the browser
-
-
diff --git a/src/browser/components/places/content/bookmarkProperties-xhtml.patch b/src/browser/components/places/content/bookmarkProperties-xhtml.patch
index 3721631b6..9ee0344b3 100644
--- a/src/browser/components/places/content/bookmarkProperties-xhtml.patch
+++ b/src/browser/components/places/content/bookmarkProperties-xhtml.patch
@@ -1,5 +1,5 @@
diff --git a/browser/components/places/content/bookmarkProperties.xhtml b/browser/components/places/content/bookmarkProperties.xhtml
-index 4aad4e4fb4139aa3d81e00eefa82e26b697df973..a2bfac11322f3679af9b51ebc7478323aa8e4adb 100644
+index 4aad4e4fb4139aa3d81e00eefa82e26b697df973..831e42a4a55e277b5b8e81e4317a2007c5306996 100644
--- a/browser/components/places/content/bookmarkProperties.xhtml
+++ b/browser/components/places/content/bookmarkProperties.xhtml
@@ -38,6 +38,8 @@
@@ -15,7 +15,7 @@ index 4aad4e4fb4139aa3d81e00eefa82e26b697df973..a2bfac11322f3679af9b51ebc7478323
src="chrome://browser/locale/places/bookmarkProperties.properties"/>
-+
++
+
diff --git a/src/browser/components/sessionstore/SessionStartup-sys-mjs.patch b/src/browser/components/sessionstore/SessionStartup-sys-mjs.patch
index ae491f2ca..4425f4e0e 100644
--- a/src/browser/components/sessionstore/SessionStartup-sys-mjs.patch
+++ b/src/browser/components/sessionstore/SessionStartup-sys-mjs.patch
@@ -1,5 +1,5 @@
diff --git a/browser/components/sessionstore/SessionStartup.sys.mjs b/browser/components/sessionstore/SessionStartup.sys.mjs
-index be23213ae9ec7e59358a17276c6c3764d38d9996..c7bb413d7e2d8ce3f9bc38a925d57e59d882111d 100644
+index be23213ae9ec7e59358a17276c6c3764d38d9996..229bb1346f9349892acb1e9e05109b28f5a5b45f 100644
--- a/browser/components/sessionstore/SessionStartup.sys.mjs
+++ b/browser/components/sessionstore/SessionStartup.sys.mjs
@@ -40,6 +40,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
@@ -19,17 +19,16 @@ index be23213ae9ec7e59358a17276c6c3764d38d9996..c7bb413d7e2d8ce3f9bc38a925d57e59
this._initialized = true;
gOnceInitializedDeferred.resolve();
return;
-@@ -179,6 +180,9 @@ export var SessionStartup = {
+@@ -179,6 +180,8 @@ export var SessionStartup = {
this._initialState = parsed;
}
-+ this._initialState ||= {};
+ lazy.ZenSessionStore.onFileRead(this._initialState);
+
if (this._initialState == null) {
// No valid session found.
this._sessionType = this.NO_SESSION;
-@@ -335,12 +339,7 @@ export var SessionStartup = {
+@@ -335,12 +338,7 @@ export var SessionStartup = {
isAutomaticRestoreEnabled() {
if (this._resumeSessionEnabled === null) {
this._resumeSessionEnabled =
diff --git a/src/zen/common/ZenPreloadedScripts.js b/src/zen/common/ZenPreloadedScripts.js
index ea62dadb4..fde326ff0 100644
--- a/src/zen/common/ZenPreloadedScripts.js
+++ b/src/zen/common/ZenPreloadedScripts.js
@@ -5,6 +5,8 @@
// prettier-ignore
{
+ Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenWorkspaceBookmarksStorage.js", this);
+
ChromeUtils.importESModule("chrome://browser/content/ZenStartup.mjs", { global: "current" });
ChromeUtils.importESModule("chrome://browser/content/zen-components/ZenCompactMode.mjs", { global: "current" });
ChromeUtils.importESModule("chrome://browser/content/ZenUIManager.mjs", { global: "current" });
diff --git a/src/zen/sessionstore/ZenSessionManager.sys.mjs b/src/zen/sessionstore/ZenSessionManager.sys.mjs
index 6c6155712..435681c94 100644
--- a/src/zen/sessionstore/ZenSessionManager.sys.mjs
+++ b/src/zen/sessionstore/ZenSessionManager.sys.mjs
@@ -160,8 +160,8 @@ export class nsZenSessionManager {
// initial state, for example if the user had 'restore previous
// session' disabled before migration. In that case, we try
// to restore the last closed normal window.
- if (!initialState.windows?.length) {
- let normalClosedWindow = initialState._closedWindows?.find(
+ if (!initialState?.windows?.length) {
+ let normalClosedWindow = initialState?._closedWindows?.find(
(win) => !win.isPopup && !win.isTaskbarTab && !win.isPrivate
);
if (normalClosedWindow) {
@@ -169,7 +169,7 @@ export class nsZenSessionManager {
this.log('Restoring tabs from last closed normal window');
}
}
- for (const winData of initialState.windows || []) {
+ for (const winData of initialState?.windows || []) {
winData.spaces = this._migrationData?.spaces || [];
}
// Save the state to the sidebar object so that it gets written
@@ -224,8 +224,7 @@ export class nsZenSessionManager {
/**
* Saves the current session state. Collects data and writes to disk.
*
- * @param state
- * The current session state.
+ * @param state The current session state.
*/
saveState(state) {
if (!state?.windows?.length) {
diff --git a/src/zen/workspaces/ZenWorkspacesStorage.mjs b/src/zen/workspaces/ZenWorkspaceBookmarksStorage.js
similarity index 100%
rename from src/zen/workspaces/ZenWorkspacesStorage.mjs
rename to src/zen/workspaces/ZenWorkspaceBookmarksStorage.js
diff --git a/src/zen/workspaces/jar.inc.mn b/src/zen/workspaces/jar.inc.mn
index 4ab11e7ab..bbf8beb04 100644
--- a/src/zen/workspaces/jar.inc.mn
+++ b/src/zen/workspaces/jar.inc.mn
@@ -6,7 +6,7 @@
content/browser/zen-components/ZenWorkspace.mjs (../../zen/workspaces/ZenWorkspace.mjs)
content/browser/zen-components/ZenWorkspaces.mjs (../../zen/workspaces/ZenWorkspaces.mjs)
content/browser/zen-components/ZenWorkspaceCreation.mjs (../../zen/workspaces/ZenWorkspaceCreation.mjs)
- content/browser/zen-components/ZenWorkspacesStorage.mjs (../../zen/workspaces/ZenWorkspacesStorage.mjs)
+ content/browser/zen-components/ZenWorkspaceBookmarksStorage.js (../../zen/workspaces/ZenWorkspaceBookmarksStorage.js)
content/browser/zen-components/ZenGradientGenerator.mjs (../../zen/workspaces/ZenGradientGenerator.mjs)
* content/browser/zen-styles/zen-workspaces.css (../../zen/workspaces/zen-workspaces.css)
content/browser/zen-styles/zen-gradient-generator.css (../../zen/workspaces/zen-gradient-generator.css)
\ No newline at end of file