Compare commits

..

17 Commits

Author SHA1 Message Date
mr. m
dc1c166ac2 Make sure to hide the URL bar when hiding it on multiple toolbar compact mode 2025-02-25 22:01:08 +01:00
mr. m
279849debe Make sure to properly align the urlbar when it's not floating on compact mode 2025-02-25 21:58:15 +01:00
mr. m
07c5474cf2 Increased margins on reset tab URL 2025-02-25 18:42:31 +01:00
mr. m
bd5fc861df For security reasons, dont trim the URL bar when it's not explicitly https 2025-02-25 18:15:44 +01:00
mr. m
6988060269 Ignore localhost URLs when trimming the URL in collapsed mode 2025-02-25 18:04:23 +01:00
mr. m
cf6ed8c382 Removed flatpak artifacts once build and commits has been done 2025-02-25 17:53:43 +01:00
mr. m
d536f3e93c Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-02-25 17:46:27 +01:00
mr. m
cc2262dbaf Common bug fixes 2025-02-25 17:46:20 +01:00
mr. m
f3fa0eb849 Merge pull request #5730 from ifdskfjsdkfjsd/dev
Native English proofread on README
2025-02-25 16:58:41 +01:00
ifdskfjsdkfjsd
7c9bca1325 Native English proofread
Signed-off-by: ifdskfjsdkfjsd <192259704+ifdskfjsdkfjsd@users.noreply.github.com>
2025-02-25 10:40:23 -05:00
mr. m
493f299cce Enabled compilation with sccache and disable rust incremental builds (formatted from 5d7248d4c7) 2025-02-25 15:24:41 +01:00
mr. m
5d7248d4c7 Enabled compilation with sccache and disable rust incremental builds 2025-02-25 15:23:15 +01:00
mr. m
d9e8fb3469 Disabled sccache temporarilly 2025-02-25 13:39:41 +01:00
mr. m
a5051e116a FIxed opening bookmarks not inheriting 2025-02-25 13:36:22 +01:00
mr. m
3358d0e3d7 Fixed tabs being reordered 2025-02-25 13:04:15 +01:00
mr. m
ca183c7de6 Common fixes and optimizations 2025-02-25 12:30:33 +01:00
mr. m
b39961e43e Fixed reordering tabs when having essentials 2025-02-25 09:07:22 +01:00
16 changed files with 92 additions and 60 deletions

View File

@@ -693,6 +693,7 @@ jobs:
rm -rf zen-browser
rm -rf archive.tar
rm -rf zen.linux-x86_64.tar.xz
rm -rf zen.linux-aarch64.tar.xz
- name: Upload Flatpak manifest
uses: actions/upload-artifact@v4

View File

@@ -30,6 +30,7 @@ jobs:
SCCACHE_GHA_ENABLED: 'true'
CARGO_TERM_COLOR: always
RUSTC_WRAPPER: 'sccache'
CARGO_INCREMENTAL: 0
name: Build Linux - ${{ matrix.arch }}
steps:
@@ -50,7 +51,9 @@ jobs:
node-version-file: '.nvmrc'
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.7
uses: mozilla-actions/sccache-action@main
with:
disable_annotations: true
- name: Setup Git
run: |
@@ -147,7 +150,3 @@ jobs:
retention-days: 5
name: linux_update_manifest_${{ matrix.arch }}
path: ./dist/update
- name: Run sccache stat for check
shell: bash
run: ${SCCACHE_PATH} --show-stats

View File

@@ -29,6 +29,7 @@ jobs:
SCCACHE_GHA_ENABLED: 'true'
CARGO_TERM_COLOR: always
RUSTC_WRAPPER: 'sccache'
CARGO_INCREMENTAL: 0
steps:
- name: Checkout repository
uses: actions/checkout@v4
@@ -42,7 +43,9 @@ jobs:
node-version-file: '.nvmrc'
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.7
uses: mozilla-actions/sccache-action@main
with:
disable_annotations: true
- name: Setup Python
uses: actions/setup-python@v5
@@ -163,7 +166,3 @@ jobs:
retention-days: 1
name: platform.ini
path: ./platform.ini
- name: Run sccache stat for check
shell: bash
run: ${SCCACHE_PATH} --show-stats

View File

@@ -32,6 +32,7 @@ jobs:
SCCACHE_GHA_ENABLED: 'true'
CARGO_TERM_COLOR: always
RUSTC_WRAPPER: 'sccache'
CARGO_INCREMENTAL: 0
strategy:
fail-fast: false
matrix:
@@ -56,7 +57,9 @@ jobs:
node-version-file: '.nvmrc'
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.7
uses: mozilla-actions/sccache-action@main
with:
disable_annotations: true
- name: Setup Git
run: |
@@ -312,7 +315,3 @@ jobs:
retention-days: 5
name: windows_update_manifest_${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}
path: ./dist/update
- name: Run sccache stat for check
shell: bash
run: ${SCCACHE_PATH} --show-stats

View File

@@ -28,9 +28,9 @@
## 🖥️ Compatibility
Zen is currently built using firefox version `135.0.1`! 🚀
Zen is currently built using Firefox version `135.0.1`! 🚀
- [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using firefox version `RC 135.0.1`!
- [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 135.0.1`!
- 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!
@@ -40,11 +40,11 @@ Zen is an open-source project, and we welcome contributions from the community!
### Issue metrics
We keep track of how many issues are closed at the end of the month in [docs/issue-metrics](./docs/issue-metrics). This is to keep track of how many issues are being closed, because who doesn't like to see progress? 📈
We keep track of how many issues are closed at the end of the month in [docs/issue-metrics](./docs/issue-metrics). We use this to keep track of our issues and see our progress! 📈
### Versioning
Zen uses [Semantic Versioning](https://semver.org/) for versioning. Meaning, versions are displayed as `a.bc.d` where:
Zen uses [Semantic Versioning](https://semver.org/), meaning versions are displayed as `a.bc.d` where:
- `a` is the major version
- `b` is the minor version
@@ -67,7 +67,7 @@ Zen is built with performance in mind, and we have optimized the browser to be a
Zen is available for Linux, macOS, and Windows. You can download the latest version from the official website at [zen-browser.app](https://zen-browser.app/download), or from the [GitHub Releases](https://github.com/zen-browser/desktop/releases) page.
If you dont see your OS listed below, that's because we already have it in our [downloads page](https://zen-browser.app/download)! Make sure to check it out!
If you don't see your OS listed below, that's because we already have it in our [downloads page](https://zen-browser.app/download)! Make sure to check it out!
#### Windows
@@ -117,7 +117,7 @@ Some components used by @zen-browser as an attempt to make firefox forks a bette
#### `Run Locally`
In order to download and run zen locally, please follow [these instructions](https://docs.zen-browser.app/building).
In order to download and run Zen locally, please follow [these instructions](https://docs.zen-browser.app/building).
#### `Special Thanks`
@@ -133,10 +133,10 @@ Zen couldn't be in its current state without the help of these amazing projects!
### 🖥️ Comparison with other browsers
Thanks everyone for making zen stand out among these giants!
Thanks everyone for making Zen stand out among these giants!
[![Star History Chart](https://api.star-history.com/svg?repos=zen-browser/desktop,chromium/chromium,brave/brave-browser&type=Date)](https://star-history.com/#zen-browser/desktop&chromium/chromium&brave/brave-browser&Date)
## 📄 License
Zen browser is under the [MPL LICENSE](./LICENSE). All the code is open-source and free to use! Attributions are appreciated but not required.
Zen browser is under the [MPL LICENSE](./LICENSE). All the code is open-source and free to use! Attribution is appreciated but not required.

View File

@@ -34,7 +34,7 @@ fi
if test "$ZEN_RELEASE"; then
ac_add_options --enable-clang-plugin
ac_add_options --enable-bootstrap
ac_add_options --enable-bootstrap=-sccache
ac_add_options --enable-release
ac_add_options --disable-debug

View File

@@ -220,7 +220,7 @@ var gZenUIManager = {
urlbarTrim(aURL) {
if (gZenVerticalTabsManager._hasSetSingleToolbar) {
let url = BrowserUIUtils.removeSingleTrailingSlashFromURL(aURL);
return url.startsWith('http://') || url.startsWith('https://') ? url.split('/')[2] : url;
return url.startsWith('https://') ? url.split('/')[2] : url;
}
return BrowserUIUtils.trimURL(aURL);
},

View File

@@ -95,6 +95,7 @@
position: relative;
background: var(--zen-dialog-background);
border: 1px solid var(--zen-colors-border-contrast);
width: calc(100% - var(--zen-toolbox-padding));
:root[zen-single-toolbar='true'] {
padding-top: 0 !important;
@@ -311,6 +312,10 @@
position: relative !important;
}
& #urlbar {
opacity: 0;
}
@media (-moz-bool-pref: 'zen.view.compact.color-toolbar') {
background-attachment: fixed;
background: var(--zen-main-browser-background-toolbar);
@@ -344,6 +349,15 @@
opacity: var(--zen-grainy-background-opacity, 0);
mix-blend-mode: overlay;
}
& #urlbar {
opacity: 1;
}
& #urlbar[breakout-extend='true']:not([zen-floating-urlbar='true']) {
top: 2px !important;
opacity: 1;
}
}
}
}

View File

@@ -847,8 +847,8 @@
position: relative;
height: calc(100% - var(--tab-block-margin) * 2);
margin-left: calc(-1 * var(--tab-inline-padding) + var(--tab-block-margin));
margin-right: 4px;
padding: 0 calc(var(--toolbarbutton-inner-padding)) 0 calc(var(--toolbarbutton-inner-padding) / 4 + var(--tab-inline-padding) - 2px);
margin-right: 8px;
padding: 0 calc(var(--toolbarbutton-inner-padding) - 2px) 0 calc(var(--toolbarbutton-inner-padding) / 4 + var(--tab-inline-padding) - 2px);
border-radius: 0;
border-top-left-radius: var(--border-radius-medium);
width: unset;
@@ -872,10 +872,10 @@
height: 16px;
background: light-dark(rgba(88, 79, 79, 0.02), rgba(255, 255, 255, 0.3));
position: absolute;
right: calc(var(--tab-inline-padding) / 2 - 1px);
right: 0;
top: 50%;
border-radius: 2px;
transform: rotate(10deg) translateY(-50%);
transform: rotate(15deg) translateY(-50%);
}
&:hover::after {

View File

@@ -153,7 +153,8 @@ var gZenCompactModeManager = {
animateCompactMode() {
this._animating = true;
const isCompactMode = this.preference;
const canHideSidebar = Services.prefs.getBoolPref('zen.view.compact.hide-tabbar');
const canHideSidebar =
Services.prefs.getBoolPref('zen.view.compact.hide-tabbar') || gZenVerticalTabsManager._hasSetSingleToolbar;
const canAnimate =
lazyCompactMode.COMPACT_MODE_CAN_ANIMATE_SIDEBAR &&
!this.sidebar.hasAttribute('zen-user-show') &&

View File

@@ -267,7 +267,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
// remove tab from list
tabs.splice(tabs.indexOf(tab), 1);
if (tab.pinned) {
pinnedSection.insertBefore(tab, pinnedSection.lastChild);
pinnedSection.insertBefore(tab, pinnedSection.nextSibling);
} else {
section.insertBefore(tab, section.lastChild);
}
@@ -1999,7 +1999,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
const contaienr = document.querySelector(
`#vertical-pinned-tabs-container .zen-workspace-tabs-section[zen-workspace-id="${workspaceId}"]`
);
contaienr.insertBefore(tab, contaienr.firstChild);
contaienr.insertBefore(tab, contaienr.lastChild);
changed = true;
}
if (changed) {
@@ -2311,4 +2311,17 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
}
gBrowser.selectedTab = tab;
}
getDefaultContainer() {
if (!this.workspaceEnabled) {
return 0;
}
const workspaces = this._workspaceCache;
if (!workspaces) {
return 0;
}
const activeWorkspace = this.activeWorkspace;
const workspace = workspaces.workspaces.find((workspace) => workspace.uuid === activeWorkspace);
return workspace.containerTabId;
}
})();

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs
index 0f79ba5dd42116d626445b86f6b24731d2fa8aad..76d692db1731e84b28d9035b03e34c176c12bd23 100644
index fbdd6a34b12d4d957f7a2d9d95df0bfd65ba3f61..4d27f7fc108ca76e071707a737209bf5ea4ea07e 100644
--- a/browser/components/places/PlacesUIUtils.sys.mjs
+++ b/browser/components/places/PlacesUIUtils.sys.mjs
@@ -58,6 +58,7 @@ class BookmarkState {
@@ -157,3 +157,12 @@ index 0f79ba5dd42116d626445b86f6b24731d2fa8aad..76d692db1731e84b28d9035b03e34c17
/**
* Append transactions to update tags by given information.
*
@@ -902,7 +1011,7 @@ export var PlacesUIUtils = {
aNode,
aWhere,
aWindow,
- { aPrivate = false, userContextId = 0 } = {}
+ { aPrivate = false, userContextId = aWindow.ZenWorkspaces.getDefaultContainer() } = {}
) {
if (
aNode &&

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
index d41c486c02a6f09dcff5741a59ad8b617294c481..1c150fd8863335ee356601f7872c1fdc2086dcab 100644
index d41c486c02a6f09dcff5741a59ad8b617294c481..8e902dcb3792c75238ac13a8bf9199b34451aa51 100644
--- a/browser/components/tabbrowser/content/tab.js
+++ b/browser/components/tabbrowser/content/tab.js
@@ -16,6 +16,7 @@
@@ -84,7 +84,7 @@ index d41c486c02a6f09dcff5741a59ad8b617294c481..1c150fd8863335ee356601f7872c1fdc
animate: true,
triggeringEvent: event,
});
+ } else if (this.hasAttribute('zen-essential')) {
+ } else if (this.hasAttribute('zen-essential') && !event.target.classList.contains("tab-icon-overlay")) {
+ gZenPinnedTabManager._onTabResetPinButton(event, this, 'reset');
}
}

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..dd8fba935e26aa0f00b687f23b64935dfcf339fa 100644
index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..20c92611723587e4eeed5889b2b1741d86368263 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -406,11 +406,50 @@
@@ -19,19 +19,6 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..dd8fba935e26aa0f00b687f23b64935d
+ return i;
+ }
+
+ get _numVisiblePinTabsWithoutGlance() {
+ let i = 0;
+ for (let tab of this.tabs) {
+ if (!tab.pinned) {
+ break;
+ }
+ if (!tab.hidden && !tab.hasAttribute("zen-glance-tab")) {
+ i++;
+ }
+ }
+ return i;
+ }
+
+ get _numZenEssentials() {
+ let i = 0;
+ for (let tab of this.tabs) {
@@ -42,6 +29,19 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..dd8fba935e26aa0f00b687f23b64935d
+ }
+ return i;
+ }
+
+ get _numZenVisibleEssentials() {
+ let i = 0;
+ for (let tab of this.tabs) {
+ if (!tab.hasAttribute("zen-essential") && !tab.hasAttribute("zen-glance-tab")) {
+ break;
+ }
+ if (!tab.hidden) {
+ i += !tab.hasAttribute("zen-glance-tab");
+ }
+ }
+ return i;
+ }
+
get pinnedTabCount() {
- for (var i = 0; i < this.tabs.length; i++) {
@@ -408,18 +408,15 @@ index ff90a70bdad6c94ec4b90027ff102972d0eb28e5..dd8fba935e26aa0f00b687f23b64935d
aTab.selected ||
aTab.closing ||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
@@ -5706,9 +5818,9 @@
@@ -5706,7 +5818,7 @@
// Don't allow mixing pinned and unpinned tabs.
if (aTab.pinned) {
- aIndex = Math.min(aIndex, this.pinnedTabCount - 1);
+ aIndex = aTab.hasAttribute('zen-essential') ? Math.min(aIndex, this._numZenEssentials) : Math.min(aIndex, this._numVisiblePinTabs - 1);
+ aIndex = aTab.hasAttribute('zen-essential') ? Math.min(aIndex, this._numZenEssentials - 1) : Math.min(aIndex, this.pinnedTabCount - 1);
} else {
- aIndex = Math.max(aIndex, this.pinnedTabCount);
+ aIndex = Math.max(aIndex, this._numVisiblePinTabsWithoutGlance + this._numZenEssentials);
aIndex = Math.max(aIndex, this.pinnedTabCount);
}
if (aTab._tPos == aIndex) {
return;
@@ -5717,7 +5829,7 @@
this._lastRelatedTabMap = new WeakMap();

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index 8aeb244ffca9f48661805f5b7d860b5896055562..2b988219f279f7b6e1178518e436a7f2b437ce20 100644
index 8aeb244ffca9f48661805f5b7d860b5896055562..8300aa0533cb0037be26766acf1d82af295c7369 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -94,7 +94,7 @@
@@ -33,7 +33,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..2b988219f279f7b6e1178518e436a7f2
// In expanded vertical mode, the max number of pinned tabs per row is dynamic
// Set this before adjusting dragged tab's position
- let pinnedTabs = this.visibleTabs.slice(0, gBrowser.pinnedTabCount);
+ let pinnedTabs = this.visibleTabs.slice(0, gBrowser._numVisiblePinTabs);
+ let pinnedTabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab")).slice(0, gBrowser._numZenVisibleEssentials);
let tabsPerRow = 0;
let position = 0;
for (let pinnedTab of pinnedTabs) {
@@ -325,7 +325,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..2b988219f279f7b6e1178518e436a7f2
}
- let tabs = this.visibleTabs.slice(0, gBrowser.pinnedTabCount);
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab")).slice(0, gBrowser._numVisiblePinTabs);
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab")).slice(0, gBrowser._numZenVisibleEssentials);
let directionX = screenX > dragData.animLastScreenX;
let directionY = screenY > dragData.animLastScreenY;

View File

@@ -19,7 +19,7 @@
"brandShortName": "Zen",
"brandFullName": "Zen Browser",
"release": {
"displayVersion": "1.8.1b",
"displayVersion": "1.8.2b",
"github": {
"repo": "zen-browser/desktop"
},
@@ -39,7 +39,7 @@
"brandShortName": "Twilight",
"brandFullName": "Zen Twilight",
"release": {
"displayVersion": "1.8.1t",
"displayVersion": "1.8.2t",
"github": {
"repo": "zen-browser/desktop"
}