diff --git a/README.md b/README.md index 3a81ce9d6..60a55aa73 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne ### Firefox Versions -- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `143.0.1`! 🚀 -- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 143.0.1`! +- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `143.0.3`! 🚀 +- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 143.0.3`! ### Contributing diff --git a/build/firefox-cache/l10n-last-commit-hash b/build/firefox-cache/l10n-last-commit-hash index e2d858a12..b24de145e 100644 --- a/build/firefox-cache/l10n-last-commit-hash +++ b/build/firefox-cache/l10n-last-commit-hash @@ -1 +1 @@ -1b0467f0c46520bbed6648f6583a9ba6710d76cb \ No newline at end of file +c8042c4961ad61678121d8ce9ca2d17cc85fefbe \ No newline at end of file diff --git a/locales/de/browser/browser/zen-general.ftl b/locales/de/browser/browser/zen-general.ftl index 775af62d7..211ee89a7 100644 --- a/locales/de/browser/browser/zen-general.ftl +++ b/locales/de/browser/browser/zen-general.ftl @@ -48,4 +48,4 @@ zen-icons-picker-emoji = .label = Emojis zen-icons-picker-svg = .label = Symbole -urlbar-search-mode-zen_actions = Actions +urlbar-search-mode-zen_actions = Aktionen diff --git a/locales/ga-IE/browser/browser/zen-general.ftl b/locales/ga-IE/browser/browser/zen-general.ftl index 27bd04d9c..eaa94e10a 100644 --- a/locales/ga-IE/browser/browser/zen-general.ftl +++ b/locales/ga-IE/browser/browser/zen-general.ftl @@ -48,4 +48,4 @@ zen-icons-picker-emoji = .label = Emojis zen-icons-picker-svg = .label = Deilbhíní -urlbar-search-mode-zen_actions = Actions +urlbar-search-mode-zen_actions = Gníomhartha diff --git a/locales/pt-PT/browser/browser/zen-general.ftl b/locales/pt-PT/browser/browser/zen-general.ftl index 3416a8c96..4963234ac 100644 --- a/locales/pt-PT/browser/browser/zen-general.ftl +++ b/locales/pt-PT/browser/browser/zen-general.ftl @@ -48,4 +48,4 @@ zen-icons-picker-emoji = .label = Emojis zen-icons-picker-svg = .label = Ícones -urlbar-search-mode-zen_actions = Actions +urlbar-search-mode-zen_actions = Ações diff --git a/src/browser/components/tabbrowser/content/tabs-js.patch b/src/browser/components/tabbrowser/content/tabs-js.patch index 3f0fd1ff9..2fa8caa1f 100644 --- a/src/browser/components/tabbrowser/content/tabs-js.patch +++ b/src/browser/components/tabbrowser/content/tabs-js.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js -index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536322388ea 100644 +index b2d54218ca51f86d4591730054d0e7e1138adb94..d2c1f7f5b68ecc531c4e9e597457221fb51207c6 100644 --- a/browser/components/tabbrowser/content/tabs.js +++ b/browser/components/tabbrowser/content/tabs.js @@ -44,6 +44,9 @@ @@ -361,7 +361,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 #ensureTabIsVisible(tab, shouldScrollInstantly = false) { - let arrowScrollbox = tab.closest("arrowscrollbox"); + let arrowScrollbox = this.arrowScrollbox; - if (arrowScrollbox.overflowing) { + if (arrowScrollbox?.overflowing) { arrowScrollbox.ensureElementIsVisible(tab, shouldScrollInstantly); } @@ -2288,6 +2343,16 @@ @@ -410,9 +410,9 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 translateX = Math.min(Math.max(translateX, firstBoundX), lastBoundX); translateY = Math.min(Math.max(translateY, firstBoundY), lastBoundY); -@@ -2743,13 +2810,18 @@ - +@@ -2744,13 +2811,18 @@ this.#clearDragOverGroupingTimer(); + this.#clearPinnedDropIndicatorTimer(); - let isPinned = draggedTab.pinned; - let numPinned = gBrowser.pinnedTabCount; @@ -433,7 +433,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 if (this.#rtlMode) { tabs.reverse(); -@@ -2760,7 +2832,7 @@ +@@ -2761,7 +2833,7 @@ let screenAxis = this.verticalMode ? "screenY" : "screenX"; let size = this.verticalMode ? "height" : "width"; let translateAxis = this.verticalMode ? "translateY" : "translateX"; @@ -442,7 +442,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 let tabSize = this.verticalMode ? tabHeight : tabWidth; let translateX = event.screenX - dragData.screenX; let translateY = event.screenY - dragData.screenY; -@@ -2776,6 +2848,12 @@ +@@ -2777,6 +2849,12 @@ ); let lastMovingTab = movingTabs.at(-1); let firstMovingTab = movingTabs[0]; @@ -455,7 +455,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 let endEdge = ele => ele[screenAxis] + bounds(ele)[size]; let lastMovingTabScreen = endEdge(lastMovingTab); let firstMovingTabScreen = firstMovingTab[screenAxis]; -@@ -2790,6 +2868,11 @@ +@@ -2791,6 +2869,11 @@ let endBound = this.#rtlMode ? endEdge(this) - lastMovingTabScreen : periphery[screenAxis] - 1 - lastMovingTabScreen; @@ -467,7 +467,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 translate = Math.min(Math.max(translate, startBound), endBound); // Center the tab under the cursor if the tab is not under the cursor while dragging -@@ -2979,6 +3062,8 @@ +@@ -2980,6 +3063,8 @@ }; let dropElement = getOverlappedElement(); @@ -476,7 +476,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 let newDropElementIndex; if (dropElement) { -@@ -3060,7 +3145,7 @@ +@@ -3061,7 +3146,7 @@ ? Services.prefs.getIntPref( "browser.tabs.dragDrop.moveOverThresholdPercent" ) / 100 @@ -485,7 +485,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 moveOverThreshold = Math.min(1, Math.max(0, moveOverThreshold)); let shouldMoveOver = overlapPercent > moveOverThreshold; if (logicalForward && shouldMoveOver) { -@@ -3093,6 +3178,7 @@ +@@ -3094,6 +3179,7 @@ // If dragging a group over another group, don't make it look like it is // possible to drop the dragged group inside the other group. if ( @@ -493,7 +493,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 isTabGroupLabel(draggedTab) && dropElement?.group && (!dropElement.group.collapsed || -@@ -3119,20 +3205,13 @@ +@@ -3120,20 +3206,13 @@ let isOutOfBounds = isPinned ? dropElement.elementIndex >= numPinned : dropElement.elementIndex < numPinned; @@ -518,7 +518,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 let groupingDelay = Services.prefs.getIntPref( "browser.tabs.dragDrop.createGroup.delayMS" ); -@@ -3140,6 +3219,7 @@ +@@ -3141,6 +3220,7 @@ // When dragging tab(s) over an ungrouped tab, signal to the user // that dropping the tab(s) will create a new tab group. let shouldCreateGroupOnDrop = @@ -526,7 +526,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 !movingTabsSet.has(dropElement) && isTab(dropElement) && !dropElement?.group && -@@ -3148,6 +3228,7 @@ +@@ -3149,6 +3229,7 @@ // When dragging tab(s) over a collapsed tab group label, signal to the // user that dropping the tab(s) will add them to the group. let shouldDropIntoCollapsedTabGroup = @@ -534,7 +534,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 isTabGroupLabel(dropElement) && dropElement.group.collapsed && overlapPercent > dragOverGroupingThreshold; -@@ -3192,19 +3273,14 @@ +@@ -3193,19 +3274,14 @@ dropElement = dropElementGroup; colorCode = undefined; } else if (isTabGroupLabel(dropElement)) { @@ -562,7 +562,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 } this.#setDragOverGroupColor(colorCode); this.toggleAttribute("movingtab-addToGroup", colorCode); -@@ -3223,11 +3299,11 @@ +@@ -3224,11 +3300,11 @@ dragData.dropElement = dropElement; dragData.dropBefore = dropBefore; dragData.animDropElementIndex = newDropElementIndex; @@ -576,7 +576,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 continue; } -@@ -3346,12 +3422,14 @@ +@@ -3350,12 +3426,14 @@ element?.removeAttribute("dragover-groupTarget"); } @@ -593,7 +593,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 for (let item of this.ariaFocusableItems) { this.#resetGroupTarget(item); -@@ -3394,16 +3472,15 @@ +@@ -3402,16 +3480,15 @@ tab.style.left = ""; tab.style.top = ""; tab.style.maxWidth = ""; @@ -612,7 +612,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 } let periphery = draggedTabDocument.getElementById( "tabbrowser-arrowscrollbox-periphery" -@@ -3475,7 +3552,7 @@ +@@ -3483,7 +3560,7 @@ let postTransitionCleanup = () => { movingTab._moveTogetherSelectedTabsData.animate = false; }; @@ -621,7 +621,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 postTransitionCleanup(); } else { let onTransitionEnd = transitionendEvent => { -@@ -3639,7 +3716,7 @@ +@@ -3647,7 +3724,7 @@ } _notifyBackgroundTab(aTab) { @@ -630,7 +630,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 return; } -@@ -3748,7 +3825,10 @@ +@@ -3756,7 +3833,10 @@ #getDragTarget(event, { ignoreSides = false } = {}) { let { target } = event; while (target) { @@ -642,7 +642,7 @@ index c7557dad38db9ef02b981c46de9595df77cb67db..f45ecacd23179f06a436d5f3d372b536 break; } target = target.parentNode; -@@ -3765,6 +3845,9 @@ +@@ -3773,6 +3853,9 @@ return null; } } diff --git a/src/browser/themes/windows/browser-css.patch b/src/browser/themes/windows/browser-css.patch index 098bd9c63..5b064a7bb 100644 --- a/src/browser/themes/windows/browser-css.patch +++ b/src/browser/themes/windows/browser-css.patch @@ -1,5 +1,5 @@ diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css -index 4485369284ee762bc8b35afb84fec0874a831fff..7096e2e5d50cda99b62a2aa7118fea6371e76b85 100644 +index 4485369284ee762bc8b35afb84fec0874a831fff..6a1ad15f657437aa4ef98fda63ae921a378f7310 100644 --- a/browser/themes/windows/browser.css +++ b/browser/themes/windows/browser.css @@ -31,7 +31,6 @@ @@ -10,13 +10,14 @@ index 4485369284ee762bc8b35afb84fec0874a831fff..7096e2e5d50cda99b62a2aa7118fea63 } /* Using a semitransparent background preserves the tinting from the backdrop. -@@ -60,14 +59,12 @@ +@@ -60,14 +59,13 @@ } /* This is needed for Windows 10, see bug 1961257 */ -@media (-moz-windows-accent-color-in-titlebar) { - :root[customtitlebar][sizemode="normal"] #navigator-toolbox { + :root[customtitlebar][sizemode="normal"] #browser { ++ --zen-sidebar-compact-top-offset: 1px; border-top: 0.5px solid ActiveBorder; &:-moz-window-inactive { border-top-color: InactiveBorder; diff --git a/src/zen/common/ZenHasPolyfill.mjs b/src/zen/common/ZenHasPolyfill.mjs index b7e6b2c60..1f50dc4f2 100644 --- a/src/zen/common/ZenHasPolyfill.mjs +++ b/src/zen/common/ZenHasPolyfill.mjs @@ -15,7 +15,11 @@ observeSelectorExistence(element, descendantSelectors, stateAttribute, attributeFilter = []) { const updateState = () => { const exists = descendantSelectors.some(({ selector }) => { - return element.querySelector(selector); + let selected = element.querySelector(selector); + if (selected?.tagName?.toLowerCase() === 'menu') { + return null; + } + return selected; }); const { exists: shouldExist = true } = descendantSelectors; if (exists === shouldExist) { diff --git a/src/zen/common/styles/zen-omnibox.css b/src/zen/common/styles/zen-omnibox.css index 8d0c0e37b..3d3482ed1 100644 --- a/src/zen/common/styles/zen-omnibox.css +++ b/src/zen/common/styles/zen-omnibox.css @@ -169,8 +169,11 @@ order: 2 !important; } -#urlbar[breakout-extend='true'] { +#urlbar[breakout] { position: fixed; +} + +#urlbar[breakout-extend='true'] { z-index: 2; & .urlbar-input-container { diff --git a/src/zen/compact-mode/ZenCompactMode.mjs b/src/zen/compact-mode/ZenCompactMode.mjs index e0b76019a..0606498ff 100644 --- a/src/zen/compact-mode/ZenCompactMode.mjs +++ b/src/zen/compact-mode/ZenCompactMode.mjs @@ -661,7 +661,7 @@ var gZenCompactModeManager = { requestAnimationFrame(() => { delete this._hasHoveredUrlbar; }); - }, 0); + }, 10); }, 0); }); }, diff --git a/src/zen/compact-mode/zen-compact-mode.css b/src/zen/compact-mode/zen-compact-mode.css index 38741c81a..af798fa33 100644 --- a/src/zen/compact-mode/zen-compact-mode.css +++ b/src/zen/compact-mode/zen-compact-mode.css @@ -29,7 +29,7 @@ &, &::before, &::after { - border-radius: calc(var(--zen-native-inner-radius) + var(--zen-element-separation) / 4 - var(--zen-compact-mode-no-padding-radius-fix, 0px)); + border-radius: calc(var(--zen-native-inner-radius) - var(--zen-compact-mode-no-padding-radius-fix, 0px)); } } @@ -97,7 +97,10 @@ bottom: var(--zen-compact-float); padding: 0 var(--zen-compact-float) !important; :root[zen-single-toolbar='true'] & { - top: calc(var(--zen-compact-float) / 2); + /* We add an extra offset since windows users have a border top + * in the window in order to compensate how windows renders the + * titlebar */ + top: calc(var(--zen-compact-float) / 2 + var(--zen-sidebar-compact-top-offset, 0px)); height: calc(100% - var(--zen-compact-float)); } :root:not([zen-single-toolbar='true']) & { diff --git a/src/zen/workspaces/zen-workspaces.css b/src/zen/workspaces/zen-workspaces.css index 023c107ba..5ac09c7c2 100644 --- a/src/zen/workspaces/zen-workspaces.css +++ b/src/zen/workspaces/zen-workspaces.css @@ -237,7 +237,10 @@ --toolbarbutton-inner-padding: 6px; & image { - border-radius: calc(var(--border-radius-medium) - 4px); + border-radius: calc(var(--border-radius-medium) - 4px) !important; + width: 26px; + height: 26px; + margin-right: -1px; } :root[zen-renaming-tab='true'] & { diff --git a/surfer.json b/surfer.json index f408413bf..a98050d72 100644 --- a/surfer.json +++ b/surfer.json @@ -5,8 +5,8 @@ "binaryName": "zen", "version": { "product": "firefox", - "version": "143.0.1", - "candidate": "143.0.1" + "version": "143.0.3", + "candidate": "143.0.3" }, "buildOptions": { "generateBranding": true @@ -19,7 +19,7 @@ "brandShortName": "Zen", "brandFullName": "Zen Browser", "release": { - "displayVersion": "1.16.2b", + "displayVersion": "1.16.3b", "github": { "repo": "zen-browser/desktop" },