diff --git a/README.md b/README.md index b835b0ae9..9f6e395c1 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,9 @@ ## 🖥️ Compatibility -Zen is currently built using Firefox version `138.0.1`! 🚀 +Zen is currently built using Firefox version `138.0.3`! 🚀 -- [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 138.0.1`! +- [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 138.0.3`! - Check out the latest [release notes](https://zen-browser.app/release-notes)! - Part of our mission is to keep Zen up-to-date with the latest version of Firefox, so you can enjoy the latest features and security updates! diff --git a/build/firefox-cache/l10n-last-commit-hash b/build/firefox-cache/l10n-last-commit-hash index 21cd03a56..3c026b98f 100644 --- a/build/firefox-cache/l10n-last-commit-hash +++ b/build/firefox-cache/l10n-last-commit-hash @@ -1 +1 @@ -8113a66aeeec42dca9739c7b742a3408cb5b7cf7 \ No newline at end of file +a7fc259e12695c40d6ae249950f054221fed4f95 \ No newline at end of file diff --git a/package.json b/package.json index e468d499b..09926cc0b 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "scripts": { "build": "surfer build", "build:ui": "surfer build --ui", - "start": "cd engine && ./mach run --noprofile --marionette", + "start": "cd engine && ./mach run --noprofile", "import": "surfer import", "export": "surfer export", "init": "npm run download && npm run bootstrap && npm run import", diff --git a/scripts/check_rc_response.py b/scripts/check_rc_response.py index 9ac847d7e..c623fae88 100644 --- a/scripts/check_rc_response.py +++ b/scripts/check_rc_response.py @@ -38,7 +38,7 @@ def get_rc_response() -> Optional[str]: for tag_dict in data["tags"]: tag = tag_dict["tag"] if (tag.startswith("FIREFOX") and tag.endswith("_BUILD1") - and "ESR" not in tag and "b" not in tag): + and "ESR" not in tag and "b" not in tag and "ANDROID" not in tag): return (tag.replace("FIREFOX_", "").replace("_BUILD1", "").replace("_", ".")) except (FileNotFoundError, json.JSONDecodeError) as e: diff --git a/src/browser/components/extensions/parent/ext-tabs-js.patch b/src/browser/components/extensions/parent/ext-tabs-js.patch index a0bc87efd..e99a61df1 100644 --- a/src/browser/components/extensions/parent/ext-tabs-js.patch +++ b/src/browser/components/extensions/parent/ext-tabs-js.patch @@ -1,8 +1,8 @@ diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js -index b47f0510e32d788dfe7c3109474c4512c9900d4a..49697125a2998bbd50d87c54e2c5974baaf9a7e2 100644 +index 517ea0079c12941a844a4f9e4ba694c6411887ee..510ab14dfa2178c332c9862d6a01b75bd12dfe3b 100644 --- a/browser/components/extensions/parent/ext-tabs.js +++ b/browser/components/extensions/parent/ext-tabs.js -@@ -468,6 +468,7 @@ this.tabs = class extends ExtensionAPIPersistent { +@@ -482,6 +482,7 @@ this.tabs = class extends ExtensionAPIPersistent { } let tab = tabManager.getWrapper(event.originalTarget); @@ -10,3 +10,11 @@ index b47f0510e32d788dfe7c3109474c4512c9900d4a..49697125a2998bbd50d87c54e2c5974b let changeInfo = {}; for (let prop of needed) { +@@ -836,6 +837,7 @@ this.tabs = class extends ExtensionAPIPersistent { + }); + } + ++ window.gZenCompactModeManager._nextTimeWillBeActive = active; + let nativeTab = window.gBrowser.addTab(url, options); + + if (active) { diff --git a/src/zen/common/styles/zen-urlbar.css b/src/zen/common/styles/zen-urlbar.css index 80ae59895..f48448385 100644 --- a/src/zen/common/styles/zen-urlbar.css +++ b/src/zen/common/styles/zen-urlbar.css @@ -98,6 +98,10 @@ position: relative; } +#identity-icon-box { + outline: none !important; +} + :root[zen-single-toolbar='true'] #urlbar:not([breakout-extend='true']) { & #urlbar-input { cursor: default; @@ -135,20 +139,6 @@ margin-bottom: auto !important; } -#identity-box:has(#notification-popup-box:not([hidden='true'])) #identity-icon-box, -#identity-box:has(#notification-popup-box:not([hidden='true'])) #identity-permission-box { - margin-right: 0px !important; -} - -#identity-box:has(#identity-permission-box:is([hasPermissions], [hasSharingIcon])):not( - [pageproxystate='invalid'] - ) - #identity-icon-box { - border-top-right-radius: 0 !important; - border-bottom-right-radius: 0 !important; - margin-right: 0 !important; -} - #tracking-protection-icon-container, #page-action-buttons { order: 2 !important; @@ -161,7 +151,7 @@ #urlbar[breakout-extend='true'] { z-index: 2; - .urlbar-input-container { + :root:not([zen-single-toolbar='true']) & .urlbar-input-container { --urlbar-container-padding: 0px; } @@ -246,7 +236,7 @@ #urlbar:not([open]) { #identity-box:not([pageproxystate='invalid']) { - order: 9; + order: 2; } } @@ -267,6 +257,7 @@ margin-bottom: auto; height: 24px; /* double 12px */ width: 24px; + padding: 4px !important; &:hover { background: var(--toolbarbutton-hover-background); @@ -279,20 +270,15 @@ :root:not([zen-single-toolbar='true']) { #notification-popup-box { - border-radius: 999px; margin: 0 4px 0 0 !important; - padding: 0 4px; - min-width: calc( - var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding) - ) !important; - height: calc(var(--urlbar-min-height) - 4px - 4 * var(--urlbar-container-padding)) !important; justify-content: center; gap: 8px; + background: transparent; & > image { - padding: 0; margin-top: auto; margin-bottom: auto; + padding: 0; } } } @@ -387,6 +373,7 @@ button.popup-notification-dropmarker { #identity-box:is(:not(.chromeUI), [pageproxystate='invalid']) #identity-icon-box { border-radius: var(--urlbar-icon-border-radius) !important; + min-width: 30px; } /* Notification Stack */ diff --git a/src/zen/compact-mode/ZenCompactMode.mjs b/src/zen/compact-mode/ZenCompactMode.mjs index 4cb01d484..52693c717 100644 --- a/src/zen/compact-mode/ZenCompactMode.mjs +++ b/src/zen/compact-mode/ZenCompactMode.mjs @@ -615,10 +615,12 @@ var gZenCompactModeManager = { this.preference && !this.isSidebarPotentiallyOpen() && this._canShowBackgroundTabToast && - !gZenGlanceManager._animating + !gZenGlanceManager._animating && + !this._nextTimeWillBeActive ) { gZenUIManager.showToast('zen-background-tab-opened-toast'); } + delete this._nextTimeWillBeActive; }, }; diff --git a/src/zen/downloads/ZenDownloadAnimation.mjs b/src/zen/downloads/ZenDownloadAnimation.mjs index 10f7c2055..85cb92799 100644 --- a/src/zen/downloads/ZenDownloadAnimation.mjs +++ b/src/zen/downloads/ZenDownloadAnimation.mjs @@ -43,7 +43,10 @@ } #handleNewDownload() { - if (!Services.prefs.getBoolPref('zen.downloads.download-animation')) { + if ( + !Services.prefs.getBoolPref('zen.downloads.download-animation') || + !ZenMultiWindowFeature.isActiveWindow + ) { return; } diff --git a/src/zen/tabs/zen-tabs/vertical-tabs.css b/src/zen/tabs/zen-tabs/vertical-tabs.css index 225ba6cec..e3cb8a294 100644 --- a/src/zen/tabs/zen-tabs/vertical-tabs.css +++ b/src/zen/tabs/zen-tabs/vertical-tabs.css @@ -523,6 +523,7 @@ & .tab-audio-button { margin-inline-start: -4px; margin-inline-end: 2px; + margin-top: -2px; } & #titlebar { diff --git a/src/zen/toolkit/common/ZenCommonUtils.h b/src/zen/toolkit/common/ZenCommonUtils.h index 229dc4a9a..ac51b5b37 100644 --- a/src/zen/toolkit/common/ZenCommonUtils.h +++ b/src/zen/toolkit/common/ZenCommonUtils.h @@ -49,7 +49,7 @@ class ZenCommonUtils final : public nsIZenCommonUtils { #if !defined(XP_MACOSX) static auto PlayHapticFeedbackInternal() -> nsresult { // No-op on non-macOS platforms - return NS_ERROR_NOT_IMPLEMENTED; + return NS_OK; } #else static auto PlayHapticFeedbackInternal() -> nsresult; diff --git a/surfer.json b/surfer.json index 80e36f442..e98f7b870 100644 --- a/surfer.json +++ b/surfer.json @@ -5,8 +5,8 @@ "binaryName": "zen", "version": { "product": "firefox", - "version": "138.0.1", - "candidate": "138.0.1" + "version": "138.0.3", + "candidate": "138.0.3" }, "buildOptions": { "generateBranding": true @@ -39,7 +39,7 @@ "brandShortName": "Twilight", "brandFullName": "Zen Twilight", "release": { - "displayVersion": "1.12.4t", + "displayVersion": "1.13t", "github": { "repo": "zen-browser/desktop" }