diff --git a/README.md b/README.md index dfa52dcdd..537d574ee 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ ## 🖥️ Compatibility -Zen is currently built using Firefox version `136.0`! 🚀 +Zen is currently built using Firefox version `136.0.1`! 🚀 - [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 136.0`! - Check out the latest [release notes](https://zen-browser.app/release-notes)! diff --git a/firefox-cache/l10n-last-commit-hash b/firefox-cache/l10n-last-commit-hash index e69de29bb..2991f1839 100644 --- a/firefox-cache/l10n-last-commit-hash +++ b/firefox-cache/l10n-last-commit-hash @@ -0,0 +1 @@ +6ad0ab3c43a6208d8bcd997b40e802fccd48ba0a \ No newline at end of file diff --git a/src/browser/app/profile/zen-browser.js b/src/browser/app/profile/zen-browser.js index 5d974e558..22d6805c9 100644 --- a/src/browser/app/profile/zen-browser.js +++ b/src/browser/app/profile/zen-browser.js @@ -118,6 +118,7 @@ pref('zen.view.compact.animate-sidebar', true); pref('zen.view.compact.show-sidebar-and-toolbar-on-hover', true); pref('zen.urlbar.replace-newtab', true); +pref('zen.urlbar.show-protections-icon', false); pref('zen.urlbar.behavior', 'floating-on-type'); // default, floating-on-type, float pref('zen.urlbar.wait-to-clear', 45000); // in ms (default 45s) pref('zen.urlbar.show-domain-only-in-sidebar', true); diff --git a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css index 58e9b2114..8b22a4c1e 100644 --- a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css +++ b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css @@ -870,6 +870,7 @@ pointer-events: none; width: 16px; height: 16px; + border-radius: 4px; } &::after { diff --git a/src/browser/base/content/zen-styles/zen-urlbar.css b/src/browser/base/content/zen-styles/zen-urlbar.css index 568790c0b..064bfb6b0 100644 --- a/src/browser/base/content/zen-styles/zen-urlbar.css +++ b/src/browser/base/content/zen-styles/zen-urlbar.css @@ -16,6 +16,10 @@ --urlbarView-highlight-background: var(--toolbarbutton-hover-background); border-radius: var(--toolbarbutton-border-radius); padding: 1px; + + :root:not([zen-single-toolbar='true']) &[zen-floating-urlbar='true'] { + --urlbar-container-padding: 2px !important; + } } .urlbar-input::placeholder { @@ -90,6 +94,12 @@ justify-content: center !important; align-items: center !important; margin: 0; + + :root[zen-single-toolbar='true'] & { + padding: 6px !important; + width: unset !important; + height: unset !important; + } } #tracking-protection-icon-container { @@ -454,6 +464,12 @@ button.popup-notification-dropmarker { } } +@media not (-moz-bool-pref: 'zen.urlbar.show-protections-icon') { + #tracking-protection-icon-container { + display: none !important; + } +} + /* Code ~~stolen~~ taken inspiration from https://github.com/greeeen-dev/zen-arc-cmd-bar * * MIT License diff --git a/src/browser/base/zen-components/ZenCompactMode.mjs b/src/browser/base/zen-components/ZenCompactMode.mjs index b378a7e31..87aaf6389 100644 --- a/src/browser/base/zen-components/ZenCompactMode.mjs +++ b/src/browser/base/zen-components/ZenCompactMode.mjs @@ -37,6 +37,9 @@ var gZenCompactModeManager = { this.addMouseActions(); this.addContextMenu(); + + // Clear hover states when window state changes (minimize, maximize, etc.) + window.addEventListener('sizemodechange', () => this._clearAllHoverStates()); }, get preference() { @@ -450,4 +453,15 @@ var gZenCompactModeManager = { let toolbar = document.getElementById('zen-appcontent-navbar-container'); toolbar.toggleAttribute('zen-user-show'); }, + + _clearAllHoverStates() { + // Clear hover attributes from all hoverable elements + for (let entry of this.hoverableElements) { + const target = entry.element; + if (target && !target.matches(':hover') && target.hasAttribute('zen-has-hover')) { + target.removeAttribute('zen-has-hover'); + this.clearFlashTimeout('has-hover' + target.id); + } + } + }, }; diff --git a/src/browser/base/zen-components/ZenGlanceManager.mjs b/src/browser/base/zen-components/ZenGlanceManager.mjs index c29a15432..fa7dc68f0 100644 --- a/src/browser/base/zen-components/ZenGlanceManager.mjs +++ b/src/browser/base/zen-components/ZenGlanceManager.mjs @@ -211,7 +211,6 @@ return; } - console.log(hasFocused); if (onTabClose && hasFocused && !this.#confirmationTimeout) { const cancelButton = document.getElementById('zen-glance-sidebar-close'); cancelButton.setAttribute('waitconfirmation', true); diff --git a/src/browser/base/zen-components/ZenPinnedTabManager.mjs b/src/browser/base/zen-components/ZenPinnedTabManager.mjs index 79d8aba77..aae3f515b 100644 --- a/src/browser/base/zen-components/ZenPinnedTabManager.mjs +++ b/src/browser/base/zen-components/ZenPinnedTabManager.mjs @@ -466,6 +466,7 @@ if (!isClosing) { tab.removeAttribute('zen-pin-id'); + tab.removeAttribute('zen-essential'); // Just in case if (!tab.hasAttribute('zen-workspace-id') && ZenWorkspaces.workspaceEnabled) { const workspace = await ZenWorkspaces.getActiveWorkspace(); diff --git a/src/browser/components/sessionstore/SessionStore-sys-mjs.patch b/src/browser/components/sessionstore/SessionStore-sys-mjs.patch index 5cbcfaa22..a22222c10 100644 --- a/src/browser/components/sessionstore/SessionStore-sys-mjs.patch +++ b/src/browser/components/sessionstore/SessionStore-sys-mjs.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs -index f814772114948f87cbb3c3a7231c95ea1f68d776..5c65be81c635e2cb457d8975c197d6a22f6f5bc7 100644 +index f814772114948f87cbb3c3a7231c95ea1f68d776..ae35daa518ca25f4fc95ef983519c390bf088a68 100644 --- a/browser/components/sessionstore/SessionStore.sys.mjs +++ b/browser/components/sessionstore/SessionStore.sys.mjs @@ -3171,7 +3171,7 @@ var SessionStoreInternal = { @@ -45,7 +45,7 @@ index f814772114948f87cbb3c3a7231c95ea1f68d776..5c65be81c635e2cb457d8975c197d6a2 selectedIndex = 1; winData.title = tabbrowser.tabs[0].label; } -@@ -6086,6 +6087,21 @@ var SessionStoreInternal = { +@@ -6086,8 +6087,23 @@ var SessionStoreInternal = { // Most of tabData has been restored, now continue with restoring // attributes that may trigger external events. @@ -65,5 +65,8 @@ index f814772114948f87cbb3c3a7231c95ea1f68d776..5c65be81c635e2cb457d8975c197d6a2 + tab.setAttribute("zenDefaultUserContextId", true); + } - if (tabData.pinned) { +- if (tabData.pinned) { ++ if (tabData.pinned || tabData.zenEssential) { tabbrowser.pinTab(tab); + } else { + tabbrowser.unpinTab(tab); diff --git a/src/browser/components/sessionstore/TabState-sys-mjs.patch b/src/browser/components/sessionstore/TabState-sys-mjs.patch index 7b4d912d8..91b9a309b 100644 --- a/src/browser/components/sessionstore/TabState-sys-mjs.patch +++ b/src/browser/components/sessionstore/TabState-sys-mjs.patch @@ -1,8 +1,8 @@ diff --git a/browser/components/sessionstore/TabState.sys.mjs b/browser/components/sessionstore/TabState.sys.mjs -index 8f7ed557e6aa61e7e16ed4a8d785ad5fe651b3d8..4c9f17408b912a2c51ebc1a670062203bf4994f3 100644 +index 8f7ed557e6aa61e7e16ed4a8d785ad5fe651b3d8..aff63696d198055886960072a6130318e099ae42 100644 --- a/browser/components/sessionstore/TabState.sys.mjs +++ b/browser/components/sessionstore/TabState.sys.mjs -@@ -80,10 +80,19 @@ class _TabState { +@@ -80,10 +80,20 @@ class _TabState { tabData.muteReason = tab.muteReason; } @@ -14,6 +14,7 @@ index 8f7ed557e6aa61e7e16ed4a8d785ad5fe651b3d8..4c9f17408b912a2c51ebc1a670062203 + tabData.zenWorkspace = tab.getAttribute("zen-workspace-id"); + tabData.zenPinnedId = tab.getAttribute("zen-pin-id"); + tabData.zenEssential = tab.getAttribute("zen-essential"); ++ tabData.pinned = tabData.pinned || tabData.zenEssential; + tabData.zenDefaultUserContextId = tab.getAttribute("zenDefaultUserContextId"); + tabData.zenPinnedEntry = tab.getAttribute("zen-pinned-entry"); + tabData.zenPinnedIcon = tab.getAttribute("zen-pinned-icon"); diff --git a/src/browser/components/tabbrowser/content/tabbrowser-js.patch b/src/browser/components/tabbrowser/content/tabbrowser-js.patch index da59666c3..d288a20db 100644 --- a/src/browser/components/tabbrowser/content/tabbrowser-js.patch +++ b/src/browser/components/tabbrowser/content/tabbrowser-js.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js -index 628aa6596627c85efe361fc1ece8fd58f7ee653e..6bd5149f4be6c18cbf733b5b9ee01534af61bef9 100644 +index 628aa6596627c85efe361fc1ece8fd58f7ee653e..cd3ad53dbe399383178d0eff459ad72079b02024 100644 --- a/browser/components/tabbrowser/content/tabbrowser.js +++ b/browser/components/tabbrowser/content/tabbrowser.js @@ -412,11 +412,50 @@ @@ -529,13 +529,11 @@ index 628aa6596627c85efe361fc1ece8fd58f7ee653e..6bd5149f4be6c18cbf733b5b9ee01534 } else { aIndex = Math.max(aIndex, this.pinnedTabCount); } -@@ -5684,11 +5821,18 @@ - } +@@ -5685,10 +5822,17 @@ this._handleTabMove(aTab, () => { -- let neighbor = this.tabs[aIndex]; + let neighbor = this.tabs[aIndex]; - if (forceStandaloneTab && neighbor.group) { -+ let neighbor = this.tabs.filter(tab => !tab.hasAttribute("zen-glance-tab"))[aIndex]; + const _tPos = aTab._tPos; + if ((forceStandaloneTab && neighbor.group) || neighbor.group?.hasAttribute("split-view-group")) { neighbor = neighbor.group; diff --git a/surfer.json b/surfer.json index 6e2e5bc25..ca8a24aae 100644 --- a/surfer.json +++ b/surfer.json @@ -5,8 +5,8 @@ "binaryName": "zen", "version": { "product": "firefox", - "version": "136.0", - "candidate": "136.0" + "version": "136.0.1", + "candidate": "136.0.1" }, "buildOptions": { "generateBranding": true @@ -53,4 +53,4 @@ "licenseType": "MPL-2.0" }, "updateHostname": "updates.zen-browser.app" -} +} \ No newline at end of file