diff --git a/build/flatpak/app.zen_browser.zen.yml.template b/build/flatpak/app.zen_browser.zen.yml.template index 03327915d..f029bcfbb 100644 --- a/build/flatpak/app.zen_browser.zen.yml.template +++ b/build/flatpak/app.zen_browser.zen.yml.template @@ -20,7 +20,6 @@ finish-args: - --socket=cups - --persist=.zen - --env=DICPATH=/usr/share/hunspell - - --filesystem=xdg-config/gtk-3.0:ro - --filesystem=xdg-download:rw - --filesystem=/run/.heim_org.h5l.kcm-socket - --filesystem=xdg-run/speech-dispatcher:ro diff --git a/src/zen/drag-and-drop/ZenDragAndDrop.js b/src/zen/drag-and-drop/ZenDragAndDrop.js index 0c658cb89..b76972fed 100644 --- a/src/zen/drag-and-drop/ZenDragAndDrop.js +++ b/src/zen/drag-and-drop/ZenDragAndDrop.js @@ -627,6 +627,11 @@ gZenWorkspaces .changeWorkspaceShortcut(isNearLeftEdge ? -1 : 1, false, /* Disable wrapping */ true) .then((spaceChanged) => { + if (AppConstants.platform !== "macosx") { + // See the hack in #createDragImageForTabs for more details which + // explains why we need to do this on non-macOS platforms. + return; + } let tabs = this.originalDragImageArgs[0].children; const { isDarkMode, isExplicitMode } = gZenThemePicker.getGradientForWorkspace(spaceChanged); diff --git a/src/zen/sessionstore/ZenSessionManager.sys.mjs b/src/zen/sessionstore/ZenSessionManager.sys.mjs index 249945bac..154f35a02 100644 --- a/src/zen/sessionstore/ZenSessionManager.sys.mjs +++ b/src/zen/sessionstore/ZenSessionManager.sys.mjs @@ -205,7 +205,7 @@ export class nsZenSessionManager { // object will always be empty after migration because we haven't // gotten the opportunity to save the session yet. if (this._shouldRunMigration) { - this.#runStateMigration(initialState); + initialState = this.#runStateMigration(initialState); } // If there are no windows, we create an empty one. By default, // firefox would create simply a new empty window, but we want @@ -215,7 +215,11 @@ export class nsZenSessionManager { if (!initialState?.windows?.length) { this.log("No windows found in initial state, creating an empty one"); initialState ||= {}; - initialState.windows = this._shouldRunMigration ? [] : [{}]; + initialState.windows = [ + { + tabs: [], + }, + ]; } // When we don't have browser.startup.page set to resume session, // we only want to restore the pinned tabs into the new windows. @@ -295,6 +299,14 @@ export class nsZenSessionManager { this.log("Restoring tabs from last closed normal window"); } } + if (!initialState?.windows?.length) { + initialState ||= {}; + initialState.windows = [ + { + tabs: [], + }, + ]; + } for (const winData of initialState?.windows || []) { winData.spaces = this._migrationData?.spaces || []; if (winData.tabs) { @@ -312,6 +324,7 @@ export class nsZenSessionManager { // Save the state to the sidebar object so that it gets written // to the session file. delete this._migrationData; + return initialState; } /** diff --git a/src/zen/workspaces/zen-workspaces.css b/src/zen/workspaces/zen-workspaces.css index 5b80f4685..7b3f3fdb6 100644 --- a/src/zen/workspaces/zen-workspaces.css +++ b/src/zen/workspaces/zen-workspaces.css @@ -155,8 +155,8 @@ /* Mark workspaces indicator */ .zen-current-workspace-indicator { - --indicator-gap: var(--toolbarbutton-inner-padding); - padding: calc(3px + var(--tab-inline-padding) + var(--zen-toolbox-padding)); + --indicator-gap: calc(var(--toolbarbutton-inner-padding) - 1px); + padding: calc(2px + var(--tab-inline-padding) + var(--zen-toolbox-padding)); font-weight: 500; position: relative; max-height: var(--zen-workspace-indicator-height); @@ -231,7 +231,7 @@ @media (-moz-platform: windows) { & img { - margin-bottom: -4px; + margin-bottom: -2px; } } } diff --git a/surfer.json b/surfer.json index 6e4029ff7..99ea0cc8d 100644 --- a/surfer.json +++ b/surfer.json @@ -20,7 +20,7 @@ "brandShortName": "Zen", "brandFullName": "Zen Browser", "release": { - "displayVersion": "1.18b", + "displayVersion": "1.18.1b", "github": { "repo": "zen-browser/desktop" },