Compare commits

...

350 Commits

Author SHA1 Message Date
mr. m
fb1575d875 fix: Fixed window controls not being accessible on fullscreen when element separation is 0, b=(no-bug), c=tabs 2025-04-19 19:46:25 +02:00
mr. m
004b946716 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-19 13:52:34 +02:00
mr. m
6400722712 fix: fixed urlbar being selected on workspace change, b=(closes #7741), c=workspaces 2025-04-19 13:52:25 +02:00
mr. m
d9ec28459e chore: Disabled Auto-Pip once we have propper settings UI for it, b=(no-bug), c=no-component 2025-04-19 13:48:00 +02:00
mr. m
407c1d24af Merge pull request #7740 from Cheese-Space/patch-1
remove --cask flag from mac install instructions as it isn't necessary
2025-04-19 13:14:30 +02:00
mr. m
de6d8d1153 fix: Windows applications being shifted half a pixel to the top, b=(no-bug), c=no-component 2025-04-19 12:57:42 +02:00
Cheese_space
3eb10fc05b removed --cask flag from mac install instructions as it isn't necessary
Signed-off-by: Cheese_space <99285740+Cheese-Space@users.noreply.github.com>
2025-04-19 12:17:10 +02:00
mr. m
1ab6f77f95 feat: Make PiP checkbox disable the entire feature, not just video controls, b=(no-bug), c=no-component 2025-04-19 10:40:19 +02:00
mr. m
c1b15b59db chore: Bump version and small fixes, b=(no-bug), c=tabs 2025-04-19 10:34:32 +02:00
mr. m
3dae5a6d47 fix: Fixed links on the README, b=(no-bug), c=no-component 2025-04-18 22:20:56 +02:00
mr. m
dab2646054 fix: Crashes when opening the overflow menu multiple times on macos, b=(closes #7718), c=no-component 2025-04-18 19:13:14 +02:00
mr. m
ad0485d651 Fix workflow failure for windows
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-18 00:30:34 +02:00
mr. m
46bbbccdc9 fix: Window controls not expanding on split views and element separation on 0 also not expanding them, b=(closes #7694), c=tabs 2025-04-17 21:12:06 +02:00
mr. m
ee28417a4c fix: Enable Restore pinned tabs to their originally pinned URL on startup setting does not work, b=(bug #7453), c=tabs 2025-04-17 20:00:07 +02:00
mr. m
746ac1eec7 chore: Format before release, b=(no-bug), c=split-view 2025-04-17 18:51:26 +02:00
mr. m
8b67c4fdd1 fix: Fixed recalculating split view on compact mode, b=(no-bug), c=split-view 2025-04-17 18:40:59 +02:00
mr. m
c3e658d46a fix: Split view calculating the wrong side of split view, b=(no-bug), c=split-view 2025-04-17 18:26:04 +02:00
mr. m
ebded1a73b Merge pull request #7688 from sporocyst/CompactFullMTrans
Smooth transition from fullscreen in compact mode
2025-04-17 17:05:38 +02:00
mr. m
cf879a5c23 Update zen-compact-mode.css
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-17 17:05:27 +02:00
sporocyst
4aa3e5b34d Opacity 0 when Compact Fullscreen
Signed-off-by: sporocyst <sporocyst.tw@gmail.com>
2025-04-17 22:18:43 +08:00
mr. m
303e6066e2 Bumped version to 1.11.4b
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-17 14:42:23 +02:00
mr. m
861cd15240 Merge pull request #7677 from zen-browser/revert-7675-dev 2025-04-17 13:45:25 +02:00
mr. m
d695ddb91a Revert "feat: improve tab switching with trackpad" 2025-04-17 04:45:17 -07:00
mr. m
7abb2edb2f Merge pull request #7675 from mathieutu/dev
feat: improve tab switching with trackpad
2025-04-17 12:54:33 +02:00
Mathieu TUDISCO
dfe8abd496 feat: improve tab switching with trackpad 2025-04-17 12:42:25 +02:00
mr. m
61b384ee56 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-17 11:13:31 +02:00
mr. m
d71a890430 fix: Fixed performance issue when closing multiple tabs, b=(closes #7507), c=common 2025-04-17 11:13:03 +02:00
mr. m
2c85a85fff Merge pull request #7672 from mathieutu/dev 2025-04-17 11:00:28 +02:00
mr. m
ce6074530f Merge branch 'dev' into dev 2025-04-17 11:00:18 +02:00
Mathieu TUDISCO
e20228153c fix: closes #7274 - Fixed mouses simulating swipes with Forward and Back buttons 2025-04-17 10:43:08 +02:00
mr. m
e431170435 fix: Split views not selected still having the pending attribute, b=(no-bug), c=split-view, tabs 2025-04-17 00:36:43 +02:00
mr. m
c671d1e389 fix: Revert export from 31a5e70b26 (diff-0dad6ae9e720c6b380d48f7e19654910c30256bacc25567e1319a927bace7e5f), b=(no-bug), c=no-component 2025-04-16 19:51:48 +02:00
mr. m
31a5e70b26 chore: Re-export all patches, b=(no-bug), c=no-component 2025-04-16 17:05:46 +02:00
mr. m
0c68c72b29 fix: Inconsistent spacing with the native firefox sidebar on compact mode (multiple toolbars), b=(closes #7118), c=compact-mode 2025-04-16 16:50:15 +02:00
mr. m
2b158fdf57 style: Changed commit template to display a cleaner message, b=(no-bug), c=no-component 2025-04-16 16:23:25 +02:00
mr. m
dd005b31a4 feat: no-bug - Improved tab blur next selection, r=workspaces 2025-04-16 12:50:21 +02:00
mr. m
0b467cc149 fix: closes #7295 - Fixed workspaces temporarily inheriting essential tabs from the source workspace a container tab was switched from, r=workspaces 2025-04-16 12:32:49 +02:00
mr. m
46e2fdca00 fix: closes #6992 - Fixed url bar not being selected when selecting an empty tab, r=workspaces 2025-04-16 12:25:23 +02:00
mr. m
983b06266b chore: no-bug - Formatted project, r=media 2025-04-16 12:05:07 +02:00
mr. m
cb8708d2d9 fix: closes #7650 - Fixed context menu closing the URL bar, r=no-component 2025-04-16 12:05:01 +02:00
mr. m
adbec11c04 chore: no-bug - Added missing licenses to files, r=common, folders, glance, media, mods, welcome, workspaces 2025-04-16 11:42:03 +02:00
mr. m
404f00c02b chore: no-bug - Changed pinned tabs to load on demand, r=no-component 2025-04-16 11:38:59 +02:00
mr. m
5d346205fc fix: closes #7605 - Fixed compact mode not focusing on the urlbar on startup, r=common 2025-04-16 10:56:35 +02:00
mr. m
db3f1a7c09 style: no-bug - Tweaked essential background values, r=tabs 2025-04-16 10:14:19 +02:00
mr. m
d2599f1f9a Merge pull request #7641 from mbergo/fix/workspace-drag-linux-bug
Fix workspace position dragging on Linux (Fixes #7542)
2025-04-16 08:43:31 +02:00
Marcus Bergo
ed88aafdc1 Fix workspace position dragging on Linux (Fixes #7542)
This commit fixes an issue where dragging workspaces to change their position doesn't work on Linux platforms.

The main changes include:
1. Added Linux-specific drag and drop handling with a transparent drag image
2. Enhanced dragover event handling for better visual feedback on Linux
3. Improved CSS styles for drag and drop elements on Linux
4. Added clearer comments to explain the reorder mode behavior

The issue was that the drag and drop functionality wasn't working properly on Linux due to platform-specific behavior differences. This fix ensures that workspace reordering works consistently across all platforms.
2025-04-16 01:30:17 -03:00
Mr. M
d94deed341 fix: no-bug - Media player not erroring out if browsing context is null, r=media 2025-04-16 01:57:00 +02:00
Mr. M
4b49d87a81 fix: closes #7614 - Fixed pinned tabs not correctly differentiating url params, r=tabs 2025-04-16 01:56:36 +02:00
Mr. M
4a6281ebf6 chore: no-bug - Formatted the project, r=no-component 2025-04-16 01:39:29 +02:00
Mr. M
332443fe81 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-16 01:39:16 +02:00
Mr. M
96c784704a fix: closes #7547 - Fixed removing workspaces still leaving remains, r=tabs, workspaces 2025-04-16 01:39:02 +02:00
Mr. M
b0d10919d7 fix: closes #7630 - Fixed windows packages not containing redistributable files, r=configs 2025-04-15 22:58:02 +02:00
Mr. M
b0e4681b5f fix: closes #7453 - Fixed pinning a tab with invalid HOST or about:blank creating an infinite loop of reseting its state, r=tabs 2025-04-15 22:25:06 +02:00
Mr. M
2958f6ea7f fix: no-bug - Fixed split view animations when canceling the drop, r=tabs, common, split-view 2025-04-15 22:23:16 +02:00
Mr. M
4d46f94975 fix: no-bug - Fixed split view not opening a new window when dragging the tab, r=split-view 2025-04-15 22:13:04 +02:00
Mr. M
4cc7e9ca98 chore: no-bug - Cleaned up configurations for windows and unsused style sheets, r=no-component 2025-04-15 20:24:58 +02:00
mr. m
7688a11ef9 fix: closes #7365 - Fixed unloaded tabs appearing on ctrl+Tab panel, r=no-component 2025-04-15 19:24:24 +02:00
mr. m
80b182cc54 chore: no-bug - Updated firefox 137.0.2, r=no-component 2025-04-15 18:44:12 +02:00
Mr. M
b6936e7ca4 feat: no-bug - Enabled automatic picture-in-picture, r=no-component 2025-04-15 17:12:37 +02:00
Mr. M
1590326fc1 fix: closes #7374 - Fixed scrollbar not being accessible because it's too thin, r=tabs 2025-04-15 17:09:17 +02:00
Mr. M
1a1eb3264f fix: closes #7263 - Fixed glance not opening on http or file protocols, r=glance, tabs 2025-04-15 16:41:58 +02:00
Mr. M
3d80a8aa39 fix: bug #7453 - Pinned tabs failing to restore if they got selected before closing, r=split-view, tabs, workspaces 2025-04-15 16:28:10 +02:00
Mr. M
6cca084e05 style: closes #5154 - Tweaked essential background colors, r=tabs 2025-04-15 15:48:08 +02:00
Mr. M
1c2c496f7e style: closes #5154 - Changed essential backgrounds to have better visuals, r=tabs 2025-04-15 15:13:17 +02:00
Mr. M
8ab60be68b refactor: no-bug - Changed template method for commit messages, r=no-component 2025-04-15 14:29:15 +02:00
Mr. M
f1fe363083 refactor(scripts): no-bug - Added extra git components for commit messages 2025-04-15 14:26:59 +02:00
Mr. M
db619790be refactor(no-component): no-bug - Fixed code linter workflow name 2025-04-15 14:12:03 +02:00
mr. m
608749ce1a Merge pull request #7629 from zen-browser/component-refactor
Component refactor
2025-04-15 14:05:25 +02:00
Mr. M
1135744520 refactor(common, compact-mode, folders, fonts, glance, images, kbs, media, mods, split-view, tabs, tests, workspaces, vendor, welcome): closes #7628 - Refactor zen components file structure for easier understanding 2025-04-15 14:03:55 +02:00
mr. m
c8d616e657 Merge pull request #7624 from Slowlife01/fixmedia
fix(MediaController): update share state from same tab if not currently in sharing state
2025-04-15 11:17:03 +02:00
Slowlife01
3f8a6e04c8 fix(MediaController): update share state from same tab if not sharing 2025-04-15 15:56:58 +07:00
mr. m
851cd8e037 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-14 19:39:40 +02:00
mr. m
7b3dae8bea fix(build.yml): optimize git clone command by using --depth 1 for faster downloads 2025-04-14 19:39:38 +02:00
Mr. M
e04ec0a00b fix(sign.ps1): add verbose and debug output to artifact unzipping process 2025-04-14 14:10:14 +02:00
Mr. M
0a61c26cc1 fix(sign.ps1): run artifact unzipping in parallel using jobs 2025-04-14 14:09:48 +02:00
Mr. M
ff35c58787 fix(sign.ps1): enhance artifact downloading with temporary directory and improved error handling 2025-04-14 13:41:48 +02:00
Mr. M
0a464fa93a fix(sign.ps1): implement retry logic for downloading artifacts 2025-04-14 12:01:12 +02:00
mr. m
a9958e88d0 Formatted the project before release 2025-04-14 01:07:33 +02:00
Mr. M
d3eb5907a4 fix(sign.ps1): enable verbose output for npm import command 2025-04-14 01:04:12 +02:00
Mr. M
a2017cc4c7 fix(build): clean up old build artifacts and update packaging process for setup.exe (closes https://github.com/zen-browser/desktop/issues/37) 2025-04-14 00:59:37 +02:00
Mr. M
87124fdaf4 fix(sign.ps1): append arm64 executable files to the list for signing
fix(download-language-packs.sh): remove carriage returns from supported languages file
2025-04-13 22:42:26 +02:00
Mr. M
394c2b54ce Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-13 18:04:53 +02:00
mr. m
7117f1ad62 Merge pull request #7588 from Slowlife01/fixshare 2025-04-13 19:59:06 +02:00
Slowlife01
713e267c16 fix(ZenMediaController): skip updaing share state when already showing 2025-04-14 00:55:52 +07:00
mr. m
3932ec21f5 Merge pull request #7587 from Slowlife01/fixmedia 2025-04-13 19:26:29 +02:00
Slowlife01
76dc50b052 fix(MediaController): more accurate sharing state 2025-04-14 00:24:24 +07:00
mr. m
73749aa34c fix(ZenGlance): update padding and element separation for zen-glance background
fix(ZenCompactMode): modify flashSidebarIfNecessary to recalculate URL height conditionally
2025-04-13 19:20:59 +02:00
Mr. M
897932f954 fix(build): clean up temporary files and update surfer dependency to 1.11.7 2025-04-13 18:04:47 +02:00
mr. m
5a2b469e8a fix(ZenCompactMode): refactor URL height recalculation to use dedicated method in ZenVerticalTabsManager 2025-04-13 17:52:45 +02:00
mr. m
ad38e6c15e fix(ZenCompactMode): update flashSidebarIfNecessary to recalculate URL height after exiting fullscreen 2025-04-13 17:46:55 +02:00
mr. m
f5c6fc13a8 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-13 17:01:54 +02:00
mr. m
7c8625821a Enhance zen styles for split view and glance components with padding adjustments 2025-04-13 17:01:46 +02:00
Mr. M
8a696ad088 fix(ZenGlanceManager): update tab selection handling to remove sidebar highlight from previous tab 2025-04-13 12:31:24 +02:00
mr. m
3c1ca8b70f Merge pull request #7573 from Slowlife01/fixmedia
fix(MediaController): remove sharing state when hiding
2025-04-13 11:41:24 +02:00
Slowlife01
87b0cee53a chore: format 2025-04-13 16:35:41 +07:00
Slowlife01
a56aa7e308 fix(MediaController): remove sharing state when hiding 2025-04-13 16:29:59 +07:00
Mr. M
98220c5e74 Updated media controler call icons 2025-04-13 11:19:25 +02:00
mr. m
964c886fb6 Merge pull request #7569 from Slowlife01/mediadevice
feat(MediaController): controls for media devices
2025-04-13 10:31:38 +02:00
Mr. M
f6536aa1d2 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-13 10:20:13 +02:00
Mr. M
ec1c861b13 Fix tab drag logic to allow dragging the last opened tab 2025-04-13 10:20:10 +02:00
Slowlife01
ae07ed9445 fix(MediaController): prevent media control actions when sharing 2025-04-13 15:00:04 +07:00
Slowlife01
82b94db408 feat(MediaController): controls for media devices 2025-04-13 14:47:56 +07:00
Mr. M
54d716e4b6 Refactor conditions for removing unnecessary files and uploading dist object in Windows release build 2025-04-13 07:55:46 +02:00
Mr. M
a0330465dd Formatted before release 2025-04-12 22:44:57 +02:00
Mr. M
af026cfe66 Improved signing strategy for windows by including files inside the installer (https://github.com/zen-browser/desktop/issues/37) 2025-04-12 22:41:31 +02:00
mr. m
b7d5f6655d Remove compact mode startup check if we arent using it anymore 2025-04-12 19:03:23 +02:00
mr. m
964dedba0f Update display versions in surfer.json and adjust compact mode styles and functionality 2025-04-12 18:29:22 +02:00
mr. m
f13537e812 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-12 13:14:51 +02:00
mr. m
037f1bf09f Update session store to handle zen tab attributes and improve state management 2025-04-12 13:14:42 +02:00
mr. m
9ee4212060 Removed components on flatpak as it's already on base app
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-12 11:51:38 +02:00
mr. m
e3c60cb4d8 Added extra components for flatpak
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-11 15:47:13 -07:00
mr. m
6fa325065e Add x-checkers for flatpak builds manifests
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-11 15:21:01 -07:00
Mr. M
cc88c99c45 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-11 22:01:35 +02:00
Mr. M
9d36ed6b1b Updated signing script 2025-04-11 22:01:09 +02:00
mr. m
a6b8843c5c Update compact mode initialization to ensure tabs toolbar is updated after a delay 2025-04-11 17:02:02 +02:00
mr. m
9cf4dbd710 Initialize compact mode manager after delayed startup and update tabs toolbar 2025-04-11 16:55:48 +02:00
mr. m
589335f665 Avoid sidebar width re-caclulation when animating compact mode 2025-04-11 16:52:29 +02:00
mr. m
1a04cac47c Defer compact mode initialization until after delayed startup finishes and update CSS for hover state handling 2025-04-11 11:33:03 +02:00
mr. m
417c6d09bf Update compact mode preference handling and set attribute on initialization 2025-04-11 08:41:04 +02:00
mr. m
c36cb4a76a Initialize compact mode manager after browser layout and update tabs toolbar on compact mode activation 2025-04-11 01:32:42 +02:00
mr. m
e65b786b46 Adjust sidebar width calculation in non-compact mode and update compact mode CSS for proper width handling 2025-04-11 01:00:47 +02:00
mr. m
713f1486c3 Refactor sidebar width calculation in compact mode and update toolbar separator logic 2025-04-11 00:43:50 +02:00
mr. m
a0d3447202 Refactor compact mode logic and enhance pinned tab URL handling (closes https://github.com/zen-browser/desktop/issues/7453#issuecomment-2794479221) 2025-04-10 19:23:38 +02:00
mr. m
286999599a Initialize compact mode on MozBeforeInitialXULLayout event 2025-04-10 11:13:04 +02:00
mr. m
9b6fae2523 Remove sidebar margin properties after transition to ensure proper layout 2025-04-10 11:08:39 +02:00
Mr. M
c250279b46 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-10 05:32:07 +02:00
mr. m
f687df335e Add opacity transition to sidebar during animation 2025-04-10 01:36:30 +02:00
Mr. M
aeec7866b4 Fixed windows signing script for future versions 2025-04-09 23:27:02 +02:00
mr. m
b49c47516e Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-09 19:15:05 +02:00
mr. m
3bf854c6c3 Fixed calculating compact mode overflow at startup 2025-04-09 19:14:56 +02:00
Mr. M
b55edb8ae9 Refactor tab retrieval logic in ZenWorkspaces to simplify session restore handling 2025-04-09 19:14:52 +02:00
Mr. M
78bc66668c Do not apply rounded corner hack if element separation is 0 2025-04-09 14:28:12 +02:00
Mr. M
f965abe7f1 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-09 14:20:25 +02:00
mr. m
509cb2471d Refactor element separation handling in ZenThemeModifier and update references in ZenCompactMode and ZenViewSplitter 2025-04-09 14:04:24 +02:00
Mr. M
3c273d817b Fixed Transparent Url bar's background when clicking Ctrl+T while playing a video in fullscreen mode (closes https://github.com/zen-browser/desktop/issues/6996) 2025-04-09 13:47:11 +02:00
Mr. M
21817ca97a Fixed Browser breaks shortly after 'Close other tabs' (closes #7459) 2025-04-09 12:50:20 +02:00
mr. m
b31e712d2c Merge pull request #7464 from zen-browser/new-split-essentials
Allow splitting essentials and pinned tabs
2025-04-09 00:17:39 +02:00
Mr. M
8f1ee11ff2 Fix tab handling logic and update version details in surfer.json 2025-04-09 00:16:33 +02:00
mr. m
0cb80ace3f Add min-width to toolbox in compact mode styles 2025-04-08 23:53:34 +02:00
Mr. M
295a2bb8b8 Updated to firefox 137.0.1 2025-04-08 18:45:39 +02:00
mr. m
dd6757be5b Fixed opacity of #urlbar element is sometimes overwritten (closes https://github.com/zen-browser/desktop/issues/7454)
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-08 18:26:01 +02:00
mr. m
e90e4b27a3 Do not animate mica panel windows
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-08 18:08:07 +02:00
mr. m
2932ca6c2b Fixed linux transparency being on by default
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-08 04:05:52 -07:00
mr. m
06a685fc31 Formatted the project after merge 2025-04-07 11:04:43 +02:00
mr. m
e06c20d2f6 Merge pull request #7396 from Slowlife01/pipeligibility
refactor(MediaController): check pip eligibility in class
2025-04-07 02:02:33 -07:00
mr. m
e5527cf825 Merge branch 'dev' into pipeligibility 2025-04-07 02:02:26 -07:00
mr. m
6864af1b2f Merge pull request #7400 from sporocyst/dev
Fix sidebar always stays left
2025-04-07 02:01:57 -07:00
mr. m
87ff59bfa7 Merge pull request #7397 from Lund1337/linux-tranparency
Added transparent browser background on linux
2025-04-07 02:01:28 -07:00
mr. m
ecd407d924 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-07 11:00:26 +02:00
mr. m
ce55e7eed5 fix: simplify sidebar width calculation and remove unnecessary animated padding attribute 2025-04-07 11:00:19 +02:00
unknown
f9b3fed403 npm run pretty 2025-04-07 01:42:43 +08:00
Slowlife01
484f77bffc refactor(MediaController): check pip eligibility in class 2025-04-06 23:59:12 +07:00
Lund1337
814e697675 Added transparent browser background on linux 2025-04-06 19:34:46 +03:00
sporocyst
e469c04125 Fix sidebar always stays left
Signed-off-by: sporocyst <sporocyst.tw@gmail.com>
2025-04-06 23:54:14 +08:00
mr. m
a33e2cbd88 Merge pull request #7383 from Slowlife01/patch-1
fix: change const to let
2025-04-06 11:14:18 +02:00
Slowlife
4ecccd67bd fix: change const to let
Signed-off-by: Slowlife <slowlife1165@gmail.com>
2025-04-06 16:12:14 +07:00
mr. m
8af25b4c67 Merge pull request #7336 from Slowlife01/unloadtab
fix: unable to unload tab with auto tab unloader disabled
2025-04-06 10:24:44 +02:00
Slowlife01
d6c30caf1b fix: add timestamp check to prevent frequent array comparisons in arraysEqual 2025-04-06 09:22:49 +07:00
Slowlife01
7025efa6f8 refactor: move over excludedUrls 2025-04-06 08:42:40 +07:00
mr. m
d0877eb6bc Merge pull request #7366 from wwklnd/dev
Update Firefox version to 137.0 in README.md
2025-04-06 00:49:44 +02:00
W Wilja Wiklund
87c62b4319 Update Firefox version to 137.0 in README.md
Signed-off-by: W Wilja Wiklund <fillchiam@gmail.com>
2025-04-06 00:32:29 +02:00
Slowlife01
9d3382d773 fix: add default excluded URLs 2025-04-05 18:01:18 +07:00
Slowlife01
5333e92c42 fix: unable to unload tab with auto tab unloader disabled 2025-04-05 16:58:49 +07:00
mr. M
f2c6d0a6b9 fix: streamline style clearing in ZenGlanceManager and update version numbers in surfer.json 2025-04-05 04:15:18 +02:00
mr. m
a7e217152b fix: refine panel appearance and shadow properties for better consistency across platforms 2025-04-04 18:11:59 +02:00
mr. m
91c993da13 fix: adjust padding for right-side toolbar buttons when window buttons are not reversed 2025-04-04 16:58:12 +02:00
mr. m
5e7423bdce fix: correct artifact name formatting in Windows profile build workflow 2025-04-04 15:44:48 +02:00
mr. m
ba48e15f5f fix: update workspace directory handling in Windows profile build 2025-04-04 15:42:56 +02:00
mr. m
4e407fb0b9 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-04 13:00:30 +02:00
mr. m
5d1963e0ec Implemented -zen-window-transform-origin attribute and applied it to the panels on the right side 2025-04-04 13:00:17 +02:00
mr. m
c9bb6b25e9 Merge pull request #7292 from Slowlife01/glance-permitunload
fix: skip permitUnload when fully opening glance
2025-04-04 12:06:00 +02:00
Slowlife01
3bf433992e style: format 2025-04-04 16:55:22 +07:00
Slowlife01
a3a82b9fe7 fix: skip permitUnload when fully opening glance 2025-04-04 16:54:20 +07:00
mr. m
513f04d41b Merge pull request #7288 from Slowlife01/tab-command
fix: update event handling for changing tab workspace
2025-04-04 10:34:18 +02:00
mr. m
5b318a8aaf Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-04 10:33:00 +02:00
mr. m
c75de7a096 fix: adjust margin-left in zen-compact-mode.css for improved layout 2025-04-04 10:32:37 +02:00
Slowlife01
2cd5140600 fix: update event handling for changing tab workspace 2025-04-04 15:06:51 +07:00
mr. m
eaca3d6cc8 Correctly redirect output on windows pgo steps
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-04 08:25:56 +02:00
mr. m
2ce89bf24b fix: add !important to appearance property in ctrlTab.css for better styling control 2025-04-03 21:41:00 +02:00
mr. m
97cbd76e8e fix: change position from absolute to fixed in zen-compact-mode.css and update sidebar visibility logic in ToolbarContextMenu 2025-04-03 20:39:17 +02:00
mr. m
683bb7eb41 fix: update path for zen metainfo file in build workflow 2025-04-03 19:50:09 +02:00
mr. m
8b0fd0af85 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-03 19:49:35 +02:00
mr. m
80d177aa92 fix: update template root path in build workflow configuration 2025-04-03 19:49:30 +02:00
mr. m
dea4ccbe58 Fixed flatpak upload path
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-03 10:35:03 -07:00
mr. m
d156d53307 fix: ensure glance tabs are always displayed in ZenWorkspaces 2025-04-03 13:46:57 +02:00
mr. m
e1c6b720a4 fix: adjust tab margin in zen-folders.css and disable tab groups in zen-browser.js 2025-04-03 13:43:59 +02:00
mr. m
4033e5d966 fix: update URL validation logic in ZenGlanceManager to use correct variable 2025-04-03 13:22:20 +02:00
mr. m
b677b9d46d Fixed glance opening on non-http(s) or file links such as magnet links (closes https://github.com/zen-browser/desktop/issues/7173) 2025-04-03 13:18:27 +02:00
mr. m
91494aaf1c Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-03 13:05:51 +02:00
mr. m
f1fd0521a3 fix: improve tab selection logic for zen-glance-tab and streamline workspace switching 2025-04-03 13:05:44 +02:00
mauro-balades
21e96c32ce Update monthly issue metrics 2025-04-03 10:58:41 +00:00
mr. m
96db1ed6db Increase the number of cache we can delete
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-03 03:55:19 -07:00
mr. m
c996f4aab5 Fix permissions when clearing up all cache
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-03 03:49:56 -07:00
mr. m
eaf803fcc0 Correcttly use runner's caller github token when clearing up cache
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-03 03:47:29 -07:00
mr. m
b7e1e26c14 Added a workflow to clear up all cache
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-03 03:45:39 -07:00
mr. m
f84e994b50 fix: Collapsed mode spacings, glance splitting on an already split view and compact mode not setting a width on startup (closes https://github.com/zen-browser/desktop/issues/7239) 2025-04-03 12:41:58 +02:00
mr. m
5473afac23 Added option to use sccache for release builds
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-03 00:04:45 +02:00
mr. M
9762d74256 refactor: streamline media button event handling and remove inline commands 2025-04-02 23:11:04 +02:00
mr. M
abedfedac6 fix: update workspace change logic and remove redundant event listener 2025-04-02 22:34:46 +02:00
mr. m
cca5e22680 Merge pull request #7218 from Slowlife01/unload
fix: skip permit unload if already checked
2025-04-02 21:25:14 +02:00
mr. m
69c406c3d6 Fixed startup function for acrylic
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-02 20:29:41 +02:00
Slowlife01
209428bdc7 refactor: make skipPermitUnload a function argument 2025-04-02 21:48:14 +07:00
Slowlife01
853811d387 chore: shorten tabbrowser patch 2025-04-02 21:46:36 +07:00
Slowlife01
bb9711639c fix: add null checks for media controller 2025-04-02 21:36:15 +07:00
Slowlife01
8f571d5800 fix: skip permit unload if already checked 2025-04-02 21:35:01 +07:00
mr. M
f61bd68ad2 Update l10n subproject commit 2025-04-02 16:27:03 +02:00
mr. M
a0f5101ac5 fix: add animation for content part in Windows platform without Mica popups 2025-04-02 16:23:57 +02:00
mr. M
6a14f85d22 fix: update CSS media queries for Linux and remove unused border color variable 2025-04-02 16:17:06 +02:00
mr. M
1e678008a2 Added a split glance button 2025-04-02 15:33:58 +02:00
mr. M
2bb183d675 fix: add optional chaining to prevent errors when checking PIP mode or fullscreen status 2025-04-02 14:32:25 +02:00
mr. M
2a5c5e5d69 fix: improve panel background contrast and adjust min width logic for browser elements 2025-04-02 11:23:50 +02:00
mr. M
0a51ad3725 fix: enhance popup appearance with improved contrast and styling for Mica popups 2025-04-02 11:13:03 +02:00
mr. M
031926efb7 refactor: remove sidebar-related code and update localization references 2025-04-02 10:16:07 +02:00
mr. M
ce8013124b fix: adjust margins and padding for compact mode and vertical tabs styles 2025-04-02 00:08:00 +02:00
mr. M
b40ab8a551 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-01 23:38:13 +02:00
mr. M
b6d1ad3418 fix: update layout recalculation and improve CSS styles for Zen UI components 2025-04-01 23:38:08 +02:00
mr. m
3556c66435 Fixed script invoking path when generating profile data
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-04-01 22:08:19 +02:00
mr. M
40813820da fix: update syntax for environment variable assignments in build workflows 2025-04-01 19:52:54 +02:00
mr. M
aa673cc361 fix: ensure SCCACHE_GHA_ENABLED is set to 'true' or 'false' based on input 2025-04-01 19:51:17 +02:00
mr. M
b4269b9001 fix: conditionally download aws-cli in build workflow for release branches 2025-04-01 19:36:05 +02:00
mr. M
dfc9119bbc feat: add 'use-sccache' input to build workflows for improved caching options 2025-04-01 19:34:31 +02:00
mr. M
fea803d4ce Updated to firefox 137.0 2025-04-01 16:55:39 +02:00
mr. m
7507f72ac0 fix: increase height of media progress box for better visibility 2025-04-01 15:54:42 +02:00
mr. m
2eb131fb0b Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-04-01 15:22:56 +02:00
mr. m
a9f9e0263e fix: update animations and styles for macOS compatibility and improve contrast in popup elements 2025-04-01 15:22:49 +02:00
mr. m
200a721a61 Merge pull request #7161 from Slowlife01/forcedworkspace
fix: tab not moving to forced workspace
2025-04-01 07:54:55 +02:00
Slowlife01
45284a3845 fix: tab not moving to forced workspace 2025-04-01 11:09:56 +07:00
mr-cheff
32c56d718c Update monthly issue metrics 2025-04-01 02:42:18 +00:00
mr. m
1f709f9350 fix: remove obsolete branding-common-mozbuild.patch file 2025-03-31 21:23:54 +02:00
mr. m
656f046efe Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-03-31 19:42:55 +02:00
mr. m
ddf4afdd78 fix: standardize quote style in ZenViewSplitter for consistency 2025-03-31 19:42:51 +02:00
mr. m
e699756093 fix: improve tab dragging behavior and enhance split view session restoration 2025-03-31 19:42:31 +02:00
mr. m
e180074022 Merge pull request #7142 from Slowlife01/moz-bool-pref
feat: add backwards compatibility for moz-bool-pref after removal
2025-03-31 19:16:00 +02:00
mr. m
2010c3a5c7 fix: update branding options in mozconfig and adjust JS preference handling 2025-03-31 19:01:59 +02:00
Slowlife01
c10c8ac7a7 chore: move imports 2025-03-31 23:27:52 +07:00
mr. m
40b80a21dd chore: update @zen-browser/surfer dependency to version 1.11.6 2025-03-31 17:56:49 +02:00
mr. m
5ef7690578 chore: update @zen-browser/surfer dependency to version 1.11.5 2025-03-31 17:51:47 +02:00
Slowlife01
7abae9d69e feat: add backwards compatibility for moz-bool-pref after removal 2025-03-31 21:59:16 +07:00
mr. m
16d125aa20 Made tab unloader properly work with workspaces 2025-03-31 16:48:19 +02:00
mr. m
006eb1b1e7 chore: update @zen-browser/surfer dependency to version 1.11.4 2025-03-31 16:43:58 +02:00
mr. m
12bdf7541f Merge pull request #7126 from Slowlife01/tabs
fix: handle undefined ZenWorkspaces in tab selection
2025-03-31 11:30:27 +02:00
Slowlife01
b5abda5054 fix: handle undefined ZenWorkspaces in tab selection 2025-03-31 14:06:27 +07:00
mr. M
baf2bc9527 chore: update @zen-browser/surfer dependency to version 1.11.3 and adjust build scripts for Windows 2025-03-31 00:41:07 +02:00
mr. M
62db2aea7a Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-03-31 00:20:47 +02:00
mr. M
3e8402b686 chore: update @zen-browser/surfer dependency to version 1.11.2 2025-03-31 00:20:32 +02:00
mr. m
a3850551c5 Disable jemalloc for now for windows builds
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-30 11:47:24 -07:00
mr. M
9147e46856 refactor: enhance CustomizableUI to support vertical tabs in the navbar 2025-03-30 16:57:12 +02:00
mr. M
e200b6080b refactor: update mozconfig files to enable clang plugin for macOS and remove it for Windows 2025-03-30 16:43:42 +02:00
mr. M
8391e6fc2f refactor: remove debug session from Windows build workflows and update optimization flags in mozconfig files 2025-03-30 15:34:47 +02:00
mr. M
fbaea7e419 chore: update @zen-browser/surfer dependency to version 1.11.1 2025-03-30 13:16:28 +02:00
mr. M
2d8687a853 chore: update @zen-browser/surfer dependency to version 1.11.0 2025-03-30 12:12:52 +02:00
mr. M
f8b6b05a25 refactor: improve script readability and maintainability in recalculate-patches.sh and remove-failed-jobs.sh 2025-03-30 10:05:54 +02:00
mr. m
3f2334a3ad Merge pull request #7064 from Slowlife01/empty
fix: prevent attaching ID to empty tab in extension TabTracker
2025-03-30 10:04:36 +02:00
mr. m
d7cdfb2b5e Merge branch 'dev' into empty 2025-03-30 10:04:30 +02:00
mr. M
9bd7b5a900 Update dependencies and refine configuration files for improved compatibility and performance 2025-03-30 10:03:50 +02:00
Slowlife01
e6fad72a2a fix: return -1 on getId 2025-03-30 13:36:22 +07:00
Slowlife01
eb8f8ee1da fix: prevent attaching ID to empty tab in extension TabTracker 2025-03-30 09:37:39 +07:00
mr. M
7bec1c2025 Enhance tab drag-and-drop functionality by adjusting move threshold and refining group drop logic 2025-03-30 00:29:42 +01:00
mr. M
2408524660 Refactor CSS and JavaScript for Zen Glance feature to improve style management and enhance tab handling 2025-03-30 00:02:24 +01:00
mr. M
fd99c13ee7 Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-03-29 23:40:57 +01:00
mr. M
7dc45bb438 Update Rust toolchain version in CI workflows and add .rust-toolchain file 2025-03-29 23:40:37 +01:00
mr. m
a8ea2e6085 Merge pull request #7036 from zen-browser/build-cache-improvement
Build cache improvement
2025-03-29 21:25:00 +01:00
mr. m
7b18c40781 Fixed fetching l10n from mozilla
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-29 21:24:17 +01:00
mr. m
923b049b85 Fixed path for updating l10n hashes
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-29 21:23:55 +01:00
mr. m
59b36847f6 Merge pull request #6867 from zen-browser/update-firefox-137
Update to firefox 137.0
2025-03-29 20:45:51 +01:00
mr. m
a78f8586f4 Update src/browser/base/content/ZenUIManager.mjs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-29 20:45:44 +01:00
mr. M
14395263aa Merge branch 'dev' of https://github.com/zen-browser/desktop into update-firefox-137 2025-03-29 20:44:49 +01:00
mr. M
60e96a73eb fix: log errors in zenUpdateLayoutBreakout for better debugging 2025-03-29 20:41:50 +01:00
mr. M
35107c20cb Format project before review 2025-03-29 20:41:03 +01:00
mr. M
00d9b0ad55 Fixed split tab group favicon missaligned (closes https://github.com/zen-browser/desktop/issues/6962) 2025-03-29 20:40:48 +01:00
mr. M
00d8f60a02 Small fixes to split view groups 2025-03-29 20:39:42 +01:00
mr. M
0c6fe6f77c refactor: improve tab group handling and visibility in split view 2025-03-29 18:26:23 +01:00
mr. m
2656f9e641 Update bug_report.yml
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-29 17:40:24 +01:00
mauro-balades
da609c1747 Update monthly issue metrics 2025-03-29 16:05:45 +00:00
mr. M
41752dcac5 Update bug report template to emphasize importance of descriptive titles 2025-03-29 16:45:03 +01:00
mr. M
6a52500bd3 Add 'Split View' component to bug report template and advanced issue labeler 2025-03-29 16:42:10 +01:00
mr. M
ebd9419a94 Add validation to bug report template for Mods and Custom CSS checks 2025-03-29 16:16:22 +01:00
mr. M
dac08aa448 Remove obsolete update_newtab script and associated dependency management 2025-03-29 15:43:09 +01:00
mr. M
c60c9fbd30 Refactor build process to use a new directory structure and remove deprecated files 2025-03-29 15:42:33 +01:00
mr. M
6f5671e41f Refactor issue template and advanced labeler for improved platform categorization 2025-03-29 15:30:03 +01:00
mr. M
ad79b576a5 Add validation requirement to bug report template 2025-03-29 15:28:16 +01:00
mr. m
e2b6884d46 Merge pull request #6956 from zen-browser/new-issue-management
Enhance bug report template and add issue labeling workflow
2025-03-29 15:27:32 +01:00
mr. M
3e91ecb8d5 Enhance bug report template and add issue labeling workflow 2025-03-29 15:25:06 +01:00
mr. m
f7678338bc Merge pull request #6909 from BrielOtero/compact-view-open-link
Fix: Wrong dialog width in compact view
2025-03-29 14:26:09 +01:00
mr. m
5462f035f8 refactor: enhance tab handling in split view and update script loading method 2025-03-29 12:31:00 +01:00
mr. m
12edc9279c refactor: remove unused zen split view category from preferences 2025-03-28 13:14:14 +01:00
mr. m
b1ef2d237d chore: update subproject commit reference in l10n 2025-03-28 13:09:49 +01:00
mr. m
01b8628504 refactor: remove hover tab change preference and related functionality in split view 2025-03-28 13:09:28 +01:00
ID
3bb11e11c3 Fixed dialog width in compact view for light and dark mode 2025-03-28 01:42:28 +01:00
ID
bfae6d975c Fixed dialog width in compact view 2025-03-28 01:02:59 +01:00
mr. m
aa4721428f Merge branch 'update-firefox-137' of https://github.com/zen-browser/desktop into update-firefox-137 2025-03-28 00:02:43 +01:00
mr. m
20cb086c76 fix: prevent pinned tabs from commingling with non-pinned tabs in split view 2025-03-28 00:02:36 +01:00
mr. m
92de61442a Merge branch 'dev' into update-firefox-137
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-27 23:01:44 +01:00
mr. m
173242e2bb fix: update repository URL and license in package.json; adjust bug and homepage links 2025-03-27 22:41:09 +01:00
mr. m
1c1d4697e5 Bumped version 10 1.10.3b
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-27 07:51:09 -07:00
mr. m
d011bb9497 Updated to ff 136.0.4
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-27 07:45:58 -07:00
mr. M
e43f9729a7 Fixed fetching bool prefs on the CSS 2025-03-27 00:22:43 +01:00
mr. m
baafa12967 fix: add missing newline at end of surfer.json 2025-03-26 23:41:42 +01:00
mr. M
c3e33fa7f3 refactor: update configuration and initialization for Zen application 2025-03-26 23:28:30 +01:00
mr. M
daf6d6aea8 feat: update preferences and UI components for new features and improvements 2025-03-26 21:31:12 +01:00
mr. m
02c9ec67c0 Merge branch 'dev' into update-firefox-137
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-03-26 19:34:52 +01:00
mr. M
63d25a11ae Update Firefox version to 136.0.3 and candidate to 137.0; update localization commit hash 2025-03-26 19:33:39 +01:00
mr. M
a4e703f2fd Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-03-26 19:24:38 +01:00
mr. M
360079d15e Small change to how essentials blur the favicon 2025-03-26 19:24:28 +01:00
mr. m
1473675094 fix: improve workspace session restoration and scrolling behavior 2025-03-25 19:51:03 +01:00
mr. m
a6e03680eb Merge pull request #6818 from Slowlife01/playback.1
refactor(MediaController): remove redundant code
2025-03-25 16:07:26 +01:00
Slowlife01
c99d3d37db refactor(MediaController): remove redundant code 2025-03-25 20:45:41 +07:00
Slowlife01
b2fa05fa22 fix(MediaController): pass in playbackRate in more place 2025-03-25 20:34:07 +07:00
mr. m
77070be769 Merge pull request #6814 from Slowlife01/playback
fix(MediaController): pass in playbackRate when switching controller
2025-03-25 14:12:33 +01:00
Slowlife01
3467e5070f fix(MediaController): pass in playbackRate when switching 2025-03-25 20:09:25 +07:00
mr. m
5fb8fe86de Merge pull request #6793 from zen-browser/split-views-session-restore
Added support for split views persisting between sessions
2025-03-25 00:06:26 +01:00
mr. m
afea93d327 Merge branch 'dev' into split-views-session-restore 2025-03-25 00:06:11 +01:00
mr. M
53ec2f15b6 Fixed pinning tabs rendering the browser useles (closes https://github.com/zen-browser/desktop/issues/4583) 2025-03-25 00:04:04 +01:00
mr. M
342186584e Added support for split views persisting between sessions 2025-03-24 23:58:06 +01:00
mr. M
bd5d3c00f1 Formatted the project 2025-03-24 22:19:49 +01:00
mr. m
53eeb4e921 Merge pull request #6740 from Jarm7/patch-1
Update update_newtab.py
2025-03-24 22:19:08 +01:00
mr. m
f2909fb3bd Merge pull request #6788 from k00lagin/fix-typo
Fix: small typo
2025-03-24 22:15:08 +01:00
k00lagin
1039f1db38 Update ZenThemeMarketplaceChild.sys.mjs
Fix typo intall -> inStall

Signed-off-by: k00lagin <k00lagin@gmail.com>
2025-03-25 02:06:26 +05:00
mr. M
741ae9eb1e fix(firefox): update candidate version to 136.0.3 and update last commit hash 2025-03-24 22:02:04 +01:00
mr. M
76ff984b9c Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-03-24 18:36:23 +01:00
mr. M
f89478bf67 fix(styles): adjust zen-toast-container positioning for right-side alignment 2025-03-24 11:11:05 +01:00
mr. m
f530c389a4 Merge pull request #6777 from kritishd8/dev
Removed weird movement when hovering media player
2025-03-24 10:19:34 +01:00
Obscure.
a1ab0512b7 Removed weird movement when hovering media player
Signed-off-by: Obscure. <69711181+kritishd8@users.noreply.github.com>
2025-03-24 15:02:34 +05:45
mr. m
3dad9896eb Merge pull request #6775 from Slowlife01/position
MediaController: update position more frequently
2025-03-24 07:39:19 +01:00
mr. m
ff9b0c79c0 Merge pull request #6774 from Slowlife01/pref
fix: media controls config typo
2025-03-24 07:36:27 +01:00
Slowlife01
19ed3fb303 MediaController: update position more frequently 2025-03-24 10:40:48 +07:00
Slowlife
09dd3c94c1 fix: media controls config typo
Signed-off-by: Slowlife <slowlife1165@gmail.com>
2025-03-24 10:21:51 +07:00
mr. M
e79afc87ca refactor(ZenCompactMode): comment out relatedTarget check for hover state experimentation 2025-03-23 23:54:07 +01:00
mr. M
f3ff74b0df Merge branch 'dev' of https://github.com/zen-browser/desktop into dev 2025-03-23 11:31:26 +01:00
mr. M
569ee488f5 fix(build): remove duplicate echo statement for GITHUB_REPOSITORY_OWNER in workflow 2025-03-23 11:31:21 +01:00
mr. m
68ebe2d503 Merge pull request #6745 from zen-browser/revert-5842-glance-buttons-overflow
Revert "Fix: fixed overflowing glance buttons when sidebar is opened"
2025-03-23 10:41:38 +01:00
mr. m
8939e889f0 Revert "Fix: fixed overflowing glance buttons when sidebar is opened" 2025-03-23 10:41:26 +01:00
Jarm7
796a52625e Update update_newtab.py
feat: Enhance error handling and logging in newtab update script

Add directory existence validation for NEW_TAB_DIR and ENGINE_DIR
Implement detailed subprocess output capturing with error logging
Introduce comprehensive exception handling with specific error types

Signed-off-by: Jarm7 <kotek.moorkotek@gmail.com>
2025-03-23 00:22:08 +01:00
mr. m
0fbc5178f6 Merge pull request #6738 from nocanoa/dev
Update README.md to set user expectations
2025-03-22 23:31:50 +01:00
NOCanoa
d1505287b2 Forgot ! xP
Signed-off-by: NOCanoa <158103554+nocanoa@users.noreply.github.com>
2025-03-22 22:30:56 +00:00
NOCanoa
8959adf9e0 Update README.md to set user expectations
Signed-off-by: NOCanoa <158103554+nocanoa@users.noreply.github.com>
2025-03-22 22:30:19 +00:00
mr. m
5961462cd7 Merge pull request #5842 from Raiden0456/glance-buttons-overflow
Fix: fixed overflowing glance buttons when sidebar is opened
2025-03-22 18:40:13 +01:00
Vrezh Fedora
af0eeb710e Merge branch 'dev' into glance-buttons-overflow 2025-03-22 16:24:01 +01:00
mr. m
75a75d78ec Merge pull request #6706 from Slowlife01/string
fix: import string to pip window
2025-03-22 11:00:13 +01:00
mr. m
ddd8eb6da4 Merge pull request #6710 from Slowlife01/overflow
fix(MediaController): recheck overflow on metadata change
2025-03-22 10:59:49 +01:00
Slowlife01
d9d8437b6d fix(MediaController): recheck overflow on metadata change 2025-03-22 09:46:20 +07:00
Slowlife01
c2f2a589ed shorter export 2025-03-22 08:52:39 +07:00
Slowlife01
c3d09c486c fix: import string to pip window 2025-03-22 08:46:40 +07:00
Vrezh Fedora
d808e72d2a Merge branch 'dev' into glance-buttons-overflow 2025-03-14 22:22:20 +09:00
Vrezh Fedora
02a860ba19 Remove inline styles from glance-wrapper element 2025-03-14 22:16:55 +09:00
mr. m
8902f3202e Merge branch 'dev' into glance-buttons-overflow 2025-03-02 15:45:11 +01:00
Vrezh Fedora
c17779b6d4 revert(var): bring back quikcCloseZen 2025-03-01 22:26:46 +01:00
Vrezh Fedora
7f6c5f7211 revert some changes 2025-03-01 22:23:49 +01:00
Vrezh Fedora
45f49738f3 Merge branch 'dev' into glance-buttons-overflow 2025-03-01 20:47:06 +01:00
Vrezh Fedora
cf0662d0a4 feat(glance): glance buttons fix overflow 2025-02-27 12:09:05 +01:00
270 changed files with 5260 additions and 5918 deletions

20
.formal-git/components Normal file
View File

@@ -0,0 +1,20 @@
split-view
kbs
folders
workspaces
mods
tests
glance
media
images
vendor
tabs
compact-mode
common
fonts
welcome
scripts
workflows
winsign
flatpak
configs

1
.formal-git/template Normal file
View File

@@ -0,0 +1 @@
{type}: {message}, b=({bugId}), c={components}

View File

@@ -6,7 +6,8 @@ body:
value: |
Thank you for filing a bug report!
## Important
## IMPORTANT READ
- Please provide descriptive titles. Bad titles do more harm than good.
- Please search existing issues to avoid creating duplicates.
- For enhancement requests, please use GitHub Discussions.
- Please fill out the template below to the best of your ability.
@@ -20,6 +21,10 @@ body:
- label: I have read the instructions.
- label: I have searched existing issues and avoided creating duplicates.
- label: I am not filing an enhancement request.
- label: I have checked that this issue cannot be reproduced on Mozilla Firefox.
- label: I have checked that this issue can be reproduced once I removed all my Mods and Custom CSS.
validations:
required: true
- type: textarea
id: what-happened
attributes:
@@ -28,19 +33,12 @@ body:
placeholder: Tell us what you see!
validations:
required: true
- type: checkboxes
id: firefox
attributes:
label: Reproducible?
description: Is this issue reproducible on Firefox?
options:
- label: I have checked that this issue cannot be reproduced on Mozilla Firefox.
- type: input
id: version
attributes:
label: Version
description: What version of our software are you running? Please do not use "latest" or "newest" as version numbers. Go to `Help -> About Zen` to find the version number.
placeholder: 1.0.0
placeholder: 1.0.0b
validations:
required: true
- type: dropdown
@@ -54,10 +52,40 @@ body:
- Linux (Tarball)
- macOS - aarch64
- macOS - Intel
- Windows
- Windows - x64
- Windows - aarch64
- Other
validations:
required: true
- type: dropdown
id: component
attributes:
label: What component is this issue related to?
options:
- Other
- Compact Mode
- Workspaces
- Mods / Themes
- Glance
- URL Bar
- Tabs
- Split View
- Settings
- Privacy
- Performance
- Media Controler
- Tab unloading
- Tab Folders
- Keyboard Shortcuts
- Security
- Extensions
- Customizable UI / Toolbars
- Localization
- Bookmarks
- Sync
validations:
required: true
- type: textarea
id: logs
attributes:

58
.github/advanced-issue-labeler.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
policy:
- section:
- id: [component]
label:
# Make sure it's in sync with the dropdown in the issue template
- name: 'component: sync'
keys: ['Sync']
- name: 'component: compact-mode'
keys: ['Compact Mode']
- name: 'component: workspaces'
keys: ['Workspaces']
- name: 'component: mods-themes'
keys: ['Mods / Themes']
- name: 'component: bookmarks'
keys: ['Bookmarks']
- name: 'component: glance'
keys: ['Glance']
- name: 'component: url-bar'
keys: ['URL Bar']
- name: 'component: tabs'
keys: ['Tabs']
- name: 'component: settings'
keys: ['Settings']
- name: 'component: privacy'
keys: ['Privacy']
- name: 'component: split-view'
keys: ['Split View']
- name: 'component: performance'
keys: ['Performance']
- name: 'component: media-controller'
keys: ['Media Controler']
- name: 'component: tab-unloading'
keys: ['Tab unloading']
- name: 'component: tab-folders'
keys: ['Tab Folders']
- name: 'component: keyboard-shortcuts'
keys: ['Keyboard Shortcuts']
- name: 'component: security'
keys: ['Security']
- name: 'component: extensions'
keys: ['Extensions']
- name: 'component: customizable-ui-toolbars'
keys: ['Customizable UI / Toolbars']
- name: 'component: localization'
keys: ['Localization']
- name: 'component: other'
keys: ['Other']
- id: [platform]
block-list: ['Other']
label:
# Make sure it's in sync with the dropdown in the issue template
- name: 'platform: linux'
keys: ['Linux (AppImage)', 'Linux (Flatpak)', 'Linux (Tarball)']
- name: 'platform: macOS'
keys: ['macOS - aarch64', 'macOS - Intel']
- name: 'platform: windows'
keys: ['Windows - x64', 'Windows - aarch64']

View File

@@ -21,6 +21,11 @@ on:
options:
- 'release'
- 'twilight'
use-sccache:
description: 'Use sccache'
required: true
type: 'boolean'
default: false
workflow_call:
inputs:
create_release:
@@ -38,6 +43,11 @@ on:
required: true
default: 'release'
type: 'string'
use-sccache:
description: 'Use sccache'
required: true
type: 'boolean'
default: false
jobs:
debug-inputs:
@@ -48,10 +58,10 @@ jobs:
run: |
echo "create_release: ${{ inputs.create_release }}"
echo "update_version: ${{ inputs.update_version }}"
echo "use sccache: ${{ inputs.use-sccache }}"
echo "update_branch: ${{ inputs.update_branch }}"
echo "GITHUB_REPOSITORY: ${{ github.repository }}"
echo "GITHUB_REPOSITORY_OWNER: ${{ github.repository_owner }}"
echo "GITHUB_REPOSITORY_OWNER: ${{ github.repository_owner }}"
echo "GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}"
buildid:
@@ -71,6 +81,7 @@ jobs:
needs: debug-inputs
steps:
- name: Download aws-cli
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
@@ -283,6 +294,7 @@ jobs:
contents: write
secrets: inherit
with:
use-sccache: ${{ inputs.use-sccache }}
build-version: ${{ needs.build-data.outputs.version }}
generate-gpo: true
profile-data-path-archive: zen-windows-profile-data-and-jarlog.zip
@@ -313,6 +325,7 @@ jobs:
generate-gpo: false
release-branch: ${{ inputs.update_branch }}
MOZ_BUILD_DATE: ${{needs.buildid.outputs.buildids}}
use-sccache: ${{ inputs.use-sccache }}
linux:
name: Linux build
@@ -325,6 +338,7 @@ jobs:
build-version: ${{ needs.build-data.outputs.version }}
release-branch: ${{ inputs.update_branch }}
MOZ_BUILD_DATE: ${{needs.buildid.outputs.buildids}}
use-sccache: ${{ inputs.use-sccache }}
mac:
name: macOS build
@@ -337,6 +351,7 @@ jobs:
build-version: ${{ needs.build-data.outputs.version }}
release-branch: ${{ inputs.update_branch }}
MOZ_BUILD_DATE: ${{needs.buildid.outputs.buildids}}
use-sccache: ${{ inputs.use-sccache }}
mac-uni:
name: macOS build (Universal)
@@ -386,23 +401,23 @@ jobs:
set -eux
export ARCH=${{ matrix.arch }}
UPINFO="gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|desktop|latest|zen-$ARCH.AppImage.zsync"
rm AppDir/.DirIcon || true
cp configs/branding/${{ inputs.update_branch }}/logo128.png AppDir/usr/share/icons/hicolor/128x128/apps/zen.png
cp configs/branding/${{ inputs.update_branch }}/logo128.png AppDir/zen.png && ln -s zen.png AppDir/.DirIcon
rm build/AppDir/.DirIcon || true
cp configs/branding/${{ inputs.update_branch }}/logo128.png build/AppDir/usr/share/icons/hicolor/128x128/apps/zen.png
cp configs/branding/${{ inputs.update_branch }}/logo128.png build/AppDir/zen.png && ln -s zen.png build/AppDir/.DirIcon
if [ "${{ inputs.update_branch }}" = "twilight" ]; then
sed -i -e 's/Name=Zen Browser/Name=Zen Twilight/g' AppDir/zen.desktop
sed -i -e 's/StartupWMClass=zen/StartupWMClass=zen-twilight/g' AppDir/zen.desktop
sed -i -e 's/Name=Zen Browser/Name=Zen Twilight/g' build/AppDir/zen.desktop
sed -i -e 's/StartupWMClass=zen/StartupWMClass=zen-twilight/g' build/AppDir/zen.desktop
fi
APPDIR=AppDir
APPDIR=build/AppDir
tar -xvf *.tar.* && rm -rf *.tar.*
mv zen/* $APPDIR/
wget "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
wget "https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-squashfs-lite-$ARCH"
chmod +x *.AppImage
chmod +x ./uruntime-appimage-squashfs-lite-"$ARCH"
chmod +x ./AppDir/AppRun
chmod +x ./build/AppDir/AppRun
# keep the uruntime mountpoint (massively speeds up launch time)
sed -i 's|URUNTIME_MOUNT=[0-9]|URUNTIME_MOUNT=0|' ./uruntime-appimage-squashfs-lite-"$ARCH"
@@ -436,6 +451,7 @@ jobs:
if: always()
steps:
- name: Download aws-cli
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
@@ -487,7 +503,7 @@ jobs:
- name: Download object files
if: ${{ inputs.update_branch == 'release' }}
run: |
git clone https://github.com/zen-browser/windows-binaries.git .github/workflows/object
git clone https://github.com/zen-browser/windows-binaries.git .github/workflows/object --depth 1
- name: Copy update manifests
env:
@@ -691,7 +707,7 @@ jobs:
--linux-archive zen.linux-x86_64.tar.xz \
--linux-aarch64-archive zen.linux-aarch64.tar.xz \
--output app.zen_browser.zen.yml \
--template-root ./zen-browser/flatpak
--template-root ./zen-browser/build/flatpak
- name: Commit changes
run: |

25
.github/workflows/clear-all-cache.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: Cleanup cache
on:
workflow_dispatch:
jobs:
cleanup:
runs-on: ubuntu-latest
permissions: write-all
steps:
- name: Cleanup
run: |
echo "Fetching list of cache key"
cacheKeysForPR=$(gh cache list --limit 1000 --json id --jq '.[].id')
## Setting this to not fail the workflow while deleting cache keys.
set +e
echo "Deleting caches..."
for cacheKey in $cacheKeysForPR
do
gh cache delete $cacheKey
done
echo "Done"
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}

View File

@@ -1,33 +0,0 @@
name: Clear cache
on:
workflow_dispatch:
permissions:
actions: write
jobs:
clear-cache:
runs-on: ubuntu-latest
steps:
- name: Clear cache
uses: actions/github-script@v7
with:
script: |
console.log("About to clear")
const caches = await github.rest.actions.getActionsCacheList({
owner: context.repo.owner,
repo: context.repo.repo,
})
for (const cache of caches.data.actions_caches) {
console.log(cache)
await github.rest.actions.deleteActionsCacheById({
owner: context.repo.owner,
repo: context.repo.repo,
cache_id: cache.id,
})
}
console.log("Clear completed")

View File

@@ -11,7 +11,7 @@ on:
- dev
jobs:
pr-test:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout repository

34
.github/workflows/issue-labeler.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: Issue labeler
on:
issues:
types: [opened]
permissions:
contents: read
jobs:
label-component:
runs-on: ubuntu-latest
permissions:
# required for all workflows
issues: write
# only required for workflows in private repositories
actions: read
contents: read
steps:
- uses: actions/checkout@v4
- name: Parse issue form
uses: stefanbuck/github-issue-parser@v3
id: issue-parser
with:
template-path: .github/ISSUE_TEMPLATE/bug_report.yml
- name: Set labels based on animals field
uses: redhat-plumbers-in-action/advanced-issue-labeler@v2
with:
issue-form: ${{ steps.issue-parser.outputs.jsonString }}
token: ${{ secrets.DEPLOY_KEY }}

View File

@@ -15,6 +15,11 @@ on:
type: string
required: true
default: ''
use-sccache:
description: 'Use sccache'
required: true
type: boolean
default: false
jobs:
build-linux:
@@ -27,9 +32,9 @@ jobs:
matrix:
arch: [x86_64, aarch64]
env:
SCCACHE_GHA_ENABLED: 'true'
SCCACHE_GHA_ENABLED: ${{ inputs.use-sccache && 'true' || 'false' }}
CARGO_TERM_COLOR: always
RUSTC_WRAPPER: 'sccache'
RUSTC_WRAPPER: ${{ inputs.use-sccache && 'sccache' || '' }}
CARGO_INCREMENTAL: 0
name: Build Linux - ${{ matrix.arch }}
@@ -56,6 +61,7 @@ jobs:
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@main
if: ${{ inputs.use-sccache }}
with:
disable_annotations: true
@@ -91,7 +97,7 @@ jobs:
- name: Fix Rust version
run: |
# Install a rust version compatible with LLVM 18
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.79
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain $(cat .rust-toolchain)
source $HOME/.cargo/env
if test "${{ matrix.arch }}" = "aarch64"; then

View File

@@ -15,6 +15,11 @@ on:
type: string
required: true
default: ''
use-sccache:
description: 'Use sccache'
required: true
type: boolean
default: false
jobs:
mac-build:
@@ -26,9 +31,9 @@ jobs:
matrix:
arch: [x86_64, aarch64]
env:
SCCACHE_GHA_ENABLED: 'true'
SCCACHE_GHA_ENABLED: ${{ inputs.use-sccache && 'true' || 'false' }}
CARGO_TERM_COLOR: always
RUSTC_WRAPPER: 'sccache'
RUSTC_WRAPPER: ${{ inputs.use-sccache && 'sccache' || '' }}
CARGO_INCREMENTAL: 0
steps:
- name: Checkout repository
@@ -44,6 +49,7 @@ jobs:
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@main
if: ${{ inputs.use-sccache }}
with:
disable_annotations: true
@@ -82,7 +88,7 @@ jobs:
brew install watchman
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.79
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain $(cat .rust-toolchain)
source $HOME/.cargo/env
if test "${{ matrix.arch }}" = "aarch64"; then

View File

@@ -10,6 +10,11 @@ on:
required: false
type: boolean
default: true
use-sccache:
description: 'Use sccache'
required: false
type: boolean
default: false
jobs:
twilight-release-schedule:
@@ -20,6 +25,7 @@ jobs:
with:
create_release: ${{ github.event_name != 'workflow_dispatch' && true || inputs.create_release }}
update_branch: twilight
use-sccache: ${{ github.event_name != 'workflow_dispatch' && false || inputs.use-sccache }}
update_version: false
post-build:

View File

@@ -90,15 +90,9 @@ jobs:
echo "cd $workspace_dir" '' >> mozilla-build-run.sh
echo 'export PATH=/c/mozilla-build/msys2/usr/bin:$PATH' '' >> mozilla-build-run.sh
echo './mach --no-interactive bootstrap --application-choice browser' '' >> mozilla-build-run.sh
echo 'ls /c/Users/runneradmin/.mozbuild/clang/bin' '' >> mozilla-build-run.sh
echo 'LLVM_PROFDATA=/c/Users/runneradmin/.mozbuild/clang/bin/llvm-profdata.exe JARLOG_FILE=en-US.log ./mach python build/pgo/profileserver.py --binary /c/artifact/zen/zen.exe' '' >> mozilla-build-run.sh
C:\mozilla-build\start-shell.bat $workspace_dir_current\mozilla-build-run.sh
- name: Debug session
if: ${{ failure() }}
uses: WarpBuilds/action-debugger@v1.3
timeout-minutes: 15
- name: Move profile data
if: ${{ matrix.arch == 'x86_64' }}
run: |

View File

@@ -22,6 +22,11 @@ on:
type: string
required: true
default: ''
use-sccache:
description: 'Use sccache'
required: true
type: boolean
default: false
jobs:
windows-build:
@@ -29,9 +34,9 @@ jobs:
# aarch64 does not need full 16x, and we also dont use full LTO when generating GPO
runs-on: ${{ (inputs.release-branch == 'release' && !inputs.generate-gpo && matrix.arch == 'x86_64') && 'self-hosted' || 'ubuntu-latest' }}
env:
SCCACHE_GHA_ENABLED: 'true'
SCCACHE_GHA_ENABLED: ${{ inputs.use-sccache && 'true' || 'false' }}
CARGO_TERM_COLOR: always
RUSTC_WRAPPER: 'sccache'
RUSTC_WRAPPER: ${{ inputs.use-sccache && 'sccache' || '' }}
CARGO_INCREMENTAL: 0
strategy:
fail-fast: false
@@ -62,6 +67,7 @@ jobs:
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@main
if: ${{ inputs.use-sccache }}
with:
disable_annotations: true
@@ -105,6 +111,7 @@ jobs:
set -x
mkdir -p ~/win-cross
cd engine/
sudo apt-get install python3-launchpadlib
sudo add-apt-repository ppa:savoury1/backports
sudo apt-get update
sudo apt-get install -y python3-pip autoconf \
@@ -150,7 +157,7 @@ jobs:
aria2
echo Setup wine
aria2c "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.cache.level-1.toolchains.v3.linux64-wine.latest/artifacts/public%2Fbuild%2Fwine.tar.zst" -o wine.tar.zst
tar --zstd -xvf wine.tar.zst -C ~/win-cross
tar --zstd -xf wine.tar.zst -C ~/win-cross
rm wine.tar.zst
echo Setup Visual Studio
./mach python --virtualenv build taskcluster/scripts/misc/get_vs.py build/vs/vs2022.yaml ~/win-cross/vs2022
@@ -176,14 +183,14 @@ jobs:
- name: Setup Rust
if: ${{ !(inputs.generate-gpo && matrix.arch == 'aarch64') }}
run: |
cd engine/
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.81
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain $(cat .rust-toolchain)
source $HOME/.cargo/env
if test "${{ matrix.arch }}" = "aarch64"; then
rustup target add aarch64-pc-windows-msvc
else
rustup target add x86_64-pc-windows-msvc
fi
cd engine/
cargo install cargo-download --locked
cargo download -x windows=0.58.0
export CARGO_INCREMENTAL=0
@@ -249,11 +256,6 @@ jobs:
ls ./dist
ls .
- name: Debug session
if: ${{ failure() }}
uses: WarpBuilds/action-debugger@v1.3
timeout-minutes: 15
- name: Move package for PGO upload
if: ${{ inputs.generate-gpo && matrix.arch == 'x86_64' }}
run: |
@@ -279,21 +281,24 @@ jobs:
if: ${{ !inputs.generate-gpo }}
run: |
set -x
if test "${{ matrix.arch }}" = "aarch64"; then
find engine/obj-aarch64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type d -not -name 'dist' -exec rm -rf {} \;
find engine/obj-aarch64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type f -not -name 'dist' -exec rm -f {} \;
else
find engine/obj-x86_64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type d -not -name 'dist' -exec rm -rf {} \;
find engine/obj-x86_64-pc-windows-msvc/ -mindepth 1 -maxdepth 1 -type f -not -name 'dist' -exec rm -f {} \;
fi
mkdir obj-${{ matrix.arch }}-pc-windows-msvc/
rm -rf engine/obj-${{ matrix.arch }}-pc-windows-msvc/_tests
rm -rf engine/obj-${{ matrix.arch }}-pc-windows-msvc/config/autoconf.mk
rm -rf engine/obj-${{ matrix.arch }}-pc-windows-msvc/config.statusd/substs/
rm -rf engine/obj-${{ matrix.arch }}-pc-windows-msvc/dist/install
find engine/obj-${{ matrix.arch }}-pc-windows-msvc/dist -maxdepth 1 -type f -name "*.zip" -delete
cp -r --no-dereference engine/obj-${{ matrix.arch }}-pc-windows-msvc/* obj-${{ matrix.arch }}-pc-windows-msvc/ || true
- name: Upload dist object
if: ${{ !inputs.generate-gpo }}
uses: actions/upload-artifact@v4
with:
retention-days: 5
retention-days: 2
name: windows-x64-obj-${{ matrix.arch == 'aarch64' && 'arm64' || matrix.arch }}
path: engine/obj-${{ matrix.arch == 'aarch64' && 'aarch64' || 'x86_64' }}-pc-windows-msvc/
path: obj-${{ matrix.arch }}-pc-windows-msvc
- name: Upload artifact (if Twilight branch, binary)
if: ${{ inputs.release-branch == 'twilight' && !inputs.generate-gpo }}

1
.gitignore vendored
View File

@@ -11,3 +11,4 @@ windsign-temp/
venv/
!firefox-cache/
win-cross/

View File

@@ -22,7 +22,8 @@ docs/issue-metrics/*.md
# Some CSS files are preprocessed and prettier doesn't handle them well
# We also dont want to format the CSS files that are generated by the build
src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css
src/browser/base/content/zen-styles/zen-compact-mode.css
src/browser/base/zen-components/ZenEmojies.mjs
build/codesign/codesign.bash
src/zen/tabs/zen-tabs/vertical-tabs.css
src/zen/compact-mode/zen-compact-mode.css
src/zen/common/ZenEmojies.mjs
*.inc

1
.rust-toolchain Normal file
View File

@@ -0,0 +1 @@
1.82

View File

@@ -6,7 +6,7 @@
[![Crowdin](https://badges.crowdin.net/zen-browser/localized.svg)](https://crowdin.com/project/zen-browser)
[![Zen Release builds](https://github.com/zen-browser/desktop/actions/workflows/build.yml/badge.svg?branch=stable)](https://github.com/zen-browser/desktop/actions/workflows/build.yml)
✨ Experience tranquillity while browsing the web without people tracking you! Zen is a privacy-focused browser that blocks trackers, ads, and other unwanted content while offering the best browsing experience!
✨ Experience tranquillity while browsing the internet with Zen! Our mission is to give you a balance between speed, privacy and productivity!
<div flex="true">
<a href="https://zen-browser.app/download">
@@ -28,9 +28,9 @@
## 🖥️ Compatibility
Zen is currently built using Firefox version `136.0.2`! 🚀
Zen is currently built using Firefox version `137.0.2`! 🚀
- [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 136.0`!
- [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 137.0.2`!
- 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!
@@ -85,7 +85,7 @@ winget install --id Zen-Team.Zen-Browser
You can also install Zen using Homebrew:
```
brew install --cask zen-browser
brew install zen-browser
```
#### Linux
@@ -118,11 +118,11 @@ To upgrade the browser to a newer version, use the embedded update functionality
## 👨‍💻 Development and Contributing
Some components used by @zen-browser as an attempt to make firefox forks a better place, and for other to enjoy the beauty of OSS. You can find them [here](https://github.com/zen-browser/desktop/tree/dev/src/browser/base/zen-components).
Some components used by @zen-browser as an attempt to make firefox forks a better place, and for other to enjoy the beauty of OSS. You can find them [here](https://github.com/zen-browser/desktop/tree/dev/src/zen).
#### `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/guides/building).
#### `Special Thanks`

View File

@@ -0,0 +1 @@
ee85441427e22eb9fbc8d3eb62c7e5804535f0bc

View File

@@ -49,6 +49,12 @@ modules:
strip-components: 0
only-arches:
- x86_64
x-checker-data:
type: json
url: https://api.github.com/repos/zen-browser/desktop/releases/latest
version-query: .tag_name
url-query: .assets[] | select(.name=="zen.linux-x86_64.tar.xz") | .browser_download_url
is-main-source: true
- type: archive
url: https://github.com/zen-browser/desktop/releases/download/{version}/zen.linux-aarch64.tar.xz
@@ -56,6 +62,12 @@ modules:
strip-components: 0
only-arches:
- aarch64
x-checker-data:
type: json
url: https://api.github.com/repos/zen-browser/desktop/releases/latest
version-query: .tag_name
url-query: .assets[] | select(.name=="zen.linux-aarch64.tar.xz") | .browser_download_url
is-main-source: true
- type: archive
url: https://github.com/zen-browser/flatpak/releases/download/{version}/archive.tar

View File

@@ -0,0 +1,9 @@
(New-Object System.Net.WebClient).DownloadFile("https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe", "C:\MozillaBuildSetup-Latest.exe")
C:\MozillaBuildSetup-Latest.exe /S | out-null
rustup target add aarch64-pc-windows-msvc
rustup target add x86_64-pc-windows-msvc
cd engine
./mach python --virtualenv build taskcluster/scripts/misc/get_vs.py build/vs/vs2022.yaml ../win-cross/vs2022
cd ..

View File

@@ -6,7 +6,7 @@ param(
$ErrorActionPreference = "Stop"
echo "Preparing environment"
git pull --recurse-submodules
git pull --recurse
mkdir windsign-temp -ErrorAction SilentlyContinue
# Download in parallel
@@ -19,40 +19,145 @@ mkdir windsign-temp -ErrorAction SilentlyContinue
# echo "Downloaded git objects repo to"
#} -Verbose -ArgumentList $PWD -Debug
gh run download $GithubRunId --name windows-x64-obj-arm64 -D windsign-temp\windows-x64-obj-arm64
echo "Downloaded arm64 artifacts"
gh run download $GithubRunId --name windows-x64-obj-x86_64 -D windsign-temp\windows-x64-obj-x86_64
echo "Downloaded x86_64 artifacts"
Start-Job -Name "DownloadGitl10n" -ScriptBlock {
param($PWD)
cd $PWD
$env:ZEN_L10N_CURR_DIR=[regex]::replace($PWD, "^([A-Z]):", { "/" + $args.value.Substring(0, 1).toLower() }) -replace "\\", "/"
C:\mozilla-build\start-shell.bat $PWD\scripts\download-language-packs.sh
echo "Fetched l10n and firefox's one"
} -Verbose -ArgumentList $PWD -Debug
Start-Job -Name "SurferInit" -ScriptBlock {
param($PWD)
cd $PWD
surfer -- ci --brand release
npm run import -- --verbose
} -Verbose -ArgumentList $PWD -Debug
#Wait-Job -Name "DownloadGitObjectsRepo"
echo "Downloading artifacts info"
$artifactsInfo=gh api repos/zen-browser/desktop/actions/runs/$GithubRunId/artifacts
$token = gh auth token
function New-TemporaryDirectory {
$tmp = [System.IO.Path]::GetTempPath() # Not $env:TEMP, see https://stackoverflow.com/a/946017
$name = (New-Guid).ToString("N")
New-Item -ItemType Directory -Path (Join-Path $tmp $name)
}
function DownloadFile($url, $targetFile) {
$uri = New-Object "System.Uri" "$url"
$request = [System.Net.HttpWebRequest]::Create($uri)
$request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
$request.Headers.Add("Authorization", "Bearer $token")
$response = $request.GetResponse()
$totalLength = [System.Math]::Floor($response.get_ContentLength()/1024)
$responseStream = $response.GetResponseStream()
$targetStream = New-Object -TypeName System.IO.FileStream -ArgumentList $targetFile, Create
$buffer = new-object byte[] 10KB
$count = $responseStream.Read($buffer,0,$buffer.length)
$downloadedBytes = $count
while ($count -gt 0) {
$targetStream.Write($buffer, 0, $count)
$count = $responseStream.Read($buffer,0,$buffer.length)
$downloadedBytes = $downloadedBytes + $count
Write-Progress -activity "Downloading file '$($url.split('/') | Select -Last 1)'" -status "Downloaded ($([System.Math]::Floor($downloadedBytes/1024))K of $($totalLength)K): " -PercentComplete ((([System.Math]::Floor($downloadedBytes/1024)) / $totalLength) * 100)
}
Write-Progress -activity "Finished downloading file '$($url.split('/') | Select -Last 1)'"
$targetStream.Flush()
$targetStream.Close()
$targetStream.Dispose()
$responseStream.Dispose()
}
function DownloadArtifacts($name) {
echo "Downloading artifacts for $name"
$artifactUrl=$($artifactsInfo | jq -r --arg NAME "windows-x64-obj-$name" '.artifacts[] | select(.name == $NAME) | .archive_download_url')
echo "Artifact URL: $artifactUrl"
# download the artifact
$outputPath="$PWD\windsign-temp\windows-x64-obj-$name"
$tempDir = New-TemporaryDirectory
$tempFile = Join-Path $tempDir "artifact-$($name).zip"
echo "Downloading artifact to $tempFile"
DownloadFile $artifactUrl $tempFile
Start-Job -Name "UnzipArtifact$name" -ScriptBlock {
param($tempFile, $outputPath)
echo "Unzipping artifact to $outputPath"
Expand-Archive -Path $tempFile -DestinationPath $outputPath -Force
echo "Unzipped artifact to $outputPath"
} -ArgumentList $tempFile, $outputPath -Verbose -Debug
}
DownloadArtifacts arm64
DownloadArtifacts x86_64
# Wait for the jobs to finish
Wait-Job -Name "UnzipArtifactarm64"
Wait-Job -Name "UnzipArtifactx86_64"
mkdir engine\obj-x86_64-pc-windows-msvc\ -ErrorAction SilentlyContinue
npm run surfer -- ci --brand release
# Collect all .exe and .dll files into a list
$files = Get-ChildItem windsign-temp\windows-x64-obj-x86_64\ -Recurse -Include *.exe
$files += Get-ChildItem windsign-temp\windows-x64-obj-x86_64\ -Recurse -Include *.dll
$files += Get-ChildItem windsign-temp\windows-x64-obj-arm64\ -Recurse -Include *.exe
$files += Get-ChildItem windsign-temp\windows-x64-obj-arm64\ -Recurse -Include *.dll
signtool.exe sign /n "$SignIdentity" /t http://time.certum.pl/ /fd sha256 /v $files
$env:ZEN_RELEASE="true"
$env:SURFER_SIGNING_MODE="true"
Wait-Job -Name "SurferInit"
Wait-Job -Name "DownloadGitl10n"
function SignAndPackage($name) {
echo "Executing on $name"
rmdir .\dist -Recurse -ErrorAction SilentlyContinue
rmdir engine\obj-x86_64-pc-windows-msvc\ -Recurse -ErrorAction SilentlyContinue
cp windsign-temp\windows-x64-obj-$name engine\obj-x86_64-pc-windows-msvc\ -Recurse
echo "Signing $name"
rmdir engine\obj-$name-pc-windows-msvc\ -Recurse -ErrorAction SilentlyContinue
$objName=$name
# instead of arm, use aarch64
if ($name -eq "arm64") {
$objName="aarch64"
}
# Collect all .exe and .dll files into a list
$files = Get-ChildItem engine\obj-x86_64-pc-windows-msvc\ -Recurse -Include *.exe
$files += Get-ChildItem engine\obj-x86_64-pc-windows-msvc\ -Recurse -Include *.dll
echo "Removing old obj dir"
rmdir engine\obj-$objName-pc-windows-msvc\ -Recurse -ErrorAction SilentlyContinue
echo "Creating new obj dir"
cp windsign-temp\windows-x64-obj-$name engine\obj-$objName-pc-windows-msvc\ -Recurse
signtool.exe sign /n "$SignIdentity" /t http://time.certum.pl/ /fd sha256 /v $files
echo "Packaging $name"
$env:SURFER_SIGNING_MODE="sign"
$env:MAR="$PWD\\build\\winsign\\mar.exe"
echo "Copying setup.exe into obj dir"
$env:ZEN_SETUP_EXE_PATH="$PWD\windsign-temp\windows-x64-obj-$name\browser\installer\windows\instgen\setup.exe"
if ($name -eq "arm64") {
$env:WIN32_REDIST_DIR="$PWD\win-cross\vs2022\VC\Redist\MSVC\14.38.33135\arm64\Microsoft.VC143.CRT"
} else {
$env:WIN32_REDIST_DIR="$PWD\win-cross\vs2022\VC\Redist\MSVC\14.38.33135\x64\Microsoft.VC143.CRT"
}
$env:MAR="..\\build\\winsign\\mar.exe"
if ($name -eq "arm64") {
$env:SURFER_COMPAT="aarch64"
} else {
$env:SURFER_COMPAT="x86_64"
}
echo "Compat Mode? $env:SURFER_COMPAT"
# Configure each time since we are cloning from a linux environment into
# a windows environment, and the build system is not smart enough to detect that
# we are on a different platform.
cd .\engine
echo "Configuring for $name"
.\mach configure
cd ..
echo "Packaging $name"
npm run package -- --verbose
# In the release script, we do the following:
@@ -62,7 +167,6 @@ function SignAndPackage($name) {
# - update_manifest/*
# - windows.mar
# - zen.installer.exe
# - zen.win-x86_64.zip
echo "Creating tar for $name"
rm .\windsign-temp\windows-x64-signed-$name -Recurse -ErrorAction SilentlyContinue
mkdir windsign-temp\windows-x64-signed-$name
@@ -83,30 +187,13 @@ function SignAndPackage($name) {
mv .\dist\zen.installer.exe windsign-temp\windows-x64-signed-$name\zen.installer.exe
}
# Move the zip
echo "Moving zip for $name"
if ($name -eq "arm64") {
mv (Get-Item .\dist\*.en-US.win64-aarch64.zip) windsign-temp\windows-x64-signed-$name\zen.win-arm64.zip
} else {
mv (Get-Item .\dist\*.en-US.win64.zip) windsign-temp\windows-x64-signed-$name\zen.win-$name.zip
}
# Extract the zip, sign everything inside, and repackage it
Expand-Archive -Path windsign-temp\windows-x64-signed-$name\zen.win-$name.zip -DestinationPath windsign-temp\windows-x64-signed-$name\zen.win-$name
rm windsign-temp\windows-x64-signed-$name\zen.win-$name.zip
$files = Get-ChildItem windsign-temp\windows-x64-signed-$name\zen.win-$name -Recurse -Include *.exe
$files += Get-ChildItem windsign-temp\windows-x64-signed-$name\zen.win-$name -Recurse -Include *.dll
signtool.exe sign /n "$SignIdentity" /t http://time.certum.pl/ /fd sha256 /v $files
Compress-Archive -Path windsign-temp\windows-x64-signed-$name\zen.win-$name -DestinationPath windsign-temp\windows-x64-signed-$name\zen.win-$name.zip
rmdir windsign-temp\windows-x64-signed-$name\zen.win-$name -Recurse -ErrorAction SilentlyContinue
# Move the manifest
mv .\dist\update\. windsign-temp\windows-x64-signed-$name\update_manifest
echo "Invoking tar for $name"
# note: We need to sign it into a parent folder, called windows-x64-signed-$name
rmdir .\windsign-temp\windows-binaries\windows-x64-signed-$name -Recurse -ErrorAction SilentlyContinue
mv windsign-temp\windows-x64-signed-$name .\windsign-temp\windows-binaries -Force
rmdir engine\obj-$objName-pc-windows-msvc\ -Recurse -ErrorAction SilentlyContinue
echo "Finished $name"
}
@@ -114,6 +201,9 @@ function SignAndPackage($name) {
SignAndPackage arm64
SignAndPackage x86_64
$files = Get-ChildItem .\windsign-temp\windows-binaries -Recurse -Include *.exe
signtool.exe sign /n "$SignIdentity" /t http://time.certum.pl/ /fd sha256 /v $files
echo "All artifacts signed and packaged, ready for release!"
echo "Commiting the changes to the repository"
cd windsign-temp\windows-binaries

View File

@@ -1,14 +1,12 @@
# Browser branding
ac_add_options --with-app-name=${binName}
ac_add_options --with-app-basename=Zen
ac_add_options --enable-official-branding
# Localization (Must be an absolute path)
ac_add_options --with-l10n-base="${topsrcdir}/browser/locales"
export MOZ_USER_DIR="${name}"
export MOZ_APP_BASENAME=Zen
export MOZ_APP_PROFILE=${binName}
export MOZ_BRANDING_DIRECTORY=${brandingDir}
export MOZ_OFFICIAL_BRANDING_DIRECTORY=${brandingDir}
@@ -25,15 +23,19 @@ export MOZ_INCLUDE_SOURCE_INFO=1
ac_add_options --enable-application=browser
if test -x "$(command -v sccache)"; then
ac_add_options --with-ccache=sccache
elif test -f "$HOME/.mozbuild/sccache/sccache"; then
ac_add_options --with-ccache="$HOME"/.mozbuild/sccache/sccache
# Anything except 'SCCACHE_GHA_ENABLED == false'
if ! test "$SCCACHE_GHA_ENABLED" = "false"; then
if test -x "$(command -v sccache)"; then
ac_add_options --with-ccache=sccache
elif test -f "$HOME/.mozbuild/sccache/sccache"; then
ac_add_options --with-ccache="$HOME"/.mozbuild/sccache/sccache
fi
fi
if test "$ZEN_RELEASE"; then
ac_add_options --enable-clang-plugin
# TODO: Make this successful in builds
# ac_add_options --enable-clang-plugin
ac_add_options --enable-bootstrap=-sccache
ac_add_options --enable-release

View File

@@ -20,7 +20,7 @@ if test "$SURFER_COMPAT" = "x86_64"; then
fi
# Optimization flags for SURFER_COMPAT
ac_add_options --enable-optimize="-O3 -w -ftree-vectorize -Qvec -mfpmath=sse -mprfchw -msse3 -mcx16 -msahf"
ac_add_options --enable-optimize="-O3 -w -ftree-vectorize -mfpmath=sse -mprfchw -msse3 -mcx16 -msahf"
export LDFLAGS="$LDFLAGS -Wl,-O3"
export RUSTFLAGS="$RUSTFLAGS -Clink-args=--icf=safe"

View File

@@ -4,7 +4,6 @@ ac_add_options --disable-dmd
ac_add_options --enable-eme=widevine
export MOZ_MACBUNDLE_ID=${appId}
export MOZ_MACBUNDLE_NAME="Zen Browser.app"
# override LTO settings
# TODO: Dont use LTO for now, it's causing a lot of issues
@@ -32,6 +31,7 @@ if test "$SURFER_COMPAT" = "x86_64"; then
export LDFLAGS="-Wl,-O3 -march=nehalem"
export RUSTFLAGS="-Ctarget-cpu=nehalem"
else
ac_add_options --enable-clang-plugin
ac_add_options --target=aarch64-apple-darwin
ac_add_options --enable-optimize="-O3 -mcpu=apple-m1 -march=armv8.3-a+simd"

View File

@@ -17,7 +17,6 @@ if test "$ZEN_CROSS_COMPILING"; then
else
export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2022/VC/Redist/MSVC/14.38.33135/x64/Microsoft.VC143.CRT"
fi
fi
#? https://bugzilla.mozilla.org/show_bug.cgi?id=1617793
@@ -25,14 +24,14 @@ fi
ac_add_options --disable-maintenance-service
ac_add_options --disable-bits-download
ac_add_options --disable-clang-plugin
if test "$SURFER_COMPAT" = "x86_64"; then
ac_add_options --target=x86_64-pc-windows-msvc
ac_add_options --enable-eme=widevine,wmfcdm
ac_add_options --enable-optimize="-O3 -w -ftree-vectorize -Qvec -mfpmath=sse -mprfchw -msse3 -mcx16 -msahf"
# ac_add_options --disable-jemalloc
ac_add_options --enable-optimize="-O3 -w -ftree-vectorize -mfpmath=sse -mprfchw -msse3 -mcx16 -msahf"
export LDFLAGS="-Wl,-O3"
export RUSTFLAGS="-Clink-args=--icf=safe"

View File

@@ -0,0 +1,912 @@
# Issue Metrics
| Metric | Average | Median | 90th percentile |
| --- | --- | --- | ---: |
| Time to first response | 6 days, 8:09:03 | 1 day, 14:52:55 | 21 days, 21:21:10 |
| Time to close | 10 days, 5:20:59 | 8 days, 2:01:25 | 24 days, 0:21:04 |
| Metric | Count |
| --- | ---: |
| Number of items that remain open | 134 |
| Number of items closed | 760 |
| Total number of items created | 894 |
| Title | URL | Time to first response | Time to close |
| --- | --- | --- | --- |
| After the recent updates, web fonts are blurry | https://github.com/zen-browser/desktop/issues/7160 | 7:52:59 | 1 day, 11:16:02 |
| [Twilight 1.10.3] Many context menus have too much transparency | https://github.com/zen-browser/desktop/issues/7159 | 0:22:16 | 1 day, 12:39:30 |
| Zen crashes when trying to access chrome://browser/content/browser.xhtml | https://github.com/zen-browser/desktop/issues/7158 | None | None |
| Open network login page | https://github.com/zen-browser/desktop/issues/7157 | None | None |
| Enabling HDR Causes Visual Artifact on UI Elements | https://github.com/zen-browser/desktop/issues/7155 | 10:29:19 | None |
| Pinterest opening and working weirdly | https://github.com/zen-browser/desktop/issues/7153 | 12:49:28 | None |
| Blocking "Override keyboard shortcuts" permission disables delete and backspace keys | https://github.com/zen-browser/desktop/issues/7150 | None | None |
| Hovering over tabs now displays an x to close them | https://github.com/zen-browser/desktop/issues/7149 | 18:04:00 | 21:59:51 |
| Sorry for what? | https://github.com/zen-browser/desktop/issues/7146 | 0:45:11 | 3:22:37 |
| Simple tab group is locked loading in a new window | https://github.com/zen-browser/desktop/issues/7145 | 1 day, 20:18:06 | None |
| Authentication on sites via a certificate (such as a Smart Card) broken on macOS since 1.10b | https://github.com/zen-browser/desktop/issues/7144 | None | None |
| Browser flickers when using mission control | https://github.com/zen-browser/desktop/issues/7143 | 1:08:33 | None |
| Workspace icons automatically pinned on Toolbar when removed from Sidebar | https://github.com/zen-browser/desktop/issues/7140 | None | None |
| Mac OS Browser thinks there's one more tab open than there actually is | https://github.com/zen-browser/desktop/issues/7139 | None | None |
| When using split view in incognito window, zen crashes, freezes after opening new tab & close tab. | https://github.com/zen-browser/desktop/issues/7136 | 1 day, 22:54:48 | None |
| Problem with Context Menu and Pop-ups: Can Only Close with Escape | https://github.com/zen-browser/desktop/issues/7135 | None | None |
| websites not loading ! | https://github.com/zen-browser/desktop/issues/7134 | 6:12:15 | None |
| Twilight build auto-switching url from one workspace to another causes Zen to break | https://github.com/zen-browser/desktop/issues/7133 | 3:02:54 | 15:26:16 |
| Web fonts are blurry with zen.view.experimental-rounded-view or GTK CSD on linux | https://github.com/zen-browser/desktop/issues/7132 | 3:25:04 | None |
| Renamed pinned tab changes title upon loading, when unloading title changes back to previously set name | https://github.com/zen-browser/desktop/issues/7131 | None | None |
| Open in split window in split window undefined behaviour | https://github.com/zen-browser/desktop/issues/7130 | None | None |
| Close buttons on Mac positioned wrong when sidebar is collapsed | https://github.com/zen-browser/desktop/issues/7129 | None | None |
| Inconsistent behaviour of middle click and right click -> new tab | https://github.com/zen-browser/desktop/issues/7128 | None | None |
| Zen displayed as "Unknown App" in windows system media player | https://github.com/zen-browser/desktop/issues/7123 | 0:14:54 | None |
| Search shortcuts are hardly usable with new URL bar popover | https://github.com/zen-browser/desktop/issues/7122 | None | 0:04:44 |
| Dragging link from tab to same workspace in different window causes container indicator to show up | https://github.com/zen-browser/desktop/issues/7120 | None | None |
| Pinned tab separator inconsistent width | https://github.com/zen-browser/desktop/issues/7119 | None | None |
| Inconsistent spacing in compact modes | https://github.com/zen-browser/desktop/issues/7118 | None | None |
| Sidebar/Tab Bar navigation buttons overflow | https://github.com/zen-browser/desktop/issues/7117 | None | None |
| No default favicon for sites without Favicon | https://github.com/zen-browser/desktop/issues/7116 | 2 days, 18:03:49 | 3 days, 12:16:53 |
| Text in modals are blank | https://github.com/zen-browser/desktop/issues/7115 | None | None |
| Automatically leaving meetings when expanding a glance tab containing the meeting | https://github.com/zen-browser/desktop/issues/7114 | None | None |
| Right clicking on VSCode running via Github Codespaces does not trigger the typical menu and only shows "Paste" | https://github.com/zen-browser/desktop/issues/7113 | 0:16:40 | 0:16:40 |
| Dragging a tab to the edge of the sidebar detaches the tab from cursor | https://github.com/zen-browser/desktop/issues/7112 | None | None |
| RAM usage spike | https://github.com/zen-browser/desktop/issues/7111 | 0:49:18 | 0:49:18 |
| Default Browser issue | https://github.com/zen-browser/desktop/issues/7110 | 2 days, 20:45:37 | None |
| Several problem with patch notes tab after update | https://github.com/zen-browser/desktop/issues/7109 | None | None |
| Glance opens new window instead of glance | https://github.com/zen-browser/desktop/issues/7108 | None | None |
| Floating sidebar is not kept open when cursor at the left-most position | https://github.com/zen-browser/desktop/issues/7107 | None | None |
| Bookmark Bar persists when opening a bookmark from a folder | https://github.com/zen-browser/desktop/issues/7106 | None | None |
| Pdf Printing doesn't have drawings in the right place | https://github.com/zen-browser/desktop/issues/7105 | 1:36:28 | 1:36:28 |
| Zen crashes on right click on tab | https://github.com/zen-browser/desktop/issues/7104 | None | None |
| Web Side Panel Issue | https://github.com/zen-browser/desktop/issues/7103 | None | None |
| Bookmarks Menu Toolbar Keyboard Shortcut Opens Library, not List | https://github.com/zen-browser/desktop/issues/7102 | None | None |
| Tab bar doesnt hide when all tabs closed | https://github.com/zen-browser/desktop/issues/7100 | 2:36:39 | None |
| The media animation causes high CPU usage | https://github.com/zen-browser/desktop/issues/7099 | None | None |
| Duplicate entry in Settings > Keyboard Shortcuts | https://github.com/zen-browser/desktop/issues/7098 | None | None |
| Switch to Zen with low frame rate animation | https://github.com/zen-browser/desktop/issues/7097 | None | None |
| Tab list still scrolls to top sometimes | https://github.com/zen-browser/desktop/issues/7096 | None | None |
| Weird workspace scroll change behaviour with sidebar to the right | https://github.com/zen-browser/desktop/issues/7095 | None | None |
| Top toolbar is shown when hovering the top side of the screen in "single toolbar" layout with "compact mode" | https://github.com/zen-browser/desktop/issues/7094 | 3:23:41 | None |
| Workspace bottom indicator is not updated when scrolling the sidebar while another Zen window is focused | https://github.com/zen-browser/desktop/issues/7093 | None | None |
| Keyboard shortcuts stop working in the keyboard shortcuts configuration page | https://github.com/zen-browser/desktop/issues/7092 | None | None |
| Confusing case-insensitivity in the keyboard shortcuts configuration page | https://github.com/zen-browser/desktop/issues/7091 | None | None |
| Broken keyboard shortcuts for compact mode | https://github.com/zen-browser/desktop/issues/7090 | 0:11:49 | 2 days, 10:19:52 |
| UI glitch when glancing in split view | https://github.com/zen-browser/desktop/issues/7089 | 3:52:12 | 3:52:12 |
| Scroll Freeze after drag-and-drop on laptop (TouchPad) | https://github.com/zen-browser/desktop/issues/7088 | None | None |
| The sidebar shrinks too much when switching to compact mode while floating is enabled | https://github.com/zen-browser/desktop/issues/7087 | None | None |
| Unable to define a Ctrl+Alt+Tab keyboard shortcut | https://github.com/zen-browser/desktop/issues/7086 | None | None |
| WebPanel doesn't respect Multi-Account Containers proxy settings. | https://github.com/zen-browser/desktop/issues/7085 | None | None |
| Certificate Manager does not work | https://github.com/zen-browser/desktop/issues/7083 | 18:44:46 | 23:16:08 |
| Weird zooming and window placement issues on Windows | https://github.com/zen-browser/desktop/issues/7082 | None | None |
| Default Translucency Not Working - Toolbar and Sidebar Colors Forced to Windows Theme | https://github.com/zen-browser/desktop/issues/7081 | None | None |
| Browser Freezes When Expanding Toolbar Options Menu in Compact Window State | https://github.com/zen-browser/desktop/issues/7080 | None | None |
| Workspaces working as tab groups and not as workspaces | https://github.com/zen-browser/desktop/issues/7079 | 0:09:06 | None |
| Container Tabs dissappear when 'switch to workspace where container is set as default when opening container tabs' is enabled | https://github.com/zen-browser/desktop/issues/7078 | 3 days, 18:59:29 | None |
| tab switcher is jumping 2-3 tabs ahead instead of the next tab | https://github.com/zen-browser/desktop/issues/7077 | None | None |
| Some browser dialogs appear off-screen | https://github.com/zen-browser/desktop/issues/7076 | 1 day, 1:32:55 | None |
| Mouse over floating sidebar prevents hide | https://github.com/zen-browser/desktop/issues/7075 | None | None |
| CRX Installer Not working in Zen Browser. | https://github.com/zen-browser/desktop/issues/7074 | 2 days, 23:32:33 | 3 days, 2:39:52 |
| Cannot resize native firefox sidebar when positioned on the right after restarting the browser | https://github.com/zen-browser/desktop/issues/7073 | None | None |
| compact mode color bug | https://github.com/zen-browser/desktop/issues/7068 | 0:19:56 | 2:12:33 |
| Unable to assign Cmd+Z for undo | https://github.com/zen-browser/desktop/issues/7067 | None | None |
| "change theme colors" cannot be undone and breaks other theming features | https://github.com/zen-browser/desktop/issues/7066 | None | None |
| Theme Color alpha hex functionality broken | https://github.com/zen-browser/desktop/issues/7065 | None | None |
| Toolbar set to Hide, but intermittently get stuck unhidden | https://github.com/zen-browser/desktop/issues/7063 | None | None |
| [Regression 1.8b+] Multiple tab issues regarding extensions | https://github.com/zen-browser/desktop/issues/7062 | 3 days, 9:25:56 | None |
| Alt-Tab Behavior: Mouse Focus Interference | https://github.com/zen-browser/desktop/issues/7061 | None | None |
| Sidebar icons misaligned in split view | https://github.com/zen-browser/desktop/issues/7060 | 2 days, 12:48:26 | None |
| Is this window border line transparency effect(glitch?) an expected behavior? | https://github.com/zen-browser/desktop/issues/7059 | None | None |
| Essentials tab with "messages.google.com", after browser restart, is now just an empty essentials tab. | https://github.com/zen-browser/desktop/issues/7058 | 0:35:22 | None |
| 2FAS Extension problem - abnormal CPU usage in 1.9b - no problems on Firefox (REOPENED) | https://github.com/zen-browser/desktop/issues/7057 | 2:13:51 | 7:57:05 |
| Cannot drag tabs in private mode | https://github.com/zen-browser/desktop/issues/7056 | 1:16:48 | 1 day, 11:09:47 |
| Inconsistent/Incorrect behavior when using ctrl+enter from new tab addressbar | https://github.com/zen-browser/desktop/issues/7055 | None | None |
| 1Password not connecting to desktop app | https://github.com/zen-browser/desktop/issues/7054 | 1:54:09 | 13:49:32 |
| Welcome page after initial setup has absolute positioning for buttons | https://github.com/zen-browser/desktop/issues/7053 | None | None |
| MacOS compact mode ignores mouse on traffic buttons and collapses the bar | https://github.com/zen-browser/desktop/issues/7052 | 0:18:46 | 0:18:46 |
| URL/Search Bar misalignment | https://github.com/zen-browser/desktop/issues/7051 | 3 days, 11:31:03 | None |
| Trying to export/share Rice softlocks the browser | https://github.com/zen-browser/desktop/issues/7049 | None | None |
| Tabs and Essentials are being created in the same place | https://github.com/zen-browser/desktop/issues/7048 | 15:16:39 | None |
| Gestures not working in Zen Browser | https://github.com/zen-browser/desktop/issues/7047 | None | None |
| Text contrast in context menus is inadequate in default Light theme | https://github.com/zen-browser/desktop/issues/7046 | None | 0:10:12 |
| Popup is cut in compact mode | https://github.com/zen-browser/desktop/issues/7045 | None | None |
| App icon on the task bar disappears when personalizing toolbar seting the title bar visible | https://github.com/zen-browser/desktop/issues/7044 | None | None |
| macOS passkeys not working on certain websites, such as Duo Authentication | https://github.com/zen-browser/desktop/issues/7043 | 17:48:19 | None |
| Bookmarks in Toolbar disappearing when entering fullscreen | https://github.com/zen-browser/desktop/issues/7042 | 1 day, 0:15:33 | None |
| blurry fonts on 32:9 aspect ratio | https://github.com/zen-browser/desktop/issues/7041 | 1:21:09 | 3 days, 13:30:02 |
| iCloud Passwords extension broken | https://github.com/zen-browser/desktop/issues/7040 | 1 day, 20:47:39 | None |
| Cmd + M to minimise doesn't work on 1.10.3b | https://github.com/zen-browser/desktop/issues/7039 | None | None |
| Ram usage | https://github.com/zen-browser/desktop/issues/7038 | 1 day, 17:57:47 | 1 day, 19:52:42 |
| Screen sharing is not working for calls on teams and google meet after the update | https://github.com/zen-browser/desktop/issues/7037 | None | None |
| Zen Browser can not automatically update its self. | https://github.com/zen-browser/desktop/issues/7035 | None | None |
| Bookmarks Toolbar "Always show" does not work | https://github.com/zen-browser/desktop/issues/7034 | None | None |
| Bookmark title editing: Left/Right arrows trigger bookmark selection instead of text navigation | https://github.com/zen-browser/desktop/issues/7033 | None | None |
| Ram usage | https://github.com/zen-browser/desktop/issues/7032 | 0:10:50 | 0:10:50 |
| Tabs stuck and not clickable - suspect tab unload with popup dialog on tab close | https://github.com/zen-browser/desktop/issues/7031 | 1:06:39 | None |
| Zen abruptly switches to unloaded tab If It has unsaved changes | https://github.com/zen-browser/desktop/issues/7030 | 2 days, 16:03:14 | None |
| Enhance Tracking Protection icon shield does not work when present | https://github.com/zen-browser/desktop/issues/7029 | None | None |
| URL Bar selection discarded upon floating | https://github.com/zen-browser/desktop/issues/7028 | None | None |
| Glance's buttons are rendered above the sidebar | https://github.com/zen-browser/desktop/issues/7027 | None | None |
| Browser gives no visual indication that a browser window is private | https://github.com/zen-browser/desktop/issues/7026 | None | None |
| Not possible to use CTRL + F on a web panel | https://github.com/zen-browser/desktop/issues/7025 | 3 days, 20:07:32 | None |
| Browser extensions no longer work in the web panel. | https://github.com/zen-browser/desktop/issues/7024 | None | None |
| Installing mods overwrites all currently installed ones | https://github.com/zen-browser/desktop/issues/7022 | None | None |
| Incorrect `MESA_SHADER_CACHE_DIR` | https://github.com/zen-browser/desktop/issues/7020 | None | None |
| Firefox's screenshot tool exits unexpectedly when using change split tabs on hover | https://github.com/zen-browser/desktop/issues/7019 | 0:05:50 | None |
| The name of the application displayed in the notification | https://github.com/zen-browser/desktop/issues/7018 | None | None |
| Very high meory usage (Memory leak?) | https://github.com/zen-browser/desktop/issues/7017 | 21:15:37 | 21:15:37 |
| Pinned extension icons move inside the web page when an extension reloads | https://github.com/zen-browser/desktop/issues/7016 | 0:24:01 | None |
| Page screenshot buttons, `about:logins` and `Secure Site Not Available` page [seem to] use default accent color | https://github.com/zen-browser/desktop/issues/7015 | None | None |
| Screenshots overlay out of place in split tabs view | https://github.com/zen-browser/desktop/issues/7014 | None | None |
| Extension installation dialog is cut off screen | https://github.com/zen-browser/desktop/issues/7013 | None | None |
| Black text on dark theme | https://github.com/zen-browser/desktop/issues/7012 | None | 0:00:07 |
| Youtube and Youtube Music seeking in Media player is not synced | https://github.com/zen-browser/desktop/issues/7011 | None | None |
| New Tab Opens in Current Tab Instead | https://github.com/zen-browser/desktop/issues/7010 | None | None |
| Tab close button clickable area smaller than hover-highlighted area | https://github.com/zen-browser/desktop/issues/7008 | None | None |
| browser.tabs.searchclipboardfor.middleclick enabled by default only on Linux | https://github.com/zen-browser/desktop/issues/7007 | None | 0:02:06 |
| Unloaded Pinned Tabs Turn Into Blank 'New Tab' After Reopening | https://github.com/zen-browser/desktop/issues/7006 | None | None |
| Zooming with Cmd + Scroll Wheel Not Working on Mac | https://github.com/zen-browser/desktop/issues/7005 | None | None |
| "zen.theme.border-radius" dosen't work on linux. | https://github.com/zen-browser/desktop/issues/7004 | None | None |
| Shortcut key (ALT + C) not working as it shoud | https://github.com/zen-browser/desktop/issues/7003 | 0:31:34 | None |
| The UI is overlapping and there is no adaptive feature | https://github.com/zen-browser/desktop/issues/7002 | 15:53:29 | None |
| Ring.com can't play videos (missing codec) | https://github.com/zen-browser/desktop/issues/7001 | 0:35:50 | None |
| Unwanted Connections, Transparency and Default Search Engine | https://github.com/zen-browser/desktop/issues/7000 | None | None |
| workforcenow.adp.com doesn't prompt for passkey | https://github.com/zen-browser/desktop/issues/6999 | 0:05:36 | None |
| [Unload] Unloading/Closing (pinned) a playing YT Music tab breaks it and keeps the tab alive in the background | https://github.com/zen-browser/desktop/issues/6998 | None | 0:02:20 |
| Slow New Window Opening | https://github.com/zen-browser/desktop/issues/6997 | None | None |
| Transparent Url bar's background when clicking Ctrl+T while playing a video in fullscreen mode | https://github.com/zen-browser/desktop/issues/6996 | None | None |
| Media Playback Continues After Unloading a Pinned Tab | https://github.com/zen-browser/desktop/issues/6995 | 0:09:56 | 4 days, 2:46:22 |
| Publisher on the install registry shows `Mozilla` | https://github.com/zen-browser/desktop/issues/6994 | None | 16:35:26 |
| Moving `Bookmark toolbar items` to sidebar && Closing and reopening `Customize toolbar…` expands bookmarks in `Customize toolbar…` | https://github.com/zen-browser/desktop/issues/6993 | None | None |
| Unloading a Pinned Tab Does Not Correctly Focus the New Tab | https://github.com/zen-browser/desktop/issues/6992 | None | None |
| Unexplained Black Background in full screen mode | https://github.com/zen-browser/desktop/issues/6991 | 3 days, 0:40:29 | 3 days, 4:47:09 |
| Missing Menu Bar, but Menu Bar Button Present | https://github.com/zen-browser/desktop/issues/6990 | None | None |
| When opening a external link from VS Code editor, the maximize, minimize, and close buttons are shown on the left corner instead of the right corner | https://github.com/zen-browser/desktop/issues/6989 | None | None |
| Please reopen my issues | https://github.com/zen-browser/desktop/issues/6988 | None | 0:06:17 |
| Right-Click (on a tab) Context Menu: Keyboard Shortcuts Require Enter to Activate The Shortcut | https://github.com/zen-browser/desktop/issues/6987 | None | None |
| Search bar not autofocused on startup when zen.urlbar.replace-newtab is false | https://github.com/zen-browser/desktop/issues/6986 | None | None |
| Zen crashes on right click on tab | https://github.com/zen-browser/desktop/issues/6985 | None | 0:00:13 |
| Can't skip revamped welcome page | https://github.com/zen-browser/desktop/issues/6983 | 2 days, 6:25:43 | None |
| Pinned tabs aren't restored properly when multiple windows are open | https://github.com/zen-browser/desktop/issues/6982 | 1:45:51 | None |
| Tab synchronisation across different devices | https://github.com/zen-browser/desktop/issues/6981 | 1:06:34 | None |
| Mac OS Browser thinks there's one more tab open than there actually is | https://github.com/zen-browser/desktop/issues/6980 | 1 day, 20:08:41 | 1 day, 20:08:41 |
| Scroll bar can't be scrolled from the right edge of the window (Windows) | https://github.com/zen-browser/desktop/issues/6979 | 0:29:46 | None |
| Close tab buttons slightly cut off when in compact mode (Windows) | https://github.com/zen-browser/desktop/issues/6978 | 0:32:01 | None |
| "Change theme color" clears previous hex values | https://github.com/zen-browser/desktop/issues/6977 | None | None |
| Mouse does not become pointer on hover | https://github.com/zen-browser/desktop/issues/6976 | None | None |
| Change theme color wipes out previous hex codes | https://github.com/zen-browser/desktop/issues/6975 | None | 0:00:57 |
| Letterboxing adds +1 to width when not in compact mode and sidebar is resized (e.g., 1400 → 1401) | https://github.com/zen-browser/desktop/issues/6974 | None | None |
| Unable to log in to Pocket | https://github.com/zen-browser/desktop/issues/6973 | None | None |
| Failing to drag tab for split window when native sidebar is on the right | https://github.com/zen-browser/desktop/issues/6972 | None | None |
| Windows system theme switching does not work | https://github.com/zen-browser/desktop/issues/6971 | 3 days, 1:44:45 | None |
| Compact mode sidebar sticking | https://github.com/zen-browser/desktop/issues/6970 | None | 1 day, 12:33:48 |
| Failing to drag tab for split window when native sidebar is on the right | https://github.com/zen-browser/desktop/issues/6969 | None | 0:05:51 |
| closing tab opened from essentials will leads to blank window | https://github.com/zen-browser/desktop/issues/6968 | None | None |
| Blank dropdown in bookmark manager | https://github.com/zen-browser/desktop/issues/6967 | 4 days, 0:24:47 | None |
| Split tab groups can break your browser in private windows | https://github.com/zen-browser/desktop/issues/6966 | None | None |
| Theme Color alpha hex functionality broken | https://github.com/zen-browser/desktop/issues/6965 | 2:52:38 | None |
| High GPU/CPU usage on some youtube videos | https://github.com/zen-browser/desktop/issues/6964 | None | None |
| workforcenow.adp.com doesn't prompt for passkey | https://github.com/zen-browser/desktop/issues/6963 | 0:14:47 | 0:14:47 |
| Split tab group favicon missaligned | https://github.com/zen-browser/desktop/issues/6962 | 0:01:05 | 4:14:59 |
| cmd + m doesnt work anymore on 1.10.3b | https://github.com/zen-browser/desktop/issues/6961 | 0:00:59 | 0:01:00 |
| Windows system theme switching does not work | https://github.com/zen-browser/desktop/issues/6960 | 0:01:11 | 0:01:12 |
| Zen applies themes incorectly | https://github.com/zen-browser/desktop/issues/6959 | 0:01:45 | 0:02:15 |
| test | https://github.com/zen-browser/desktop/issues/6958 | None | 0:04:09 |
| URL in email; click to open browser | https://github.com/zen-browser/desktop/issues/6954 | 1:17:19 | 1:17:20 |
| Google Drive upload limited to 20MBit/s | https://github.com/zen-browser/desktop/issues/6953 | 2:42:08 | 2:42:09 |
| Using File, Edit etc buttons brings up the sidebar | https://github.com/zen-browser/desktop/issues/6952 | 4:37:18 | 4:37:19 |
| cmd + m broke | https://github.com/zen-browser/desktop/issues/6951 | 4:42:17 | 4:42:18 |
| Bug: Search bar breaks UI above tab bar | https://github.com/zen-browser/desktop/issues/6947 | 10:39:20 | 10:39:21 |
| Clicking non functional for some buttons on websites | https://github.com/zen-browser/desktop/issues/6945 | 13:03:39 | 13:03:40 |
| High RAM usage with WhatsApp Web | https://github.com/zen-browser/desktop/issues/6944 | 13:09:03 | 13:09:03 |
| Unloading a Pinned Tab Does Not Correctly Focus the New Tab | https://github.com/zen-browser/desktop/issues/6943 | 13:25:58 | 13:25:59 |
| Media Playback Continues After Unloading a Pinned Tab | https://github.com/zen-browser/desktop/issues/6942 | 13:28:38 | 13:28:38 |
| Essential and Pinned tabs icons not loading on startup | https://github.com/zen-browser/desktop/issues/6941 | 14:53:33 | 14:53:33 |
| Site with Login Popup dialog doesnt work | https://github.com/zen-browser/desktop/issues/6939 | 16:22:37 | 16:22:38 |
| closing tab opened from essentials will leads to blank window | https://github.com/zen-browser/desktop/issues/6938 | 19:53:55 | 19:53:56 |
| Keyboard Shortcut Issue When Switching Languages in Zen | https://github.com/zen-browser/desktop/issues/6936 | 21:30:24 | 21:30:25 |
| Live Stream Performance Issues: Douyu Live Room Loads Slowly and Douyin Live Freezes Every 3 Minutes | https://github.com/zen-browser/desktop/issues/6935 | 22:35:15 | 22:35:15 |
| Any letter opens the control find box(ctrl + f) | https://github.com/zen-browser/desktop/issues/6934 | 0:51:47 | 23:15:00 |
| Tab-box overflows into adjacent workspace | https://github.com/zen-browser/desktop/issues/6933 | 1 day, 1:24:50 | 1 day, 1:24:50 |
| Zen applies themes incorectly | https://github.com/zen-browser/desktop/issues/6931 | 1 day, 2:58:17 | 1 day, 2:59:24 |
| windows onboarding "idle" chewing 30-40% cpu | https://github.com/zen-browser/desktop/issues/6930 | 1 day, 3:04:32 | 1 day, 3:04:32 |
| Add to Essentials - option disappears | https://github.com/zen-browser/desktop/issues/6927 | 1 day, 4:48:22 | 1 day, 4:48:22 |
| Computer overheating | https://github.com/zen-browser/desktop/issues/6926 | 4:14:21 | 1 day, 5:46:28 |
| File Handler Dialog not opening in Archlinux (Hyprland) | https://github.com/zen-browser/desktop/issues/6925 | 0:55:53 | 1 day, 5:58:11 |
| Repeated Screen Sharing Permission Prompt Despite Existing Approval for Google Meet | https://github.com/zen-browser/desktop/issues/6924 | 1 day, 6:17:41 | 1 day, 6:17:41 |
| Bookmark title editing: Left/Right arrows trigger bookmark selection instead of text navigation | https://github.com/zen-browser/desktop/issues/6923 | 1 day, 6:37:50 | 1 day, 6:37:51 |
| Search Bar selection discarded upon floating | https://github.com/zen-browser/desktop/issues/6922 | 1 day, 6:51:59 | 1 day, 6:52:00 |
| A new media player starts playing before actual youtube video starts | https://github.com/zen-browser/desktop/issues/6920 | 3:22:39 | 1 day, 7:47:32 |
| Splitting a non-pinned tab with a pinned tabs pins it | https://github.com/zen-browser/desktop/issues/6918 | 1 day, 8:58:13 | 1 day, 8:58:14 |
| Default Zen Homepage not accessible | https://github.com/zen-browser/desktop/issues/6915 | 5:02:51 | 7:20:33 |
| The toolbar layout gets disrupted when I switch between browser layouts. | https://github.com/zen-browser/desktop/issues/6914 | 1 day, 13:03:34 | 1 day, 13:03:35 |
| Mouse Back button often switches to different workspace | https://github.com/zen-browser/desktop/issues/6913 | 8:00:54 | 1 day, 13:12:41 |
| New tab does not work properly when typing Chinese. | https://github.com/zen-browser/desktop/issues/6912 | 1 day, 13:33:11 | 1 day, 13:33:12 |
| Add-ons Affecting Browser Performance and Behavior | https://github.com/zen-browser/desktop/issues/6911 | 1 day, 13:38:12 | 1 day, 13:38:13 |
| Essentials and pinned tabs go blank (see image) | https://github.com/zen-browser/desktop/issues/6907 | 16:37:51 | 1 day, 15:54:52 |
| Containerized Tabs Disappearing upon Switching Workspaces | https://github.com/zen-browser/desktop/issues/6904 | 0:21:59 | 2:15:45 |
| Split tab breaks when placed in a tab group | https://github.com/zen-browser/desktop/issues/6903 | 1:11:36 | 1 day, 18:12:59 |
| omega long loading times in www.icloud.lt | https://github.com/zen-browser/desktop/issues/6902 | 1 day, 11:09:34 | 12:55:47 |
| whenever i do ctrl + tab to move between different pages while in compact mode ... i got the side bar pop up for 1-2 seconds... which is not helpful or logical | https://github.com/zen-browser/desktop/issues/6901 | 0:33:37 | 1:13:20 |
| autofill just fill password without user and vice versa | https://github.com/zen-browser/desktop/issues/6897 | 1 day, 22:28:43 | 1 day, 22:28:43 |
| Spotify Music Problem | https://github.com/zen-browser/desktop/issues/6895 | 0:28:47 | 2:52:23 |
| [twilight] downloads icon not aligned to webpage border | https://github.com/zen-browser/desktop/issues/6894 | 0:45:03 | 1 day, 23:31:34 |
| Icon Rendering Incorrectly in KDE Plasma 6 Wayland Window Switcher | https://github.com/zen-browser/desktop/issues/6892 | 7:33:56 | 2 days, 0:31:16 |
| Unable to open Zen on an m1 pro | https://github.com/zen-browser/desktop/issues/6890 | 2 days, 2:29:43 | 2 days, 2:29:43 |
| Laggy keyboard Input | https://github.com/zen-browser/desktop/issues/6889 | 2 days, 2:31:48 | 2 days, 2:31:48 |
| Glitch for smaller windows heights | https://github.com/zen-browser/desktop/issues/6887 | 2 days, 3:49:40 | 2 days, 3:49:41 |
| websites not loading ! | https://github.com/zen-browser/desktop/issues/6886 | 1 day, 22:18:25 | 2 days, 4:04:00 |
| This site cant provide a secure connection zen-browser.app sent an invalid response. ERR_SSL_PROTOCOL_ERROR | https://github.com/zen-browser/desktop/issues/6885 | 0:09:18 | 22:35:10 |
| Muted video playing in a pinned tab prevent MacOS from sleeping | https://github.com/zen-browser/desktop/issues/6884 | 2:58:48 | 4:19:38 |
| [twilight] random redirect to another semi-related website | https://github.com/zen-browser/desktop/issues/6883 | 0:41:41 | 1:20:40 |
| [twilight] Essentials and workspace emoji are translucent and not in full colour | https://github.com/zen-browser/desktop/issues/6882 | 2 days, 4:52:41 | 2 days, 4:52:41 |
| Toolobar Theming doesn't fully apply | https://github.com/zen-browser/desktop/issues/6881 | 7:13:07 | 23:34:52 |
| High GPU/CPU usage on some youtube videos | https://github.com/zen-browser/desktop/issues/6880 | 6:07:33 | 2 days, 6:07:27 |
| cookie related isssue | https://github.com/zen-browser/desktop/issues/6879 | 2 days, 6:24:50 | 2 days, 6:24:50 |
| The "add extension" button does not appear on small screens | https://github.com/zen-browser/desktop/issues/6877 | 2 days, 9:33:17 | 2 days, 9:33:17 |
| Opening new tab in a split tab causes them to disappear. | https://github.com/zen-browser/desktop/issues/6876 | 2 days, 11:09:48 | 2 days, 11:09:48 |
| Super Url Bar | https://github.com/zen-browser/desktop/issues/6874 | 1:33:49 | 2 days, 14:28:38 |
| On launch, will open first tab in tab list (can be inconsistent, not sure of exact trigger) | https://github.com/zen-browser/desktop/issues/6873 | 6:07:49 | 2 days, 16:35:57 |
| Minor uneven UI spacing between essential tabs | https://github.com/zen-browser/desktop/issues/6871 | 2 days, 17:33:23 | 2 days, 17:33:23 |
| Text blurry | https://github.com/zen-browser/desktop/issues/6870 | 2 days, 17:44:41 | 2 days, 17:44:42 |
| Option "Open links in tabs instead of new windows" unchecked after restart browser | https://github.com/zen-browser/desktop/issues/6869 | 2 days, 18:08:58 | 2 days, 18:08:59 |
| KeepassXC is added but i cant link my database | https://github.com/zen-browser/desktop/issues/6868 | 21:32:29 | 1 day, 0:11:31 |
| Extensions do not open when no tabs are open | https://github.com/zen-browser/desktop/issues/6866 | 1:10:21 | 2 days, 22:06:54 |
| Split favicon bug | https://github.com/zen-browser/desktop/issues/6864 | 2 days, 22:37:00 | 2 days, 22:37:01 |
| Icon not visible when playing audio | https://github.com/zen-browser/desktop/issues/6863 | 1 day, 1:04:41 | 2 days, 22:56:26 |
| Increased ram usage fro just 4-5 tabs | https://github.com/zen-browser/desktop/issues/6862 | 2 days, 22:59:53 | 2 days, 22:59:54 |
| Screen sharing is not working on newer Macbook | https://github.com/zen-browser/desktop/issues/6861 | 2 days, 23:15:15 | 2 days, 23:15:15 |
| Screen Sharing Malfunction in Google Meet (Windows) | https://github.com/zen-browser/desktop/issues/6860 | 2 days, 23:36:47 | 2 days, 23:36:47 |
| "Customize Toolbar" Menu breaks when sidebar is at minimum width | https://github.com/zen-browser/desktop/issues/6859 | 3 days, 0:16:52 | 3 days, 0:16:52 |
| Split tabs breaking when opening a glance window | https://github.com/zen-browser/desktop/issues/6858 | 3 days, 0:17:15 | 3 days, 0:17:15 |
| Compact mode adds padding on the left misaligning icons in collapsed sidebar | https://github.com/zen-browser/desktop/issues/6857 | None | 0:08:37 |
| Flickering unusable menus if `widget.wayland.fractional-scale.enabled` is enabled | https://github.com/zen-browser/desktop/issues/6856 | 3 days, 0:24:24 | 3 days, 0:24:24 |
| Sidebar/TabBar too small on `multiple toolbar`, but right size in `single toolbars` mode - 1.10.2b (Firefox 136.0.3) (64-bit) | https://github.com/zen-browser/desktop/issues/6855 | 0:16:27 | 3 days, 1:18:50 |
| extension downloadhelper | https://github.com/zen-browser/desktop/issues/6854 | 3 days, 1:31:24 | 3 days, 1:31:24 |
| Can only interact with 1 tab when split | https://github.com/zen-browser/desktop/issues/6851 | 3 days, 4:17:12 | 3 days, 4:17:13 |
| Cannot share screen on MacOS | https://github.com/zen-browser/desktop/issues/6850 | 12:46:43 | 3 days, 4:22:22 |
| Mouse Cursor doesnt dissapear when watching Fullscreen Youtube Video | https://github.com/zen-browser/desktop/issues/6849 | 3 days, 4:35:46 | 3 days, 4:35:46 |
| "ALT + C" shortcut key bug has not fixed in 1.10.2b | https://github.com/zen-browser/desktop/issues/6847 | 0:19:13 | 2:19:17 |
| Tab bar doesnt hide when all tabs closed | https://github.com/zen-browser/desktop/issues/6846 | 1:11:00 | 3 days, 6:06:22 |
| Issue with hidden sidebar on desktop with margins. | https://github.com/zen-browser/desktop/issues/6845 | 3 days, 6:26:39 | 3 days, 6:26:39 |
| Google meet is not granted permissions for the first few seconds. | https://github.com/zen-browser/desktop/issues/6844 | 2:23:20 | 3 days, 6:55:39 |
| Google meet will kick out of meeting on switching to another tab | https://github.com/zen-browser/desktop/issues/6843 | 2:29:00 | 3 days, 7:00:24 |
| Can't click popup window javascript:setopenerValue | https://github.com/zen-browser/desktop/issues/6842 | 3 days, 8:03:52 | 3 days, 8:03:53 |
| [1.10.1b] Focusing and Unfocusing out of split view has janky window resizing and rendering delays | https://github.com/zen-browser/desktop/issues/6841 | 3 days, 8:37:54 | 3 days, 8:37:54 |
| [Twilight 1.10.2] Brief black flash when switching workspaces. | https://github.com/zen-browser/desktop/issues/6839 | None | 0:55:54 |
| Slow New Window Opening | https://github.com/zen-browser/desktop/issues/6838 | 0:03:51 | 3 days, 9:31:19 |
| Minimizing Full Screen Video Players make the toolbar temp pop up and slide in | https://github.com/zen-browser/desktop/issues/6836 | 3 days, 11:24:59 | 3 days, 11:24:59 |
| window alert is hidden behind other split pane | https://github.com/zen-browser/desktop/issues/6832 | 3 days, 17:35:05 | 3 days, 17:35:06 |
| Compact mode sidebar sticking | https://github.com/zen-browser/desktop/issues/6831 | 3 days, 17:39:13 | 3 days, 17:39:13 |
| Upscayl site does not work properly | https://github.com/zen-browser/desktop/issues/6830 | 3 days, 18:07:45 | 3 days, 18:07:46 |
| Unremovable duplicate workspace icon | https://github.com/zen-browser/desktop/issues/6829 | 3 days, 19:38:34 | 3 days, 19:38:35 |
| Bookmarks Toolbar "Always show" does not work | https://github.com/zen-browser/desktop/issues/6828 | 2 days, 0:52:10 | 3 days, 20:14:50 |
| Pined & Essential Tabs don't unload | https://github.com/zen-browser/desktop/issues/6827 | 3 days, 23:26:09 | 3 days, 23:26:10 |
| Entire zen window transparent | https://github.com/zen-browser/desktop/issues/6825 | None | 20:47:40 |
| Duplicate/duplicating a split tab causes erratic tab movements | https://github.com/zen-browser/desktop/issues/6824 | 3 days, 23:44:29 | 3 days, 23:44:29 |
| "Full screen" item can be interacted with inside "Customise Toolbar..." Menu which breaks it | https://github.com/zen-browser/desktop/issues/6822 | 4 days, 0:54:03 | 4 days, 0:54:04 |
| When Web Panel is open split tab movement indicators do not display correctly | https://github.com/zen-browser/desktop/issues/6819 | 4 days, 1:28:54 | 4 days, 1:28:55 |
| When Web Panel is open Vertical Tab Splits can't be resized | https://github.com/zen-browser/desktop/issues/6817 | 16:18:30 | 4 days, 1:42:11 |
| Anthropic's Claude freezes only on Zen browser | https://github.com/zen-browser/desktop/issues/6816 | 1 day, 6:43:57 | 4 days, 1:48:02 |
| Cursor Auto-Highlight on Ctrl+Tab Disrupts Tab Cycling | https://github.com/zen-browser/desktop/issues/6815 | 4 days, 1:59:18 | 4 days, 1:59:19 |
| Disabling "Use workspace colors as primary color" does nothing | https://github.com/zen-browser/desktop/issues/6812 | 4 days, 2:25:50 | 4 days, 2:25:51 |
| Sites within WebPanel behaves wrong if navigator API is spoofed vie extension | https://github.com/zen-browser/desktop/issues/6811 | 4 days, 2:41:39 | 4 days, 2:41:40 |
| When removing an extension, confirmation message has a mistake | https://github.com/zen-browser/desktop/issues/6810 | 4 days, 3:08:04 | 4 days, 3:08:04 |
| Zen comes pre-installed with an English (United States) dictionary which can't be removed | https://github.com/zen-browser/desktop/issues/6809 | 4 days, 3:29:07 | 4 days, 3:29:07 |
| UI bug: Responsive Design Mode reload notification being obscured by music player | https://github.com/zen-browser/desktop/issues/6808 | 4 days, 4:28:07 | 4 days, 4:28:07 |
| Placing the "Zoom Controls" item in the Top Item Row of the Side Toolbar causes zoom indicator to not appear. | https://github.com/zen-browser/desktop/issues/6807 | 4 days, 4:37:37 | 4 days, 4:37:37 |
| While in the "Customize Toolbar..." Menu the maximise window button is greyed out and not usable | https://github.com/zen-browser/desktop/issues/6806 | 4 days, 5:01:40 | 4 days, 5:01:40 |
| Placing a Large Item as the first item in the Top Item Row of the Side Toolbar breaks entire Side Toolbar when in Collapsed Toolbar Layout | https://github.com/zen-browser/desktop/issues/6805 | 4 days, 5:38:36 | 4 days, 5:38:37 |
| Top item row in Side Toolbar not aligned with items in Top Toolbar when using Collapsed Toolbar | https://github.com/zen-browser/desktop/issues/6804 | 2:30:37 | 4 days, 6:01:27 |
| Toolbar with a lot of items can break single toolbar | https://github.com/zen-browser/desktop/issues/6803 | 4 days, 6:51:09 | 4 days, 6:51:09 |
| Zen Webpanel (Sidebar) does not move | https://github.com/zen-browser/desktop/issues/6802 | 4 days, 6:56:53 | 4 days, 6:56:53 |
| [Twilight 1.10.1t] All tabs are loading after update | https://github.com/zen-browser/desktop/issues/6801 | 0:08:03 | 21:25:15 |
| Side flap bug | https://github.com/zen-browser/desktop/issues/6800 | None | 0:00:08 |
| Pinned tabs glance does not reset | https://github.com/zen-browser/desktop/issues/6799 | 0:06:08 | 4 days, 9:00:07 |
| [Twilight 1.10.1t] Last selected tab not respected if restoring split view group on launch | https://github.com/zen-browser/desktop/issues/6798 | None | 3 days, 5:15:16 |
| [Twilight 1.10.1] Switching workspaces is not as fluid as before with a brief black flash when moving to new workspace. | https://github.com/zen-browser/desktop/issues/6797 | None | 1 day, 2:14:58 |
| Theme not correctly working/resetting when switching workspace | https://github.com/zen-browser/desktop/issues/6796 | 4 days, 11:30:51 | 4 days, 11:30:51 |
| Zen Browser Freeze When Downloading | https://github.com/zen-browser/desktop/issues/6795 | 4 days, 11:54:20 | 4 days, 11:54:21 |
| Default Translucency Not Working - Toolbar and Sidebar Colors Forced to Windows Theme | https://github.com/zen-browser/desktop/issues/6794 | 4 days, 13:11:15 | 4 days, 13:11:16 |
| Invisible Floating Bar | https://github.com/zen-browser/desktop/issues/6792 | None | 22:04:52 |
| Unable to log in to Pocket | https://github.com/zen-browser/desktop/issues/6790 | 4 days, 17:42:50 | 4 days, 17:42:51 |
| Workspaces working as tab groups and not as workspaces | https://github.com/zen-browser/desktop/issues/6789 | 4:18:48 | 4 days, 17:46:34 |
| [Privacy] Unwanted Connections, Transparency and Default Search Engine | https://github.com/zen-browser/desktop/issues/6787 | 4 days, 20:40:43 | 4 days, 20:40:43 |
| glance in Google drive | https://github.com/zen-browser/desktop/issues/6785 | 4 days, 22:23:09 | 4 days, 22:23:10 |
| Winget adds desktop shortcut | https://github.com/zen-browser/desktop/issues/6784 | 0:22:29 | 4 days, 22:41:24 |
| Theme Color alpha hex functionality broken | https://github.com/zen-browser/desktop/issues/6783 | 4 days, 6:08:04 | 5 days, 0:00:15 |
| Kernel panics on macOS | https://github.com/zen-browser/desktop/issues/6781 | 4:00:11 | 5 days, 1:16:46 |
| workforcenow.adp.com doesn't prompt for passkey | https://github.com/zen-browser/desktop/issues/6780 | 5 days, 1:58:56 | 5 days, 1:58:56 |
| macOS Title Bar reg/yellow/green Buttons Are Colorless | https://github.com/zen-browser/desktop/issues/6776 | 0:12:16 | 5:53:54 |
| Cant login to netflix | https://github.com/zen-browser/desktop/issues/6773 | 1:34:11 | 11:31:40 |
| Tab unloader disregards preferences on unsaved tabs | https://github.com/zen-browser/desktop/issues/6770 | 5 days, 17:40:09 | 5 days, 17:40:09 |
| Inconsistent sizes for bottom icons | https://github.com/zen-browser/desktop/issues/6769 | 5 days, 18:00:19 | 5 days, 18:00:20 |
| Blank Screen Insted of Home screen | https://github.com/zen-browser/desktop/issues/6768 | 13:18:07 | 5 days, 18:57:14 |
| Pin syncing on new devices | https://github.com/zen-browser/desktop/issues/6767 | 4 days, 3:54:28 | 5 days, 19:11:28 |
| zen.mediacontrols.enabled doesn't appear in about:config | https://github.com/zen-browser/desktop/issues/6766 | 8:19:56 | 11:30:57 |
| Address bar closes when switching input language with Cmd+Space on Wayland (Ubuntu) | https://github.com/zen-browser/desktop/issues/6765 | 1 day, 6:03:22 | 5 days, 20:53:14 |
| New tab overlay hides when CTRL key is pressed | https://github.com/zen-browser/desktop/issues/6764 | 21:36:14 | 5 days, 21:13:53 |
| New Tab Button &#124; Error | https://github.com/zen-browser/desktop/issues/6762 | 16:35:56 | 21:18:08 |
| Extensions doesn't load automatically | https://github.com/zen-browser/desktop/issues/6760 | 5 days, 22:22:05 | 5 days, 22:22:06 |
| PowerToys Run still not working correctly (web search) | https://github.com/zen-browser/desktop/issues/6759 | 6 days, 0:37:43 | 6 days, 0:37:44 |
| URL which beging with HTTPS Glace does not recognize | https://github.com/zen-browser/desktop/issues/6758 | 6 days, 0:46:54 | 6 days, 0:46:54 |
| opening external files and links | https://github.com/zen-browser/desktop/issues/6757 | 6 days, 1:30:57 | 6 days, 1:30:58 |
| editing pdfs do not export correctly | https://github.com/zen-browser/desktop/issues/6756 | 6 days, 1:32:26 | 6 days, 1:32:27 |
| spotify can't play songs | https://github.com/zen-browser/desktop/issues/6755 | 1:46:04 | 2:43:09 |
| Scrolling seems to be lagging back again in `v1.10.1b` while the browser rounded corner was disabled | https://github.com/zen-browser/desktop/issues/6754 | 6 days, 2:13:52 | 6 days, 2:13:53 |
| Can't install mods | https://github.com/zen-browser/desktop/issues/6752 | 1 day, 10:42:01 | 6 days, 2:50:15 |
| Ctrl-Q closes current tab before exit | https://github.com/zen-browser/desktop/issues/6751 | 6 days, 3:34:38 | 6 days, 3:34:38 |
| Extensions spilling out of the sidebar | https://github.com/zen-browser/desktop/issues/6750 | 5:04:56 | 6 days, 4:23:46 |
| heylogin popup empty | https://github.com/zen-browser/desktop/issues/6749 | None | 1 day, 8:42:50 |
| The pip option often fails after a reboot | https://github.com/zen-browser/desktop/issues/6748 | 6 days, 4:59:02 | 6 days, 4:59:02 |
| Movie Player error 6007-1001-3102: Please use an updated version of your browser or use another device | https://github.com/zen-browser/desktop/issues/6747 | None | 2:09:47 |
| Zen crashes on right click on tab | https://github.com/zen-browser/desktop/issues/6746 | 1:10:39 | 6 days, 5:37:54 |
| It would be useful to have a Restore/Reset icon next to changed keyboard shortcuts. | https://github.com/zen-browser/desktop/issues/6744 | 6 days, 5:49:25 | 6 days, 5:49:26 |
| Opening the settings page not selecting the unloaded tab | https://github.com/zen-browser/desktop/issues/6743 | 6 days, 7:14:48 | 6 days, 7:14:49 |
| Pinned Essentials clipping thorugh Workspace/Tabs area in Compact Mode | https://github.com/zen-browser/desktop/issues/6741 | 6 days, 9:36:36 | 6 days, 9:36:37 |
| split with essentials not working | https://github.com/zen-browser/desktop/issues/6739 | 6 days, 16:29:52 | 6 days, 16:29:53 |
| Media player music animation should respect animation accessibility settings | https://github.com/zen-browser/desktop/issues/6737 | 6 days, 17:23:48 | 6 days, 17:23:49 |
| Unable to swipe through workspaces. | https://github.com/zen-browser/desktop/issues/6735 | 6 days, 19:53:12 | 6 days, 19:53:12 |
| Automatically leaving meetings when expanding a glance tab containing the meeting | https://github.com/zen-browser/desktop/issues/6734 | 1 day, 15:01:01 | 6 days, 21:10:19 |
| Zen crashes my Computer completely | https://github.com/zen-browser/desktop/issues/6732 | 3:19:38 | 6 days, 22:54:38 |
| Tab bar width issues | https://github.com/zen-browser/desktop/issues/6730 | 6 days, 23:26:00 | 6 days, 23:26:01 |
| Transparency no longer works with the 1.10.1b update on Linux | https://github.com/zen-browser/desktop/issues/6729 | 0:00:56 | 7 days, 0:06:00 |
| Issues with css live edit | https://github.com/zen-browser/desktop/issues/6728 | 7 days, 0:43:26 | 7 days, 0:43:27 |
| corner case: Media Player handling long media names | https://github.com/zen-browser/desktop/issues/6727 | 7 days, 0:46:48 | 7 days, 0:46:49 |
| Vimium tab navigation broken since 1.9b | https://github.com/zen-browser/desktop/issues/6726 | 7 days, 0:50:09 | 7 days, 0:50:09 |
| When i open zen it only shows black screen home page | https://github.com/zen-browser/desktop/issues/6725 | 0:22:12 | 7 days, 1:14:36 |
| Shortcuts not working as intended/unclear. i.e: Does X instead of Y as stated in the Keyboard Shortcuts section. | https://github.com/zen-browser/desktop/issues/6724 | 7 days, 1:20:26 | 7 days, 1:20:26 |
| Zen icon not showing in Plasma title bar | https://github.com/zen-browser/desktop/issues/6723 | 7 days, 1:38:55 | 7 days, 1:38:55 |
| Windows system theme switching does not work | https://github.com/zen-browser/desktop/issues/6722 | 7 days, 2:41:59 | 7 days, 2:41:59 |
| All of Essentials suddenly disappearing | https://github.com/zen-browser/desktop/issues/6721 | 4 days, 5:40:42 | 7 days, 2:43:33 |
| New tab shortcut broken | https://github.com/zen-browser/desktop/issues/6719 | 4 days, 4:59:23 | 10 days, 9:35:09 |
| having a lot of workspaces still require from me to have wide sidebar | https://github.com/zen-browser/desktop/issues/6718 | 22:37:20 | 23:25:25 |
| YouTube essential disappear when reopening the browser | https://github.com/zen-browser/desktop/issues/6717 | 7 days, 5:24:03 | 7 days, 5:24:03 |
| Window Control Buttons Misaligned in Compact Mode | https://github.com/zen-browser/desktop/issues/6716 | 0:24:05 | 7 days, 6:18:13 |
| Certificate Manager is mostly broken | https://github.com/zen-browser/desktop/issues/6713 | 9:53:59 | 7 days, 7:51:20 |
| Zen browser's implementation of Content Security Policy | https://github.com/zen-browser/desktop/issues/6712 | 6 days, 22:36:46 | 7 days, 8:01:58 |
| macOS passkeys not working on certain websites | https://github.com/zen-browser/desktop/issues/6709 | 3 days, 0:44:40 | 7 days, 13:20:09 |
| Website Appearance: Automatic broken on macOS | https://github.com/zen-browser/desktop/issues/6708 | 2 days, 20:48:35 | 7 days, 13:22:04 |
| zen new tab process in new window is cpu heavy | https://github.com/zen-browser/desktop/issues/6707 | None | 1:22:09 |
| Stopping YouTube video on Zen forcing Alcove (dynamic island app) to quit and cannot be launched again | https://github.com/zen-browser/desktop/issues/6704 | 0:32:40 | 7 days, 14:46:10 |
| New tabs open on new windows | https://github.com/zen-browser/desktop/issues/6703 | 7 days, 15:11:33 | 7 days, 15:11:34 |
| Query input dialog disappears when changing the language | https://github.com/zen-browser/desktop/issues/6702 | 7 days, 17:44:36 | 7 days, 17:44:36 |
| adding new tab while being on full screen | https://github.com/zen-browser/desktop/issues/6701 | 17:49:38 | 7 days, 18:20:09 |
| Trying to export/share Rice softlocks the browser | https://github.com/zen-browser/desktop/issues/6700 | 7 days, 18:55:49 | 7 days, 18:55:50 |
| Changing tabs scrolls the tab bar to the top | https://github.com/zen-browser/desktop/issues/6699 | None | 1 day, 4:31:48 |
| External Links - Opens the browser, but not the link. (ZenBrowser.x86_64.AppImage + POP!_os 22.04) | https://github.com/zen-browser/desktop/issues/6698 | 2 days, 15:10:42 | 7 days, 20:37:03 |
| Problem with Youtube Music | https://github.com/zen-browser/desktop/issues/6697 | 2:07:46 | 7 days, 21:15:12 |
| some website/graph is not rendered correctly | https://github.com/zen-browser/desktop/issues/6692 | None | 0:10:52 |
| Preference "zen.workspaces.show-icon-strip=false" no-longer hides non-current workspaces. | https://github.com/zen-browser/desktop/issues/6690 | 0:03:14 | 8 days, 0:46:14 |
| some sites wont load properly | https://github.com/zen-browser/desktop/issues/6689 | None | 16:58:42 |
| 如何保证常驻标签页在关闭浏览器后重新打开浏览器后常驻标签页的URL保持不变而不是上一次关闭浏览器前最后访问的地址 | https://github.com/zen-browser/desktop/issues/6687 | 0:19:22 | 8 days, 3:16:36 |
| Youtube and Youtube Music seeking in Media player is not synced | https://github.com/zen-browser/desktop/issues/6685 | 0:32:27 | 8 days, 3:18:50 |
| Screen Sharing Bug on Mac | https://github.com/zen-browser/desktop/issues/6683 | 8 days, 3:49:00 | 8 days, 3:49:01 |
| Weird workspace scroll change behaviour with sidebar to the right | https://github.com/zen-browser/desktop/issues/6680 | 8 days, 4:52:43 | 8 days, 4:52:44 |
| Zen not drawing properly when first opened | https://github.com/zen-browser/desktop/issues/6679 | 3 days, 22:17:55 | 8 days, 5:02:06 |
| The browser.tabs.allow_transparent_browser stoped working | https://github.com/zen-browser/desktop/issues/6678 | 0:14:11 | 8 days, 5:49:04 |
| "Reading List" extension: Can't read or change data on this site | https://github.com/zen-browser/desktop/issues/6677 | 8 days, 6:42:58 | 8 days, 6:42:59 |
| Media Control does not respect playback speed | https://github.com/zen-browser/desktop/issues/6675 | None | 3:03:07 |
| Extension install confirm dialog goes offscreen in single toolbar mode | https://github.com/zen-browser/desktop/issues/6674 | 0:29:54 | 8 days, 7:25:57 |
| bug: media player applet doesn't respect current progress when paused | https://github.com/zen-browser/desktop/issues/6672 | 0:18:24 | 8 days, 7:45:39 |
| media playing asks if i want to leave | https://github.com/zen-browser/desktop/issues/6671 | 3:56:03 | 4:27:20 |
| Showing previous version even after Updating | https://github.com/zen-browser/desktop/issues/6669 | 1:54:14 | 8 days, 12:38:12 |
| Pin Tabs & Essential Tabs are Removed | https://github.com/zen-browser/desktop/issues/6668 | 8 days, 13:06:17 | 8 days, 13:06:17 |
| Google Docs breaking | https://github.com/zen-browser/desktop/issues/6664 | 19:28:30 | 8 days, 16:13:47 |
| Media freezes after toggling Zen from different window | https://github.com/zen-browser/desktop/issues/6663 | 8 days, 17:32:25 | 8 days, 17:32:26 |
| CPU | https://github.com/zen-browser/desktop/issues/6662 | 22:12:03 | 8 days, 18:02:57 |
| [ Twilight ] Loosing transparency | https://github.com/zen-browser/desktop/issues/6660 | 18:34:05 | 1 day, 0:27:29 |
| Automaticallty leaving google meets. | https://github.com/zen-browser/desktop/issues/6659 | 0:51:01 | 13:36:13 |
| Cannot reorder tabs or open split view in private browsing | https://github.com/zen-browser/desktop/issues/6658 | 8 days, 20:34:09 | 8 days, 20:34:09 |
| Extension icons overflowing when pinned to toolbar | https://github.com/zen-browser/desktop/issues/6657 | 16:23:15 | 8 days, 20:53:25 |
| Essential tabs frequently exhibit an overlay that obscures their content | https://github.com/zen-browser/desktop/issues/6655 | 8 days, 21:20:37 | 8 days, 21:20:37 |
| Workspaces Icon Strip STILL never scrolls or stops expanding and it makes the browser unusable | https://github.com/zen-browser/desktop/issues/6652 | 16:08:33 | 16:08:33 |
| Roboform extension is not filling logon form fields in Zen browswer | https://github.com/zen-browser/desktop/issues/6650 | None | 5 days, 18:03:32 |
| Media player controller causes youtube music to stop playing after sometime | https://github.com/zen-browser/desktop/issues/6648 | 23:18:57 | 1 day, 0:47:45 |
| Shortcut Override Disables Backspace Input | https://github.com/zen-browser/desktop/issues/6647 | 9 days, 1:23:39 | 9 days, 1:23:39 |
| "leave"message keeps popping-up | https://github.com/zen-browser/desktop/issues/6646 | 0:19:09 | 9 days, 1:27:14 |
| UI Scaling issue on linux desktop | https://github.com/zen-browser/desktop/issues/6644 | 9 days, 1:37:58 | 9 days, 1:37:58 |
| Update 1.10b removes option to toggle displaying workspaces as icon strip | https://github.com/zen-browser/desktop/issues/6643 | 1:56:58 | 20:11:36 |
| Flatpak theming issue with GTK | https://github.com/zen-browser/desktop/issues/6642 | 9 days, 2:15:14 | 9 days, 2:15:14 |
| Some websites doesnt load but others load!!! | https://github.com/zen-browser/desktop/issues/6641 | 3:22:02 | 21:31:59 |
| Problem with Zen In instagram | https://github.com/zen-browser/desktop/issues/6640 | 4 days, 3:24:24 | 9 days, 3:47:22 |
| Media Control Keys Not Working | https://github.com/zen-browser/desktop/issues/6639 | 6:49:55 | 2 days, 1:54:44 |
| DRM content get's paused abruptly | https://github.com/zen-browser/desktop/issues/6638 | 4 days, 5:05:32 | 4 days, 5:05:32 |
| Google Meet disconnects after a few seconds if I switch tabs | https://github.com/zen-browser/desktop/issues/6637 | 0:28:11 | 2:43:39 |
| Problems with Google meet, unusable in call continuos down | https://github.com/zen-browser/desktop/issues/6636 | 0:05:47 | 2:56:40 |
| Deleted workpaces with tabs still exist(?) | https://github.com/zen-browser/desktop/issues/6635 | 9 days, 6:03:15 | 9 days, 6:03:15 |
| Audio shut off after about 25 seconds on some website. | https://github.com/zen-browser/desktop/issues/6634 | 3:41:06 | 3:41:06 |
| Essential and Pinned tabs not opening on startup | https://github.com/zen-browser/desktop/issues/6630 | 9 days, 11:09:25 | 9 days, 11:09:25 |
| Youtube Music randomly switch to tab and showing leave page dialog. | https://github.com/zen-browser/desktop/issues/6627 | 0:27:21 | 10:06:53 |
| Rendering Issues for Startpage, Vercel and other websites | https://github.com/zen-browser/desktop/issues/6626 | 4:36:44 | 9 days, 12:48:07 |
| Few bugs | https://github.com/zen-browser/desktop/issues/6623 | 9 days, 15:23:47 | 9 days, 15:23:47 |
| Dark mode on Google has darker boxes around each result compared to the background | https://github.com/zen-browser/desktop/issues/6622 | 15:46:04 | 9 days, 15:32:25 |
| [1.10b] Focusing back into split windows causes janky resizing of websites along with rendering delay when exiting out of split view into other tabs | https://github.com/zen-browser/desktop/issues/6621 | None | 6 days, 6:36:15 |
| Blur behind new tab isn't centered properly | https://github.com/zen-browser/desktop/issues/6620 | 0:23:52 | 0:43:53 |
| The media animation causes high CPU usage | https://github.com/zen-browser/desktop/issues/6619 | 9 days, 16:13:08 | 9 days, 16:13:08 |
| white streak on left side of window when i fullscreen | https://github.com/zen-browser/desktop/issues/6617 | 1:29:28 | 9 days, 17:18:57 |
| [1.10b] Focusing back into split windows causes janky resizing animation | https://github.com/zen-browser/desktop/issues/6614 | None | 2:09:32 |
| Color is not theme switching on audio widget | https://github.com/zen-browser/desktop/issues/6613 | 9 days, 17:54:09 | 9 days, 17:54:10 |
| Authentication on sites via a certificate (such as a Smart Card) broken on macOS in 1.10b | https://github.com/zen-browser/desktop/issues/6612 | 9 days, 18:33:37 | 9 days, 18:33:37 |
| Pinned tab separator inconsistent width | https://github.com/zen-browser/desktop/issues/6611 | 9 days, 19:23:43 | 9 days, 19:23:44 |
| Sidebar/Tab Bar navigation buttons overflow | https://github.com/zen-browser/desktop/issues/6610 | 9 days, 19:28:07 | 9 days, 19:28:08 |
| Inconsistent spacing in compact modes | https://github.com/zen-browser/desktop/issues/6609 | 9 days, 19:40:12 | 9 days, 19:40:13 |
| No default favicon for sites without Favicon | https://github.com/zen-browser/desktop/issues/6608 | 20:08:49 | 9 days, 19:44:17 |
| Music playback from Jellyfin fails if tab not focused | https://github.com/zen-browser/desktop/issues/6607 | None | 17:48:12 |
| New "Media player controller" autoscrolls to top of tab list | https://github.com/zen-browser/desktop/issues/6605 | 21:45:39 | 2 days, 10:48:27 |
| Autofill does not work in Mac OS | https://github.com/zen-browser/desktop/issues/6604 | 9 days, 20:41:25 | 9 days, 20:41:26 |
| warning pop up randomly | https://github.com/zen-browser/desktop/issues/6603 | 0:20:03 | 18:13:51 |
| Controls not visible in new media player controller | https://github.com/zen-browser/desktop/issues/6601 | 1:42:38 | 9 days, 21:46:37 |
| Unexplained Black Background in full screen mode | https://github.com/zen-browser/desktop/issues/6600 | 9 days, 21:59:10 | 9 days, 21:59:11 |
| can't delete a shortcut | https://github.com/zen-browser/desktop/issues/6599 | 0:02:25 | 19:13:46 |
| With Media Player, pinned tabs playing audio/video do not unload | https://github.com/zen-browser/desktop/issues/6598 | None | 0:09:27 |
| workspaces being displayed in a line made sidebar too wide resulting in multiple visual issues | https://github.com/zen-browser/desktop/issues/6597 | 1:21:34 | 1 day, 17:31:25 |
| Close page alert appears out of nowhere randomly whenever using YouTube Music in the background | https://github.com/zen-browser/desktop/issues/6596 | 0:40:11 | 9 days, 23:14:36 |
| All tabs keep crashing on Windows | https://github.com/zen-browser/desktop/issues/6595 | 9 days, 23:41:59 | 9 days, 23:42:00 |
| Missing Profile Manager in Application Menu | https://github.com/zen-browser/desktop/issues/6594 | 7 days, 20:01:45 | 9 days, 23:51:00 |
| google slides stops | https://github.com/zen-browser/desktop/issues/6592 | 0:18:30 | 10 days, 0:18:42 |
| [1.10b] Google meet auto leaves if tab not in focus | https://github.com/zen-browser/desktop/issues/6591 | 0:51:20 | 21:44:10 |
| Buggy UI when switching from Single toolbar to Collapsed toolbar [1.10b] | https://github.com/zen-browser/desktop/issues/6590 | 10 days, 0:56:02 | 10 days, 0:56:02 |
| [1.10b] Unloaded pinned tab with middle click is still loaded | https://github.com/zen-browser/desktop/issues/6589 | None | 2 days, 18:22:26 |
| Essentials tab with "messages.google.com", after browser restart, is now just an empty essentials window. | https://github.com/zen-browser/desktop/issues/6587 | 10 days, 1:47:23 | 10 days, 1:47:23 |
| Customize toolbar glitch | https://github.com/zen-browser/desktop/issues/6584 | None | 0:07:05 |
| Weird behaviour of media player | https://github.com/zen-browser/desktop/issues/6583 | 0:28:23 | 19:58:25 |
| weird behavior of pinned tab when in unload state. (1.10b) | https://github.com/zen-browser/desktop/issues/6582 | None | 3 days, 4:21:05 |
| Sidebar(Bookmarks) not resizable when on the right | https://github.com/zen-browser/desktop/issues/6581 | 10 days, 3:38:17 | 10 days, 3:38:17 |
| Shortcut key (ALT + C) not working as it shoud | https://github.com/zen-browser/desktop/issues/6580 | 8:01:15 | 10 days, 3:47:52 |
| Extension's options pop-up in the address after switching between single and multiple toolbars | https://github.com/zen-browser/desktop/issues/6579 | 7 days, 23:16:56 | 10 days, 3:48:18 |
| search bar cuts out of screen | https://github.com/zen-browser/desktop/issues/6578 | 7 days, 7:58:30 | 10 days, 4:05:13 |
| new media player controls invisible | https://github.com/zen-browser/desktop/issues/6577 | 2:40:31 | 4 days, 1:29:05 |
| Broke layout when resizing on gnome | https://github.com/zen-browser/desktop/issues/6574 | 10 days, 5:06:32 | 10 days, 5:06:33 |
| Split screen is still unusable | https://github.com/zen-browser/desktop/issues/6573 | 10 days, 5:22:13 | 10 days, 5:22:14 |
| Bookmark toolbar hidden forever, cannot re-enable | https://github.com/zen-browser/desktop/issues/6572 | 4:29:45 | 10 days, 5:30:23 |
| Music player disappears when I enter fullscreen mode. | https://github.com/zen-browser/desktop/issues/6571 | 10 days, 5:46:36 | 10 days, 5:46:37 |
| Shortcut for compact mode not working | https://github.com/zen-browser/desktop/issues/6570 | 23:53:56 | 10 days, 5:48:07 |
| The tab playing music suddenly tries to close | https://github.com/zen-browser/desktop/issues/6569 | 2:34:44 | 1 day, 3:41:49 |
| pages are not loading. | https://github.com/zen-browser/desktop/issues/6568 | 0:36:26 | 6:12:21 |
| [1.10b] Problem reproducing music after new update | https://github.com/zen-browser/desktop/issues/6567 | 4:36:27 | 1 day, 4:05:32 |
| Website for `grok.com` unable to be opened | https://github.com/zen-browser/desktop/issues/6566 | 0:34:25 | 4:23:14 |
| I don't see the new media player | https://github.com/zen-browser/desktop/issues/6565 | 0:01:31 | 0:19:53 |
| Grouping tabs bug | https://github.com/zen-browser/desktop/issues/6564 | 1:25:58 | 10 days, 7:29:16 |
| [1.10b]Music controls not visible in the sidebar media player - light mode | https://github.com/zen-browser/desktop/issues/6562 | 0:57:05 | 4 days, 5:49:17 |
| [1.10b] The default icon for tabs with no favicon is a bit strange, kinda preferred the default globe icon. | https://github.com/zen-browser/desktop/issues/6558 | 9:12:57 | 10 days, 15:57:17 |
| extension icons being cut off | https://github.com/zen-browser/desktop/issues/6556 | 5:21:38 | 10 days, 17:11:42 |
| Cornerradius on websites | https://github.com/zen-browser/desktop/issues/6554 | 10 days, 17:31:17 | 10 days, 17:31:18 |
| Floating tab bar breaks without any shortcuts set | https://github.com/zen-browser/desktop/issues/6552 | 10 days, 23:11:25 | 10 days, 23:11:25 |
| Profiles manage page not open | https://github.com/zen-browser/desktop/issues/6549 | 1 day, 3:51:56 | 11 days, 1:55:12 |
| SImple tab group is locked loading in a new window | https://github.com/zen-browser/desktop/issues/6547 | 11 days, 2:09:36 | 11 days, 2:09:36 |
| Save to Koofr extension not working | https://github.com/zen-browser/desktop/issues/6546 | None | 0:20:09 |
| Buttons not loading in ChatGPT | https://github.com/zen-browser/desktop/issues/6545 | 1 day, 1:59:28 | 11 days, 3:04:35 |
| Multiple toolbars prevents access to window controls | https://github.com/zen-browser/desktop/issues/6544 | 8 days, 2:31:30 | 11 days, 3:12:41 |
| Master Password not recognised | https://github.com/zen-browser/desktop/issues/6543 | None | 0:08:37 |
| The 1.9.1B version of the browser is not compatible with Baidu Input Method, which may cause the page to freeze when text is entered into the search bar. | https://github.com/zen-browser/desktop/issues/6542 | 11 days, 3:44:20 | 11 days, 3:44:21 |
| [ twilight ] Set alternatives languages issues | https://github.com/zen-browser/desktop/issues/6541 | 14:16:10 | 1 day, 3:56:17 |
| Browser takes theme color on websites which don't have any background color #bug | https://github.com/zen-browser/desktop/issues/6539 | 11 days, 7:02:47 | 11 days, 7:02:48 |
| Opening Zen via a keyboard shortcut causes a Open in troubleshoot mode. | https://github.com/zen-browser/desktop/issues/6538 | 8:37:13 | 11 days, 9:21:17 |
| Microsoft Teams fails to init | https://github.com/zen-browser/desktop/issues/6537 | 11 days, 9:52:46 | 11 days, 9:52:46 |
| logs off from every account on restart | https://github.com/zen-browser/desktop/issues/6536 | 13:39:58 | 11 days, 10:19:55 |
| Page screenshot buttons, `about:logins` and `Secure Site Not Available` page [seem to] use default accent color | https://github.com/zen-browser/desktop/issues/6534 | 11 days, 16:25:09 | 11 days, 16:25:09 |
| Enhanced tracking protection ("shield" icon) is gone | https://github.com/zen-browser/desktop/issues/6533 | 11 days, 6:57:39 | 11 days, 15:54:58 |
| Browser does not record history | https://github.com/zen-browser/desktop/issues/6532 | 6:33:00 | 11 days, 18:30:23 |
| White bar at the bottom of the window when having windows "Hide Taskbar" on | https://github.com/zen-browser/desktop/issues/6531 | 0:38:42 | 11 days, 20:09:24 |
| Closing zen not working | https://github.com/zen-browser/desktop/issues/6529 | None | 9:45:39 |
| Closing and reopening essentials results in pinned tab | https://github.com/zen-browser/desktop/issues/6528 | 11 days, 21:21:41 | 11 days, 21:21:42 |
| Zen not opening last used tab when opening new window | https://github.com/zen-browser/desktop/issues/6527 | 11 days, 21:28:58 | 11 days, 21:28:58 |
| Tab Reordering Issue when in Always Private Browsing Mode | https://github.com/zen-browser/desktop/issues/6526 | 11 days, 21:33:54 | 11 days, 21:33:55 |
| Tab close button clickable area smaller than hover-highlighted area | https://github.com/zen-browser/desktop/issues/6525 | 11 days, 22:43:11 | 11 days, 22:43:11 |
| On startup browser does not respect spacers in the tolbar customisation | https://github.com/zen-browser/desktop/issues/6524 | 11 days, 23:06:57 | 11 days, 23:06:57 |
| Issues with opening link in a new tab from Essential tab from a different workspace/container | https://github.com/zen-browser/desktop/issues/6523 | 21:19:50 | 10 days, 7:52:33 |
| pressing any key opens "Find in page..." | https://github.com/zen-browser/desktop/issues/6517 | 2:10:33 | 5:11:26 |
| reopen closed window | https://github.com/zen-browser/desktop/issues/6516 | 12 days, 3:30:16 | 12 days, 3:30:16 |
| Links should open in the Default Workspace (and assigned container, if set) instead of the last used one | https://github.com/zen-browser/desktop/issues/6515 | 12 days, 3:52:21 | 12 days, 3:52:21 |
| Unable to download files from drive.google.com or gmail. | https://github.com/zen-browser/desktop/issues/6514 | 1 day, 10:45:46 | 12 days, 4:36:11 |
| Code signature changed? | https://github.com/zen-browser/desktop/issues/6513 | 1 day, 16:33:41 | 3 days, 19:57:51 |
| Closing mini window tab opened from pinned essential goes to new tab | https://github.com/zen-browser/desktop/issues/6510 | 12 days, 7:04:31 | 12 days, 7:04:32 |
| New Tab -> Back to old tab doesn't work. | https://github.com/zen-browser/desktop/issues/6509 | 12 days, 7:37:46 | 12 days, 7:37:47 |
| Multiple windows reopen on launch despite disabling "Open previous windows and tabs" | https://github.com/zen-browser/desktop/issues/6508 | 12 days, 8:13:19 | 12 days, 8:13:20 |
| Canva Verify Payment Window Not Loading | https://github.com/zen-browser/desktop/issues/6506 | 12 days, 14:36:55 | 12 days, 14:36:56 |
| New zen window / instance is opening by itself | https://github.com/zen-browser/desktop/issues/6504 | 12 days, 18:03:52 | 12 days, 18:03:53 |
| External programs can't open links (Log in) using zen browser. | https://github.com/zen-browser/desktop/issues/6503 | None | 0:09:07 |
| Opens first tab after update | https://github.com/zen-browser/desktop/issues/6502 | 0:16:15 | 0:16:15 |
| Minimize and restore down buttons are not shown in KDE wayland session | https://github.com/zen-browser/desktop/issues/6501 | 12 days, 20:18:10 | 12 days, 20:18:11 |
| Cannot bind certain keys for shortcuts | https://github.com/zen-browser/desktop/issues/6498 | 18:29:44 | 13 days, 1:18:14 |
| Back and Forward Buttons Switch Workspace Instead of Page | https://github.com/zen-browser/desktop/issues/6497 | 11:07:22 | 11 days, 8:39:41 |
| Can't close windows in compact mode (Windows) | https://github.com/zen-browser/desktop/issues/6495 | 13 days, 2:10:59 | 13 days, 2:10:59 |
| URL bar narrow after compact mode | https://github.com/zen-browser/desktop/issues/6493 | 1 day, 12:31:52 | 13 days, 2:31:24 |
| Cant rearrange tabs and splitview when in incogito | https://github.com/zen-browser/desktop/issues/6492 | 13 days, 3:15:56 | 13 days, 3:15:56 |
| Web panels no longer appear when watching a fullscreen video. | https://github.com/zen-browser/desktop/issues/6491 | 13 days, 5:01:16 | 13 days, 5:01:17 |
| Problem watching DRM content (specifically www.crunchyroll.com content) | https://github.com/zen-browser/desktop/issues/6490 | 11:50:38 | 13 days, 6:05:20 |
| When using Baidu to search, the search bar appears blank and it is impossible to input text. If you force an input by using the space bar, the web page will return to the previous one. | https://github.com/zen-browser/desktop/issues/6489 | None | 2 days, 2:54:25 |
| Major contrast/transparency visual background glitch | https://github.com/zen-browser/desktop/issues/6488 | 13 days, 7:25:57 | 13 days, 7:25:58 |
| Tab page jitter in Split View mode | https://github.com/zen-browser/desktop/issues/6487 | 1 day, 13:01:10 | 13 days, 8:17:37 |
| "command + shift + C" doesn't work for inspect element | https://github.com/zen-browser/desktop/issues/6485 | 1 day, 14:44:49 | 13 days, 14:53:24 |
| Top edge of browser scaling on hover | https://github.com/zen-browser/desktop/issues/6484 | 13 days, 15:42:29 | 13 days, 15:42:30 |
| Black screen, after reopen on Win10, than most tabs missing | https://github.com/zen-browser/desktop/issues/6483 | 13 days, 16:57:29 | 13 days, 16:57:29 |
| Favicons not displayed for some websites | https://github.com/zen-browser/desktop/issues/6482 | 13 days, 17:29:54 | 13 days, 17:29:55 |
| Background transparency flickering when OBS is on the background | https://github.com/zen-browser/desktop/issues/6479 | 13 days, 18:50:41 | 13 days, 18:50:42 |
| Only five web panel icons show | https://github.com/zen-browser/desktop/issues/6478 | 1:04:04 | 1:05:50 |
| Zen using too much system resources | https://github.com/zen-browser/desktop/issues/6477 | 12:40:56 | 12:40:58 |
| Caton when playing video full-screen | https://github.com/zen-browser/desktop/issues/6476 | 14 days, 5:46:49 | 14 days, 5:46:49 |
| Minor bug perhaps, click the current workspaces shortcut breaks scroll limit on tab list. | https://github.com/zen-browser/desktop/issues/6475 | 14 days, 5:55:03 | 14 days, 5:55:04 |
| Missing icons in pdf viewer interface | https://github.com/zen-browser/desktop/issues/6471 | 8 days, 16:45:52 | 14 days, 8:31:01 |
| Zen elastic scrolling | https://github.com/zen-browser/desktop/issues/6470 | 8:32:23 | 8:32:30 |
| Slide Graphics Blinking (PowerPoint) | https://github.com/zen-browser/desktop/issues/6469 | 14 days, 13:37:01 | 14 days, 13:37:02 |
| Zen ignores policies.json and keeps update popup | https://github.com/zen-browser/desktop/issues/6468 | 14 days, 13:56:24 | 14 days, 13:56:24 |
| Drag to Split only works for creating new vertical splits | https://github.com/zen-browser/desktop/issues/6463 | 14 days, 21:31:52 | 14 days, 21:31:53 |
| Scroll bar can't be scrolled from the right edge of the window (Windows) | https://github.com/zen-browser/desktop/issues/6461 | 7:04:49 | 15 days, 0:54:05 |
| Discord does not play video on zen | https://github.com/zen-browser/desktop/issues/6459 | 22:26:18 | 12 days, 1:57:02 |
| Close tab buttons slightly cut off when in compact mode (Windows) | https://github.com/zen-browser/desktop/issues/6458 | 6:26:54 | 15 days, 1:11:08 |
| Screen sharing is not working for calls on teams and google meet after the update | https://github.com/zen-browser/desktop/issues/6457 | 4 days, 18:07:16 | 15 days, 1:12:33 |
| The scroll is not smooth as on other browser | https://github.com/zen-browser/desktop/issues/6454 | 1:43:43 | 1 day, 1:36:57 |
| When there are no tabs in the browser, the sidebar gets stuck in the expanded state, blocking the view and not retracting. | https://github.com/zen-browser/desktop/issues/6453 | 1:53:35 | 2:31:06 |
| New window created when 3rd tab is split on the right | https://github.com/zen-browser/desktop/issues/6451 | None | 1 day, 11:40:57 |
| Opening links in other apps open a new Zen window with just a blank page | https://github.com/zen-browser/desktop/issues/6450 | 2 days, 0:05:56 | 15 days, 3:37:39 |
| Bug on pinned tabs | https://github.com/zen-browser/desktop/issues/6447 | 15 days, 5:27:45 | 15 days, 5:27:46 |
| Tabs randomly mix all over the place when you split | https://github.com/zen-browser/desktop/issues/6446 | 15 days, 6:21:12 | 15 days, 6:21:13 |
| The Extensions popup while adding new extensions is going out of the screen | https://github.com/zen-browser/desktop/issues/6445 | 4 days, 8:05:02 | 15 days, 6:25:14 |
| Fullscreen mode shows window border (Linux) | https://github.com/zen-browser/desktop/issues/6443 | 2 days, 4:01:19 | 15 days, 7:41:07 |
| Split view bug | https://github.com/zen-browser/desktop/issues/6442 | 15 days, 9:37:40 | 15 days, 9:37:40 |
| Maxed out all 16 cores, 64GB of RAM and 16GB of swap | https://github.com/zen-browser/desktop/issues/6441 | 4:14:00 | 15 days, 9:40:52 |
| Closing unpinned tabs below an Essential tab leaves the window stuck | https://github.com/zen-browser/desktop/issues/6437 | 7 days, 5:43:28 | 15 days, 12:15:12 |
| Unexpected bottom border when fullscreen on Windows | https://github.com/zen-browser/desktop/issues/6435 | 4:16:15 | 15 days, 13:47:02 |
| Right clicking for pasting new link on the address bar selects the current tab's link and overrides it when trying to open new tab through Ctrl+t | https://github.com/zen-browser/desktop/issues/6434 | 8 days, 6:34:51 | 15 days, 16:34:09 |
| Sidebar UI Problem | https://github.com/zen-browser/desktop/issues/6433 | None | 4 days, 1:48:19 |
| Zen forgets all tabs when the main browser is closed while Private Browsing is open | https://github.com/zen-browser/desktop/issues/6432 | 7 days, 0:32:05 | 15 days, 16:47:13 |
| Websites refuse to work | https://github.com/zen-browser/desktop/issues/6431 | 11:01:23 | 15 days, 17:06:27 |
| Sidebar Dragging Moves Entire Window | https://github.com/zen-browser/desktop/issues/6429 | 1 day, 12:51:50 | 2 days, 4:15:34 |
| Chatbot support disabled by default | https://github.com/zen-browser/desktop/issues/6428 | 0:39:39 | 15 days, 20:17:43 |
| Twitch: FrankerFaceZ extenstion | https://github.com/zen-browser/desktop/issues/6426 | 2:14:12 | 22:59:33 |
| Kagi search page has bad font rendering when using flatpak | https://github.com/zen-browser/desktop/issues/6425 | 8 days, 17:42:46 | 15 days, 22:26:02 |
| Failing to drag tab for split window when native sidebar is on the right | https://github.com/zen-browser/desktop/issues/6424 | 15 days, 23:02:32 | 15 days, 23:02:33 |
| Open any url/tab = nothing happens | https://github.com/zen-browser/desktop/issues/6423 | 15 days, 23:23:46 | 15 days, 23:23:47 |
| I have a problem creating a new tab in the browser. | https://github.com/zen-browser/desktop/issues/6420 | 0:29:25 | 16 days, 0:13:53 |
| Dark theme menu bar glitched | https://github.com/zen-browser/desktop/issues/6419 | 16 days, 0:20:20 | 16 days, 0:20:20 |
| New tab opens black page with only search option | https://github.com/zen-browser/desktop/issues/6418 | 1:30:09 | 1 day, 20:19:37 |
| Black text on dark theme | https://github.com/zen-browser/desktop/issues/6416 | 1 day, 0:41:57 | 16 days, 1:56:48 |
| Login pop-ups instant crashed. | https://github.com/zen-browser/desktop/issues/6414 | None | 3 days, 11:52:50 |
| Only last workspace tabs are synced via firefox account | https://github.com/zen-browser/desktop/issues/6413 | 3:29:46 | 16 days, 2:45:09 |
| Open in split window in split window undefined behaviour | https://github.com/zen-browser/desktop/issues/6412 | 16 days, 2:55:23 | 16 days, 2:55:24 |
| Sidebar Stucked | https://github.com/zen-browser/desktop/issues/6411 | 16 days, 3:17:38 | 16 days, 3:17:39 |
| Keyboard shortcuts not working with non-English layouts (e.g., Turkish) | https://github.com/zen-browser/desktop/issues/6410 | 16 days, 3:27:56 | 16 days, 3:27:56 |
| Chinese input not work in Baidu search engine | https://github.com/zen-browser/desktop/issues/6409 | 4:27:38 | 16 days, 4:36:48 |
| sidebar/toolbar overlap | https://github.com/zen-browser/desktop/issues/6408 | 13 days, 4:37:38 | 16 days, 4:54:10 |
| Sidebar on the right | https://github.com/zen-browser/desktop/issues/6406 | 16 days, 5:57:44 | 16 days, 5:57:45 |
| Floating video player doesn't follow virtual desktops | https://github.com/zen-browser/desktop/issues/6405 | 3 days, 3:21:41 | 16 days, 6:47:00 |
| Opening an external link when browser is closed have a different behavior than when the browser is opened | https://github.com/zen-browser/desktop/issues/6404 | 16 days, 7:01:57 | 16 days, 7:01:57 |
| Zen Browser opens on the last used virtual desktop instead of the current one | https://github.com/zen-browser/desktop/issues/6403 | 3 days, 11:14:01 | 16 days, 7:21:44 |
| Workspace assigned to bookmarks not editable after creation | https://github.com/zen-browser/desktop/issues/6402 | 16 days, 7:27:34 | 16 days, 7:27:34 |
| Split Tabs not Restored upon Hard Computer Reset | https://github.com/zen-browser/desktop/issues/6401 | 16 days, 7:41:46 | 16 days, 7:41:46 |
| (Critical) refresh button broken! | https://github.com/zen-browser/desktop/issues/6399 | 16 days, 8:13:05 | 16 days, 8:13:06 |
| Ai ChatBot unavailable in sidebar | https://github.com/zen-browser/desktop/issues/6398 | 5:17:58 | 1 day, 7:41:37 |
| Browser slow to load on launch on notebook | https://github.com/zen-browser/desktop/issues/6397 | 16 days, 9:22:29 | 16 days, 9:22:29 |
| Zen 1.9.1b auto-update from 1.9b breaks MacOS code-signature | https://github.com/zen-browser/desktop/issues/6394 | 5 days, 23:17:44 | 8 days, 4:56:29 |
| Flexible space bug when placed on either sides of the URL bar in Multiple toolbars in Browser Layout | https://github.com/zen-browser/desktop/issues/6392 | 16 days, 12:08:43 | 16 days, 12:08:43 |
| Pinned tabs aren't restored properly when multiple windows are open | https://github.com/zen-browser/desktop/issues/6391 | 16:40:17 | 16 days, 12:11:56 |
| Compact Mode Toggle Shortcut Not Working | https://github.com/zen-browser/desktop/issues/6389 | 15:23:17 | 16 days, 14:30:44 |
| Split View beyond two tabs fails | https://github.com/zen-browser/desktop/issues/6388 | 16 days, 14:45:49 | 16 days, 14:45:49 |
| Access Violation (0xc0000005) Crash When Running with SentinelOne EDR Active (Windows ARM64) | https://github.com/zen-browser/desktop/issues/6386 | 16 days, 15:59:44 | 16 days, 15:59:44 |
| book.ark toolbar and window controls persists when opening folder | https://github.com/zen-browser/desktop/issues/6385 | 16 days, 16:01:37 | 16 days, 16:01:38 |
| Right click menu to Move tab to other Workspace does not show | https://github.com/zen-browser/desktop/issues/6384 | 0:20:11 | 1 day, 23:55:41 |
| Windows Window Handling Is Problematic | https://github.com/zen-browser/desktop/issues/6382 | 16 days, 18:50:00 | 16 days, 18:50:01 |
| Glance opens on magnet links | https://github.com/zen-browser/desktop/issues/6381 | 0:03:28 | 16 days, 19:56:51 |
| Confirm Closing Feature for Glance does not Work | https://github.com/zen-browser/desktop/issues/6380 | 2:04:46 | 16 days, 19:57:26 |
| Cant open extensions when no tab open. | https://github.com/zen-browser/desktop/issues/6378 | 12 days, 15:43:18 | 16 days, 20:11:00 |
| Weird zooming and window placement issues on Windows | https://github.com/zen-browser/desktop/issues/6374 | 16 days, 22:37:04 | 16 days, 22:37:04 |
| Search Engine Shortcuts Dont work after 1.9b, no mods on | https://github.com/zen-browser/desktop/issues/6373 | 2 days, 16:37:00 | 16 days, 22:41:27 |
| Dragging Tabs to open Split view only works on the left, when the tabs are on the right | https://github.com/zen-browser/desktop/issues/6372 | None | 9 days, 2:10:52 |
| misclick caused by tab context menu | https://github.com/zen-browser/desktop/issues/6371 | 16 days, 23:25:28 | 16 days, 23:25:29 |
| URL Bar only showing up when typing. | https://github.com/zen-browser/desktop/issues/6369 | 1 day, 20:40:08 | 1 day, 23:49:44 |
| why is it grayed out ? | https://github.com/zen-browser/desktop/issues/6368 | 22:27:41 | 22:28:35 |
| SuperPins (v1.4.4) not wrapping to new row | https://github.com/zen-browser/desktop/issues/6365 | 0:36:25 | 17 days, 2:47:47 |
| icons missaligned adress bar | https://github.com/zen-browser/desktop/issues/6364 | None | 1:46:18 |
| Move selected tab(s) to new window opens a new window while CLOSING the (first) selected tab | https://github.com/zen-browser/desktop/issues/6363 | 1:36:57 | 1 day, 2:54:10 |
| Japanese font doesn't work | https://github.com/zen-browser/desktop/issues/6362 | 17 days, 5:34:27 | 17 days, 5:34:27 |
| --zen-sidebar-width not set correctly when opening Zen with compact mode enabled | https://github.com/zen-browser/desktop/issues/6361 | 17 days, 6:23:51 | 17 days, 6:23:52 |
| Change tab from workspace (with default container) to other workspace loses tab | https://github.com/zen-browser/desktop/issues/6360 | 1 day, 7:46:11 | 15 days, 15:16:51 |
| Browser gives no visual indication that a browser window is private | https://github.com/zen-browser/desktop/issues/6358 | 14:08:22 | 17 days, 7:14:46 |
| Windows version eating up too much RAM | https://github.com/zen-browser/desktop/issues/6357 | 1:49:59 | 1 day, 5:24:46 |
| Zen is being updated by another instance | https://github.com/zen-browser/desktop/issues/6355 | 14 days, 21:48:28 | 17 days, 12:00:20 |
| Collapsed and Multiple toolbar does not hide completely (1.9b -> 1.10b still) | https://github.com/zen-browser/desktop/issues/6354 | 0:02:49 | 17 days, 12:07:24 |
| Browser unresponsive after closing large amount of tabs | https://github.com/zen-browser/desktop/issues/6353 | 3 days, 17:13:21 | 17 days, 13:01:01 |
| url bar icon not aligned center | https://github.com/zen-browser/desktop/issues/6352 | 17:24:58 | 17 days, 13:31:25 |
| Incorrect user interface in side panel | https://github.com/zen-browser/desktop/issues/6351 | 5 days, 16:07:57 | 17 days, 14:06:04 |
| Every time opening tabs in Essentials | https://github.com/zen-browser/desktop/issues/6350 | 17 days, 14:18:21 | 17 days, 14:18:21 |
| Link is ignored if there's no active windows AND if Zen remembers history | https://github.com/zen-browser/desktop/issues/6349 | 0:06:18 | 3 days, 9:53:01 |
| Dragging window into a new desktop results in blank zen window | https://github.com/zen-browser/desktop/issues/6348 | 0:26:07 | 1 day, 23:33:25 |
| restoring pinned tabs converts it to blank | https://github.com/zen-browser/desktop/issues/6347 | None | 11 days, 13:47:41 |
| mica broke again | https://github.com/zen-browser/desktop/issues/6346 | 17 days, 16:46:21 | 17 days, 16:46:21 |
| Search engine selector gone | https://github.com/zen-browser/desktop/issues/6345 | 4 days, 20:07:21 | 17 days, 17:17:10 |
| PDF files open to a blank page when Zen is closed | https://github.com/zen-browser/desktop/issues/6343 | 12:43:24 | 17 days, 18:13:02 |
| Tab peek controls overlap firefox ai chat sidebar | https://github.com/zen-browser/desktop/issues/6342 | 17 days, 18:38:25 | 17 days, 18:38:26 |
| Cant open a link with left click. | https://github.com/zen-browser/desktop/issues/6341 | 17 days, 18:56:56 | 17 days, 18:56:57 |
| Distorted UI during first use - fresh install | https://github.com/zen-browser/desktop/issues/6340 | 17 days, 19:04:58 | 17 days, 19:04:59 |
| Ctrl+Tab fails to switch tabs when dragging a file | https://github.com/zen-browser/desktop/issues/6339 | 17 days, 20:59:02 | 17 days, 20:59:03 |
| freeze content when scrolling | https://github.com/zen-browser/desktop/issues/6338 | 1 day, 13:52:29 | 17 days, 20:59:52 |
| Web Panel resets to initial state on tab change | https://github.com/zen-browser/desktop/issues/6336 | 17 days, 23:33:45 | 17 days, 23:33:45 |
| New tab search bar doesnt open when address bar suggestions are disabled | https://github.com/zen-browser/desktop/issues/6335 | 18 days, 2:21:42 | 18 days, 2:21:42 |
| Sidebar gadient breaks | https://github.com/zen-browser/desktop/issues/6333 | 18 days, 3:30:31 | 18 days, 3:30:31 |
| Show Sidebar is greyed out | https://github.com/zen-browser/desktop/issues/6332 | 7 days, 23:54:34 | 18 days, 3:42:42 |
| Sidebar overlaps with page content in 'multiple toolbar' mode | https://github.com/zen-browser/desktop/issues/6330 | 18 days, 3:57:58 | 18 days, 3:57:58 |
| Search shortcuts are missing in URL and Quick search bar | https://github.com/zen-browser/desktop/issues/6329 | 11 days, 11:42:02 | 18 days, 4:42:24 |
| Tab order disrupted [Bug] | https://github.com/zen-browser/desktop/issues/6328 | None | 7 days, 22:29:09 |
| Extension data being corrupted? (Bitwarden losing accounts) | https://github.com/zen-browser/desktop/issues/6327 | 18 days, 6:51:22 | 18 days, 6:51:22 |
| Hovering over tabs now displays an x to close them | https://github.com/zen-browser/desktop/issues/6325 | 0:46:18 | 18 days, 8:15:53 |
| Cannot split private tabs | https://github.com/zen-browser/desktop/issues/6323 | 0:15:38 | 8 days, 8:41:36 |
| URL Bar is blocked when typing in it | https://github.com/zen-browser/desktop/issues/6322 | None | 6:17:45 |
| Bookmark Bar not Minimizing | https://github.com/zen-browser/desktop/issues/6320 | None | 5:08:00 |
| Buggy behaviour when dragging tab from the bar | https://github.com/zen-browser/desktop/issues/6319 | 0:49:26 | 18 days, 15:48:26 |
| Bookmarks in Toolbar disappearing when entering fullscreen | https://github.com/zen-browser/desktop/issues/6318 | 1 day, 14:07:49 | 18 days, 16:41:09 |
| Alt + Clicking a link to open it in glance mode does not work in http pages | https://github.com/zen-browser/desktop/issues/6317 | 18 days, 17:40:56 | 18 days, 17:40:56 |
| iCloud Passwords extension broken | https://github.com/zen-browser/desktop/issues/6315 | 0:05:10 | 18 days, 19:11:03 |
| High CPU Usage | https://github.com/zen-browser/desktop/issues/6311 | 2:11:38 | 2:11:38 |
| Bookmark bad placement | https://github.com/zen-browser/desktop/issues/6310 | 11:00:26 | 1 day, 4:55:26 |
| Missing top and bottom margins for the URL bar. | https://github.com/zen-browser/desktop/issues/6308 | 1 day, 5:38:11 | 1 day, 5:38:11 |
| The knob for setting grains in theme setter is not circular | https://github.com/zen-browser/desktop/issues/6307 | 0:02:54 | 18 days, 23:12:49 |
| zen.workspaces.natural-scroll. workspace gestures animation are the wrong direction | https://github.com/zen-browser/desktop/issues/6305 | 18 days, 23:51:15 | 18 days, 23:51:15 |
| split screen moves pdfs | https://github.com/zen-browser/desktop/issues/6304 | 0:34:48 | 19 days, 0:38:55 |
| Why are search box icons positioned differently? | https://github.com/zen-browser/desktop/issues/6303 | 0:34:03 | 1 day, 7:25:16 |
| Zen does not get scrolling optimizations | https://github.com/zen-browser/desktop/issues/6302 | 4:31:26 | None |
| Save files do not correctly remember last saving location | https://github.com/zen-browser/desktop/issues/6301 | 19 days, 1:03:38 | 19 days, 1:03:38 |
| Close tab button tiny and at wrong position since update 1.9b | https://github.com/zen-browser/desktop/issues/6300 | 0:00:43 | 0:00:42 |
| New tab (ctrl-t) often replaces current tab as if i pressed (ctrl-l) | https://github.com/zen-browser/desktop/issues/6299 | 2:40:29 | 19 days, 3:40:52 |
| Gradient disappears if the window is unfocused | https://github.com/zen-browser/desktop/issues/6298 | 3:33:50 | 19 days, 3:46:23 |
| New tab in container | https://github.com/zen-browser/desktop/issues/6296 | 4:14:30 | 4:17:52 |
| Toolbar Doesn't Collapse When Hovering Over Tab Preview in Compact Mode | https://github.com/zen-browser/desktop/issues/6295 | 19 days, 4:41:23 | 19 days, 4:41:24 |
| Some website have overlay graphics at the wrong location | https://github.com/zen-browser/desktop/issues/6294 | 4:49:46 | 19 days, 4:48:39 |
| No way to open the sidebar while in compact mode on touchscreen | https://github.com/zen-browser/desktop/issues/6293 | 19 days, 5:01:49 | 19 days, 5:01:50 |
| Copying Problem While Watching Something on YouTube | https://github.com/zen-browser/desktop/issues/6291 | 19 days, 5:25:06 | 19 days, 5:25:07 |
| Zen Browser - Audio Icon Not Visible in "Audio TabIcon Plus" Mode | https://github.com/zen-browser/desktop/issues/6290 | 5:48:29 | 19 days, 5:44:15 |
| when i start zen after 1.9b update it doesn't show anything except the top bar | https://github.com/zen-browser/desktop/issues/6288 | 7:21:54 | 4 days, 14:26:52 |
| Expand sidebar button has no priority when shrunk | https://github.com/zen-browser/desktop/issues/6287 | 19 days, 6:36:54 | 19 days, 6:36:55 |
| Zen stuck on Syncing... on MacOS | https://github.com/zen-browser/desktop/issues/6286 | 19 days, 6:50:36 | 19 days, 6:50:37 |
| I cant delete the profile. | https://github.com/zen-browser/desktop/issues/6285 | 2 days, 20:28:06 | 19 days, 7:25:46 |
| Split tab shortcut not working in split view and other weird behavior | https://github.com/zen-browser/desktop/issues/6284 | 19 days, 7:35:52 | 19 days, 7:35:53 |
| Split view blocks Zen now | https://github.com/zen-browser/desktop/issues/6280 | 19 days, 10:26:31 | 19 days, 10:26:32 |
| Video Playback Issues | https://github.com/zen-browser/desktop/issues/6279 | 23:01:38 | 19 days, 10:46:34 |
| Tab Sidebar opens due to irrelivent command | https://github.com/zen-browser/desktop/issues/6278 | None | 15 days, 6:43:34 |
| Workspace Selector not working on bookmarks create/edit modal | https://github.com/zen-browser/desktop/issues/6277 | 1 day, 17:07:14 | 7 days, 3:18:48 |
| Home showing blank page | https://github.com/zen-browser/desktop/issues/6275 | 0:09:49 | 4 days, 20:03:39 |
| You can no longer split essentials | https://github.com/zen-browser/desktop/issues/6273 | 11:22:32 | 19 days, 16:19:50 |
| Extensions no longer stay pinned to the toolbar | https://github.com/zen-browser/desktop/issues/6272 | 0:09:02 | 19 days, 17:20:49 |
| Firefox tracker protection, PiP, and bookmark icons bugged | https://github.com/zen-browser/desktop/issues/6271 | 5:23:54 | 2 days, 0:09:16 |
| 2FAS Extension problem - abnormal CPU usage in 1.9b - no problems on Firefox | https://github.com/zen-browser/desktop/issues/6270 | 10:04:32 | 19 days, 17:44:32 |
| Be nice if I didn't have to install it every time I wanted to run it due to some bull sh t 0000000132 error. Pay nothing get nothing I suppose. Nothing ZEN about that. | https://github.com/zen-browser/desktop/issues/6269 | 1:44:24 | 19 days, 17:56:03 |
| New Window action always creates to default newtab page | https://github.com/zen-browser/desktop/issues/6268 | 3:23:22 | 19 days, 18:32:03 |
| Can't open new tab by dragging selected text to sidebar | https://github.com/zen-browser/desktop/issues/6267 | None | 23:14:40 |
| Shortcuts don't work when they conflict with standard character key binds | https://github.com/zen-browser/desktop/issues/6266 | 19 days, 21:18:44 | 19 days, 21:18:44 |
| All profiles Deleted automatically when using zen , can't restore them with about:profiles also | https://github.com/zen-browser/desktop/issues/6265 | 2:59:57 | 19 days, 21:40:08 |
| Windows processes / the entire windows unresponsive when using any kind of AI chats on Zen | https://github.com/zen-browser/desktop/issues/6264 | 19 days, 22:04:11 | 19 days, 22:04:11 |
| New window and tab doesnt work | https://github.com/zen-browser/desktop/issues/6263 | None | 0:12:28 |
| New window and tab doesnt work | https://github.com/zen-browser/desktop/issues/6262 | None | 0:00:07 |
| Spotify jumps through music by itself | https://github.com/zen-browser/desktop/issues/6261 | 10 days, 1:21:21 | 20 days, 0:00:17 |
| refocusing new tab will change to current url instead | https://github.com/zen-browser/desktop/issues/6260 | 12:27:25 | 20 days, 0:08:48 |
| Split view issue | https://github.com/zen-browser/desktop/issues/6255 | 0:50:33 | 20 days, 2:40:30 |
| bookmark toolbar not animating out | https://github.com/zen-browser/desktop/issues/6253 | 8:32:28 | 1 day, 12:54:00 |
| If I pick 3 colors in color picker, I can't set one color on sidebar like before | https://github.com/zen-browser/desktop/issues/6252 | 3:19:01 | 20 days, 3:41:14 |
| Sub-tabs in Account tab have no text | https://github.com/zen-browser/desktop/issues/6250 | 20 days, 4:11:08 | 20 days, 4:11:09 |
| Shield and Bookmark icon in searchbar is not aligned properly after new update 1.9b | https://github.com/zen-browser/desktop/issues/6248 | 4:10:26 | 16:34:35 |
| Bookmarks on the bookmark toolbar duplicates when opening a new window while in fullscreen mode | https://github.com/zen-browser/desktop/issues/6246 | 20 days, 7:00:27 | 20 days, 7:00:27 |
| Pin Tab Unpins When Using New Splitscreen Feature | https://github.com/zen-browser/desktop/issues/6245 | 9:32:04 | 20 days, 8:07:03 |
| AppImage (64 bit) on Nobara Linux 41 fails to launch. | https://github.com/zen-browser/desktop/issues/6241 | 3:04:51 | 14:51:45 |
| Alt+C not working as keybind | https://github.com/zen-browser/desktop/issues/6239 | 13:50:06 | 20 days, 13:12:19 |
| Empty Split View is shown when dragging a tab out into a new window | https://github.com/zen-browser/desktop/issues/6238 | 1 day, 7:08:21 | 5 days, 9:50:49 |
| Sidebar stays open when dragging/moving a tab out when using Compact mode | https://github.com/zen-browser/desktop/issues/6237 | 2:05:00 | 20 days, 13:17:36 |
| Profile switcher button is gone/changed | https://github.com/zen-browser/desktop/issues/6235 | 3:32:55 | 9:09:52 |
| blank tab (that shows when no tabs are open) is a dark grey instead of the theme colour | https://github.com/zen-browser/desktop/issues/6232 | 1:50:18 | 16:17:08 |
| Zen ignores system trusted certs when run in flatpak | https://github.com/zen-browser/desktop/issues/6231 | 11 days, 15:50:17 | 20 days, 15:59:42 |
| Taking a tab out of the window | https://github.com/zen-browser/desktop/issues/6230 | 12:03:30 | 12:03:30 |
| Tabs not displaying correctly when opening second window | https://github.com/zen-browser/desktop/issues/6229 | 12:28:08 | 12:28:08 |
| Tab list still scrolls to top sometimes | https://github.com/zen-browser/desktop/issues/6228 | 15 days, 16:02:36 | 20 days, 17:17:25 |
| New tab opens alongside essentials! [kinda critical] | https://github.com/zen-browser/desktop/issues/6226 | 1 day, 17:57:06 | 20 days, 17:50:03 |
| Cmd + K behaves strangely | https://github.com/zen-browser/desktop/issues/6225 | None | 12:31:04 |
| Zen doesnt load default homepage, nor custom one | https://github.com/zen-browser/desktop/issues/6223 | 13 days, 13:41:38 | 20 days, 18:25:02 |
| url is not centered on linux | https://github.com/zen-browser/desktop/issues/6222 | 8:05:01 | 13:46:11 |
| Clicking on Links in non-zen applications opens Blank Page | https://github.com/zen-browser/desktop/issues/6221 | 15:46:23 | 17:06:20 |
| Zen not working properly with PowerToys Run module | https://github.com/zen-browser/desktop/issues/6220 | 9:21:55 | 14:04:26 |
| Three bugs UI and Functionality Issues in Browser Behavior | https://github.com/zen-browser/desktop/issues/6218 | 20 days, 19:06:04 | 20 days, 19:06:05 |
| Essentials no longer have a highlight around them | https://github.com/zen-browser/desktop/issues/6217 | 20 days, 19:31:42 | 20 days, 19:31:43 |
| right sidebar animation | https://github.com/zen-browser/desktop/issues/6216 | None | 14 days, 16:42:31 |
| Picture in picture icon (URL Bar) | https://github.com/zen-browser/desktop/issues/6214 | 10:04:23 | 15:30:11 |
| Sidebar glitching out and not showing items / having incorrect offset when switching workspaces in collapsed mode | https://github.com/zen-browser/desktop/issues/6213 | 8 days, 11:36:11 | 8 days, 23:24:08 |
| Empty browser window from dragged out tab | https://github.com/zen-browser/desktop/issues/6210 | 4:54:45 | 16:18:40 |
| Zen browser not displaying anything besides the UI | https://github.com/zen-browser/desktop/issues/6209 | 5 days, 13:43:00 | 20 days, 21:04:51 |
| Home page shortcuts became smaller | https://github.com/zen-browser/desktop/issues/6208 | 6:20:48 | 20 days, 21:12:56 |
| Icons at the end of the URL bar are misaligned | https://github.com/zen-browser/desktop/issues/6207 | 5:08:25 | 3 days, 4:04:54 |
| 1.9b: Zen opens as a Blank page | https://github.com/zen-browser/desktop/issues/6205 | 3:41:04 | 20 days, 22:09:55 |
| "change theme colors" cannot be undone and breaks other theming features | https://github.com/zen-browser/desktop/issues/6202 | 18 days, 0:58:38 | 20 days, 22:13:51 |
| ISSUE WITH THE FLOATING URL BAR AND THE SIDEBAR | https://github.com/zen-browser/desktop/issues/6201 | 0:43:32 | 20 days, 23:03:13 |
| "restore previous session" does not work, it opens blank windows without ever restoring the tabs | https://github.com/zen-browser/desktop/issues/6200 | 21:37:27 | 21:37:27 |
| The appimage install command for Linux stops working in 1.9b version | https://github.com/zen-browser/desktop/issues/6199 | 18:11:44 | 5 days, 4:19:07 |
| Homepage looks like this in the new version, could you improve it or return it to how it was before? | https://github.com/zen-browser/desktop/issues/6195 | 21 days, 1:14:05 | 21 days, 1:14:06 |
| Profile switcher not showing in sidebar | https://github.com/zen-browser/desktop/issues/6194 | 0:14:44 | 1:42:41 |
| position browser notifications are broken | https://github.com/zen-browser/desktop/issues/6192 | 19:51:41 | 20:57:09 |
| Can't drag scrollbar because it's too small | https://github.com/zen-browser/desktop/issues/6191 | 13:33:59 | 21 days, 1:54:05 |
| Searcbar not autofocused when zen.urlbar.replace-newtab is set to false | https://github.com/zen-browser/desktop/issues/6189 | 21 days, 2:14:02 | 21 days, 2:14:03 |
| Need to drag a tab to the left half of the screen in tabs on the right mode | https://github.com/zen-browser/desktop/issues/6183 | 1 day, 18:38:34 | 2 days, 10:35:50 |
| Closing private tab re-open non-private tab | https://github.com/zen-browser/desktop/issues/6182 | 4:18:20 | 4:51:14 |
| New Tab Bug After the Update 1.8.1b | https://github.com/zen-browser/desktop/issues/6181 | None | 0:23:37 |
| Previous profiles not showing in updated profiles tab (1.9b) | https://github.com/zen-browser/desktop/issues/6180 | 20:27:53 | 21 days, 4:01:07 |
| Left Corners of Viewport not rounded | https://github.com/zen-browser/desktop/issues/6179 | 13:37:46 | 21 days, 4:06:34 |
| The slider in the homepage settings looks broken | https://github.com/zen-browser/desktop/issues/6178 | 21 days, 4:19:49 | 21 days, 4:19:50 |
| Dragging tab out to new window broken. | https://github.com/zen-browser/desktop/issues/6177 | 0:03:05 | 23:47:11 |
| Opening existing tab in the new window kills it | https://github.com/zen-browser/desktop/issues/6176 | 0:03:18 | 23:48:12 |
| Window Restoring Does not work | https://github.com/zen-browser/desktop/issues/6175 | 1 day, 21:28:01 | 21 days, 4:40:42 |
| Splitscreen by dragging tabs is flickering when changing the size. | https://github.com/zen-browser/desktop/issues/6173 | 21 days, 5:10:19 | 21 days, 5:10:20 |
| Top search input | https://github.com/zen-browser/desktop/issues/6172 | 21 days, 5:18:21 | 21 days, 5:18:21 |
| In a new tab, the search bar appears on the left side of the screen and across the screen. | https://github.com/zen-browser/desktop/issues/6171 | 1:34:32 | 1:34:32 |
| Tabs sometimes change places suddenly | https://github.com/zen-browser/desktop/issues/6170 | 21 days, 6:20:00 | 21 days, 6:20:00 |
| In a new tab, the search bar appears on the left side of the screen and across the screen. | https://github.com/zen-browser/desktop/issues/6168 | 1:55:46 | 1:55:46 |
| Zen browser remains at version 1.8.2b | https://github.com/zen-browser/desktop/issues/6167 | 0:05:28 | 1:57:40 |
| Opening new tabs with CTRL-Enter to quickfill .com domains opens wrong URL | https://github.com/zen-browser/desktop/issues/6166 | 9 days, 8:44:39 | 21 days, 7:57:03 |
| Extension→ Cant import Yomitan dictionaries when using Containers | https://github.com/zen-browser/desktop/issues/6164 | 21 days, 11:45:50 | 21 days, 11:45:50 |
| Compact right tabs has gap | https://github.com/zen-browser/desktop/issues/6163 | 5:20:43 | 21 days, 15:35:02 |
| Tab bar resizing area is tiny | https://github.com/zen-browser/desktop/issues/6162 | None | 5:44:57 |
| Pinned Tabs are invisible | https://github.com/zen-browser/desktop/issues/6161 | 0:11:58 | 1:02:43 |
| Videos wont go fullscreen in split view | https://github.com/zen-browser/desktop/issues/6159 | 21 days, 20:44:47 | 21 days, 20:44:47 |
| YouTube is slow | https://github.com/zen-browser/desktop/issues/6157 | 1 day, 16:27:54 | 21 days, 21:07:26 |
| Remapped picture-in-picture shortcut does not work for closing PIP | https://github.com/zen-browser/desktop/issues/6155 | 21 days, 21:18:40 | 21 days, 21:18:41 |
| Zen mod Cleaned URL bar blur not working outside settings | https://github.com/zen-browser/desktop/issues/6154 | 21 days, 21:23:41 | 21 days, 21:23:42 |
| Animated Dialog Element Does not Appear In Zen | https://github.com/zen-browser/desktop/issues/6153 | 21 days, 21:40:57 | 21 days, 21:40:57 |
| When resizing the window, the buttons on the right don't disappear and stay in front of the URL bar. | https://github.com/zen-browser/desktop/issues/6152 | 21 days, 22:50:00 | 21 days, 22:50:01 |
| Links opened by Thunderbird not recognised | https://github.com/zen-browser/desktop/issues/6150 | 21 days, 23:43:25 | 21 days, 23:43:26 |
| Low contrast text if lighter background colors are chosen | https://github.com/zen-browser/desktop/issues/6149 | None | 5 days, 0:37:32 |
| Color picker is not able to pick light colors, there's effectively no "light mode" | https://github.com/zen-browser/desktop/issues/6148 | 1 day, 7:05:26 | 5 days, 0:46:22 |
| Some essentials missing after moving to a new tab | https://github.com/zen-browser/desktop/issues/6147 | 22 days, 1:10:02 | 22 days, 1:10:03 |
| UI Config Saving issue with Toolbar | https://github.com/zen-browser/desktop/issues/6146 | 22 days, 1:20:51 | 22 days, 1:20:52 |
| Unable to login into youtube with google account | https://github.com/zen-browser/desktop/issues/6144 | 1:24:03 | 22 days, 1:55:36 |
| Close buttons on Mac positioned wrong when sidebar is collapsed | https://github.com/zen-browser/desktop/issues/6143 | 22 days, 1:58:07 | 22 days, 1:58:08 |
| Video bug when entering a Google meeting | https://github.com/zen-browser/desktop/issues/6142 | 22 days, 2:21:19 | 22 days, 2:21:19 |
| Theme colors leak into websites | https://github.com/zen-browser/desktop/issues/6141 | 2:13:26 | 22 days, 2:48:29 |
| Imaginary tab when `zen.urlbar.replace-newtab` set to `false` | https://github.com/zen-browser/desktop/issues/6138 | 4 days, 14:49:34 | 22 days, 3:54:57 |
| [1.9t] Icon sizing and positioning issues across UI | https://github.com/zen-browser/desktop/issues/6137 | 1 day, 1:23:48 | 11 days, 21:11:06 |
| Extension icons hang off the side of the sidebar, and extension addition confirmation window hangs off the screen | https://github.com/zen-browser/desktop/issues/6135 | 18 days, 8:19:50 | 22 days, 6:38:20 |
| Settings show zen-split-view-modifier which is unclear, I think it should be with spaces? | https://github.com/zen-browser/desktop/issues/6134 | 22 days, 7:27:49 | 22 days, 7:27:50 |
| Grayish White Rounded Corners Visible when fullscreen in a video on youtube | https://github.com/zen-browser/desktop/issues/6132 | 8:50:42 | 22 days, 9:35:57 |
| Zen Browser local building and running shows firefox only not zen type visual | https://github.com/zen-browser/desktop/issues/6128 | None | 3 days, 10:31:16 |
| Cannot download files with the flatpak version of Zen | https://github.com/zen-browser/desktop/issues/6127 | 10:53:18 | 22 days, 18:27:20 |
| File Browser doesnt list user home directory files | https://github.com/zen-browser/desktop/issues/6126 | 22 days, 18:35:54 | 22 days, 18:35:55 |
| Dragging sidebar moves the window | https://github.com/zen-browser/desktop/issues/6125 | 19:01:23 | 22 days, 19:16:45 |
| Option to add new tab to the sidebar dissappeared. | https://github.com/zen-browser/desktop/issues/6123 | 22 days, 21:12:43 | 22 days, 21:12:44 |
| The sidebar shrinks too much when switching to compact mode while floating is enabled | https://github.com/zen-browser/desktop/issues/6122 | 22 days, 21:15:20 | 22 days, 21:15:20 |
| Unable to define a Ctrl+Alt+Tab keyboard shortcut | https://github.com/zen-browser/desktop/issues/6121 | 22 days, 22:08:26 | 22 days, 22:08:26 |
| Broken keyboard shortcuts for compact mode | https://github.com/zen-browser/desktop/issues/6120 | 22 days, 22:11:00 | 22 days, 22:11:01 |
| Confusing case-insensitivity in the keyboard shortcuts configuration page | https://github.com/zen-browser/desktop/issues/6119 | 22 days, 22:20:02 | 22 days, 22:20:03 |
| Keyboard shortcuts stop working in the keyboard shortcuts configuration page | https://github.com/zen-browser/desktop/issues/6118 | 22 days, 22:28:25 | 22 days, 22:28:26 |
| "Bookmark this page" and "Show your bookmarks" show the same icon in the tool bar | https://github.com/zen-browser/desktop/issues/6117 | 22 days, 23:37:40 | 22 days, 23:37:41 |
| cmd+t toolbar partly hidden form the viewport | https://github.com/zen-browser/desktop/issues/6115 | 21:52:58 | 23 days, 4:34:42 |
| [1.8.2b] Print dialog invisible/does not appear. | https://github.com/zen-browser/desktop/issues/6113 | 6:55:27 | 9:17:48 |
| Blinking issue when activating window | https://github.com/zen-browser/desktop/issues/6112 | 23 days, 6:09:34 | 23 days, 6:09:35 |
| Workspace bottom indicator is not updated when scrolling the sidebar while another Zen window is focused | https://github.com/zen-browser/desktop/issues/6111 | 23 days, 6:38:54 | 23 days, 6:38:55 |
| 'Restore Window' feature not restoring tabs | https://github.com/zen-browser/desktop/issues/6109 | 5 days, 9:13:22 | 23 days, 9:27:14 |
| Can't open item in history | https://github.com/zen-browser/desktop/issues/6107 | 0:30:19 | 0:30:20 |
| Opening browser changes tab order | https://github.com/zen-browser/desktop/issues/6106 | 12:05:44 | 23 days, 12:02:25 |
| Sidebery box position incorrect for autohide | https://github.com/zen-browser/desktop/issues/6105 | 23 days, 14:15:07 | 23 days, 14:15:08 |
| Tabs on right has an empty margin | https://github.com/zen-browser/desktop/issues/6103 | 23 days, 14:47:19 | 23 days, 14:47:20 |
| Sidebery Mod page incorrect author | https://github.com/zen-browser/desktop/issues/6102 | 4:41:28 | 4:41:51 |
| Top toolbar is shown when hovering the top side of the screen in "single toolbar" layout with "compact mode" | https://github.com/zen-browser/desktop/issues/6101 | 21 days, 17:27:45 | 23 days, 16:12:17 |
| Blank Display when closing all non-pinned and non-essentials tabs | https://github.com/zen-browser/desktop/issues/6100 | 0:32:08 | 0:32:08 |
| Unable to Move Last Tab to Second Last Position | https://github.com/zen-browser/desktop/issues/6099 | 1 day, 14:33:30 | 5 days, 14:21:59 |
| New tab bar popup doesn't open when in full screen mode | https://github.com/zen-browser/desktop/issues/6098 | 23 days, 18:38:04 | 23 days, 18:38:05 |
| research bar not showing text | https://github.com/zen-browser/desktop/issues/6097 | 8:21:53 | 23 days, 18:52:30 |
| Research obscuring the bar | https://github.com/zen-browser/desktop/issues/6096 | 8:22:31 | 23 days, 18:53:34 |
| Browser does not render pages even after minutes of being open | https://github.com/zen-browser/desktop/issues/6095 | 23 days, 19:59:56 | 23 days, 19:59:56 |
| Status bar graphical issue | https://github.com/zen-browser/desktop/issues/6094 | 23 days, 20:00:58 | 23 days, 20:00:59 |
| Can't scroll when cursor is all the way to the right | https://github.com/zen-browser/desktop/issues/6093 | 0:48:37 | 23 days, 20:47:17 |
| Browser Freezes and Fails to Open | https://github.com/zen-browser/desktop/issues/6092 | None | 4 days, 16:43:45 |
| Essential Tabs Are Forgetting the URL | https://github.com/zen-browser/desktop/issues/6090 | 16:29:57 | 17:55:06 |
| Google Flights date picker slowing the browser | https://github.com/zen-browser/desktop/issues/6089 | 23 days, 22:28:19 | 23 days, 22:28:19 |
| URL suggestions cover the URL bar while typing in "multiple toolbars" and "collapsed toolbar" modes | https://github.com/zen-browser/desktop/issues/6088 | 23 days, 22:50:14 | 23 days, 22:50:15 |
| Cross-site cookies being blocked when they are allowed, only appearing with Salesforce | https://github.com/zen-browser/desktop/issues/6087 | 23 days, 22:50:41 | 23 days, 22:50:41 |
| High Memory usage on windows | https://github.com/zen-browser/desktop/issues/6085 | 4:09:52 | 24 days, 0:01:10 |
| Browser not properly filling up entire screen | https://github.com/zen-browser/desktop/issues/6084 | 24 days, 0:17:39 | 24 days, 0:17:40 |
| Cannot Bind Specific Keyboard Shortcuts | https://github.com/zen-browser/desktop/issues/6083 | 24 days, 0:51:36 | 24 days, 0:51:37 |
| Opening previous windows and tabs on start up | https://github.com/zen-browser/desktop/issues/6080 | 20:13:06 | 24 days, 1:31:18 |
| YouTube not opening in theater mode | https://github.com/zen-browser/desktop/issues/6078 | 24 days, 1:55:03 | 24 days, 1:55:03 |
| Cannot Finish Initial Config due to missing Next Button on Color / Accent Chooser | https://github.com/zen-browser/desktop/issues/6076 | 24 days, 2:23:02 | 24 days, 2:23:02 |
| Unable to fully integrate GTK and QT themes | https://github.com/zen-browser/desktop/issues/6074 | 1 day, 4:58:09 | 24 days, 4:44:34 |
| can not install any firefox themes | https://github.com/zen-browser/desktop/issues/6073 | 18:28:31 | 18:28:31 |
| No icon on windows | https://github.com/zen-browser/desktop/issues/6071 | 0:12:31 | 0:23:42 |
| Twilight Browser: Unexpected Blur Transparency After Update | https://github.com/zen-browser/desktop/issues/6069 | 7:36:42 | 24 days, 11:03:57 |
| New tabs open as essentials; essentials do not retain order | https://github.com/zen-browser/desktop/issues/6068 | None | 1 day, 15:21:33 |
| [macOS] Close, minimize, and maximize buttons remain grayed out in active window | https://github.com/zen-browser/desktop/issues/6067 | 2:27:22 | 19:10:27 |
| [Regression 1.8b+] Tab session extensions cannot record across workspaces anymore | https://github.com/zen-browser/desktop/issues/6066 | 24 days, 15:28:29 | 24 days, 15:28:29 |
| Address Bar Shifts Slightly When Clicking to Edit | https://github.com/zen-browser/desktop/issues/6065 | 24 days, 16:38:42 | 24 days, 16:38:43 |
| Drag and Dropping files causes Zen to hang the system literally | https://github.com/zen-browser/desktop/issues/6062 | 24 days, 19:32:45 | 24 days, 19:32:46 |
| Interfering tabs | https://github.com/zen-browser/desktop/issues/6061 | 16:53:50 | 24 days, 21:13:04 |
| crashes on startup | https://github.com/zen-browser/desktop/issues/6060 | None | 5:35:50 |
| Extension icons and buttons are behaving strangely | https://github.com/zen-browser/desktop/issues/6058 | None | 5 days, 2:56:33 |
| Pink Youtube Filter | https://github.com/zen-browser/desktop/issues/6057 | 0:17:06 | 4 days, 17:58:17 |
| Essentials & Pinned tabs icons disappear when browser history is cleared | https://github.com/zen-browser/desktop/issues/6056 | 24 days, 23:31:36 | 24 days, 23:31:37 |
| word processor lag | https://github.com/zen-browser/desktop/issues/6055 | 10:55:49 | 24 days, 23:41:56 |
| Renamed Tabs Not Detected | https://github.com/zen-browser/desktop/issues/6054 | 2:36:44 | 24 days, 23:42:42 |
| Browser Freezes When Expanding Toolbar Options Menu in Shrinked Window State | https://github.com/zen-browser/desktop/issues/6052 | 25 days, 1:06:47 | 25 days, 1:06:47 |
| [Nobara GNOME44] Modal dialog appears almost out of screen | https://github.com/zen-browser/desktop/issues/6051 | 6:11:27 | 8 days, 4:40:40 |
| Zen doesn't follow KDE Plasma accent colors | https://github.com/zen-browser/desktop/issues/6050 | 25 days, 4:07:30 | 25 days, 4:07:30 |
| [Twilight] Cannot get Drag and Drop split view to work. | https://github.com/zen-browser/desktop/issues/6049 | None | 8 days, 8:33:12 |
| Browser lockup when closing tabs on prolonged browser usage | https://github.com/zen-browser/desktop/issues/6048 | 25 days, 4:22:26 | 25 days, 4:22:26 |
| Sidebar icons off-center | https://github.com/zen-browser/desktop/issues/6047 | 25 days, 4:34:30 | 25 days, 4:34:31 |
| Muffled headset after using Google Meet never worked again | https://github.com/zen-browser/desktop/issues/6045 | 8:04:31 | 25 days, 4:58:54 |
| Zen only allows me to save file not open it with anything | https://github.com/zen-browser/desktop/issues/6044 | 25 days, 4:59:47 | 25 days, 4:59:47 |
| Troubleshoot Mode dialog permanently opening | https://github.com/zen-browser/desktop/issues/6043 | 9 days, 0:26:55 | 25 days, 5:09:25 |
| Sidebar greyed out + Error with split view | https://github.com/zen-browser/desktop/issues/6041 | 0:46:52 | 25 days, 6:00:03 |
| Sidebar and toolbar permanently greyed out | https://github.com/zen-browser/desktop/issues/6039 | 8:32:06 | 25 days, 15:50:20 |
| Audio glitches when playback in resource intensive situations | https://github.com/zen-browser/desktop/issues/6038 | 25 days, 16:36:18 | 25 days, 16:36:19 |
| Appears unfocused when focused | https://github.com/zen-browser/desktop/issues/6036 | 25 days, 16:50:21 | 25 days, 16:50:22 |
| Zen browser having blank window before starting ( Have to launch zen two times ) | https://github.com/zen-browser/desktop/issues/6033 | 25 days, 19:11:18 | 25 days, 19:11:19 |
| 'Ask before closing multiple tabs' feature does not work as intended. | https://github.com/zen-browser/desktop/issues/6032 | 2 days, 9:20:00 | 25 days, 21:20:12 |
| Can't focus on Tiktok live comments | https://github.com/zen-browser/desktop/issues/6029 | 25 days, 22:11:33 | 25 days, 22:11:34 |
| can´t see downloads in toolbar | https://github.com/zen-browser/desktop/issues/6028 | 2:33:42 | 25 days, 22:22:07 |
| New Tab popup does not allow right click context menu (for pasting etc) | https://github.com/zen-browser/desktop/issues/6027 | 25 days, 23:06:49 | 25 days, 23:06:50 |
| Tab Resizing Bug on macOS on tab split (16" Integrated Display) | https://github.com/zen-browser/desktop/issues/6025 | 26 days, 1:01:54 | 26 days, 1:01:54 |
| Floating url goes outside of the window | https://github.com/zen-browser/desktop/issues/6024 | 1:04:46 | 5 days, 20:24:46 |
| Private Window - Focus URL bar when the window is opened | https://github.com/zen-browser/desktop/issues/6023 | 26 days, 2:29:05 | 26 days, 2:29:05 |
| "grain" UI effect cause scroll lag | https://github.com/zen-browser/desktop/issues/6022 | 26 days, 2:58:31 | 26 days, 2:58:32 |
| Sidebar buttons are visible on the devtools notification | https://github.com/zen-browser/desktop/issues/6020 | 6 days, 0:38:52 | 26 days, 3:20:13 |
| Tabs from closed workspace appears in other workspace after reopening Zen | https://github.com/zen-browser/desktop/issues/6019 | 4 days, 4:06:04 | 26 days, 3:24:29 |
| Bounce not working properly | https://github.com/zen-browser/desktop/issues/6018 | 4 days, 15:57:50 | 6 days, 18:00:59 |
| [Twilight] Glance not auto opening in external links anymore | https://github.com/zen-browser/desktop/issues/6017 | None | 9 days, 8:55:46 |
| Toolbar customisation doesn't update until window is moved | https://github.com/zen-browser/desktop/issues/6015 | 9 days, 3:38:13 | 26 days, 5:53:48 |
| Websocket application not working. | https://github.com/zen-browser/desktop/issues/6014 | None | 1 day, 1:51:42 |
| Bug when Title bar is turned off | https://github.com/zen-browser/desktop/issues/6013 | 26 days, 6:21:07 | 26 days, 6:21:07 |
| Zen won't follow my system theme | https://github.com/zen-browser/desktop/issues/6011 | 26 days, 9:23:29 | 26 days, 9:23:30 |
| Why WidevineCDM is not present if there is posible to include it for free | https://github.com/zen-browser/desktop/issues/6009 | None | 1 day, 3:10:51 |
| Weird animation with lag in single toolbar | https://github.com/zen-browser/desktop/issues/6007 | 26 days, 11:57:52 | 26 days, 11:57:53 |
| Zen-specific HotKey to forward workspace (Option + Cmd + E) does not work on MacOS | https://github.com/zen-browser/desktop/issues/6006 | 26 days, 12:26:40 | 26 days, 12:26:41 |
| minor DRM popup compact mode bug | https://github.com/zen-browser/desktop/issues/6005 | 26 days, 12:55:13 | 26 days, 12:55:13 |
| Can't skip revamped welcome page | https://github.com/zen-browser/desktop/issues/6004 | 26 days, 13:00:01 | 26 days, 13:00:01 |
| Improve Chiniese translation | https://github.com/zen-browser/desktop/issues/6003 | 26 days, 13:28:27 | 26 days, 13:28:27 |
| Restoring Windows and Tab orders. | https://github.com/zen-browser/desktop/issues/6002 | 26 days, 14:11:17 | 26 days, 14:11:17 |
| Drag & drop images not working in compact mode | https://github.com/zen-browser/desktop/issues/6001 | 26 days, 14:11:20 | 26 days, 14:11:21 |
| New tab is not a new tab, space bar is weird | https://github.com/zen-browser/desktop/issues/5997 | 12:24:08 | 26 days, 16:41:26 |
| Bookmarks Menu Toolbar Keyboard Shortcut Opens Library, not List | https://github.com/zen-browser/desktop/issues/5996 | 26 days, 19:20:52 | 26 days, 19:20:53 |
| Cannot open links in History menu | https://github.com/zen-browser/desktop/issues/5995 | 1:46:38 | 13:52:31 |
| Gnome keeps asking to make it default browser | https://github.com/zen-browser/desktop/issues/5994 | 1:19:34 | 26 days, 20:28:53 |
| Toggle floating sidebar shortcut doesn´t work | https://github.com/zen-browser/desktop/issues/5993 | 26 days, 20:30:19 | 26 days, 20:30:20 |
| Unable to render PDF on Overleaf | https://github.com/zen-browser/desktop/issues/5992 | 26 days, 21:03:38 | 26 days, 21:03:39 |
| half shown url bar when using compact mode | https://github.com/zen-browser/desktop/issues/5991 | 26 days, 21:20:04 | 26 days, 21:20:04 |
| new tab floating bar in wrong location on 16:9 ultrawide display | https://github.com/zen-browser/desktop/issues/5990 | 0:20:32 | 26 days, 22:57:02 |
| Electron has a weird thin white line at the top | https://github.com/zen-browser/desktop/issues/5989 | 26 days, 23:50:00 | 26 days, 23:50:01 |
| Opens a weird tab after closing all tabs | https://github.com/zen-browser/desktop/issues/5985 | 20:00:45 | 27 days, 1:37:50 |
| No option to close active "Essential" tabs | https://github.com/zen-browser/desktop/issues/5984 | None | 7:19:02 |
| Not possible to open links from Bookmark Library Window | https://github.com/zen-browser/desktop/issues/5983 | 1 day, 1:26:26 | 4 days, 21:49:49 |
| Location icon way too small visually | https://github.com/zen-browser/desktop/issues/5982 | 27 days, 2:18:13 | 27 days, 2:18:14 |
| History links cannot be clicked/opened | https://github.com/zen-browser/desktop/issues/5975 | 1:28:47 | 1:33:11 |
| Shows unnecessary scroll bar when maximized | https://github.com/zen-browser/desktop/issues/5974 | 27 days, 5:25:43 | 27 days, 5:25:44 |
| Missing pinned tabs and big empty space in tab bar | https://github.com/zen-browser/desktop/issues/5973 | 3:37:37 | 27 days, 6:18:53 |
| Browser switches to blank page instead of wrapping to the first/last tab when tabs switching is done by an add-on | https://github.com/zen-browser/desktop/issues/5970 | 4:23:43 | 13:37:22 |
| Floating URL bar breaks after clearing browsing history | https://github.com/zen-browser/desktop/issues/5967 | 7:33:33 | 27 days, 15:10:30 |
| taking its sweet time | https://github.com/zen-browser/desktop/issues/5966 | None | 6 days, 1:48:55 |
| keyboard shortcut priority | https://github.com/zen-browser/desktop/issues/5963 | 7 days, 20:54:12 | 27 days, 15:42:11 |
| M365 COPILOT OFFICE | https://github.com/zen-browser/desktop/issues/5962 | 2 days, 15:34:29 | 27 days, 15:43:50 |
| Tab selection panel is visible as transparent after exiting full-screen while watching media on YouTube, Netflix and more.. | https://github.com/zen-browser/desktop/issues/5959 | 20:40:11 | 22:08:11 |
| Moving a tab moves it one tab lower than it's supposed to | https://github.com/zen-browser/desktop/issues/5958 | 2 days, 18:28:41 | 27 days, 19:19:20 |
| Profiles switcher gone | https://github.com/zen-browser/desktop/issues/5957 | 0:03:37 | 0:18:58 |
| [Twilight] More split group issues | https://github.com/zen-browser/desktop/issues/5955 | 5:30:25 | 5:30:25 |
| [Twilight] Split View Tabs Can be Removed From Group | https://github.com/zen-browser/desktop/issues/5954 | None | 6:17:14 |
| ublock functionality is inconsistent in side panel | https://github.com/zen-browser/desktop/issues/5953 | 27 days, 23:14:03 | 27 days, 23:14:04 |
| Unable to install CA certificate | https://github.com/zen-browser/desktop/issues/5951 | 3:31:20 | 28 days, 1:29:01 |
| Glance (alt+click) in split tabs | https://github.com/zen-browser/desktop/issues/5950 | 8 days, 10:42:00 | 28 days, 1:32:54 |
| No such native application org.gnome.chrome_gnome_shell | https://github.com/zen-browser/desktop/issues/5949 | 28 days, 1:33:24 | 28 days, 1:33:24 |
| Solved / iCloud bookmarks extension won't work | https://github.com/zen-browser/desktop/issues/5948 | None | 0:06:26 |
| Telemtry and privacy issues with the browser | https://github.com/zen-browser/desktop/issues/5947 | 10:18:42 | 10:27:06 |
| Scrolling with Pen Tablet Only Works in Pinned Tabs | https://github.com/zen-browser/desktop/issues/5946 | 28 days, 3:05:38 | 28 days, 3:05:38 |
| Scrolling with Pen Tablet Only Works in Pinned Tabs | https://github.com/zen-browser/desktop/issues/5945 | None | 0:00:59 |
| Inconsistent Window Dragging | https://github.com/zen-browser/desktop/issues/5944 | 1 day, 10:40:42 | 28 days, 3:10:15 |
| Inconsistent Window Dragging | https://github.com/zen-browser/desktop/issues/5943 | None | 0:01:24 |
| Unload Tabs not working for pinned and essentials tabs | https://github.com/zen-browser/desktop/issues/5942 | 28 days, 3:40:31 | 28 days, 3:40:31 |
| Randomized tabs | https://github.com/zen-browser/desktop/issues/5940 | 0:39:53 | 28 days, 5:15:03 |
| Certificate Manager | https://github.com/zen-browser/desktop/issues/5936 | None | 2:37:58 |
| Essential tabs keep getting re-arranged after closing zen | https://github.com/zen-browser/desktop/issues/5935 | None | 0:05:14 |
| zen.urlbar.replace-newtab & zen.workspaces.open-new-tab-if-last-unpinned-tab-is-closed - Not working as intended in combination | https://github.com/zen-browser/desktop/issues/5933 | 22:25:28 | 28 days, 8:04:42 |
| Do the new privacy changes to Firefox apply to zen? | https://github.com/zen-browser/desktop/issues/5932 | 2:05:45 | 2:35:47 |
| security key is not being recognized | https://github.com/zen-browser/desktop/issues/5931 | 0:16:40 | 4:43:16 |
| I can't watch anything on netflix | https://github.com/zen-browser/desktop/issues/5930 | 0:05:38 | 4:45:35 |
| External links open in no container | https://github.com/zen-browser/desktop/issues/5929 | 2 days, 2:53:20 | 9 days, 6:53:45 |
| CTRL + Shift + H (History) Is not working | https://github.com/zen-browser/desktop/issues/5928 | 22:03:13 | 2 days, 3:44:26 |
| Automatically opens pinned tabs in the background without user action | https://github.com/zen-browser/desktop/issues/5927 | 2 days, 21:08:37 | 28 days, 10:24:22 |
| Drag and Drop File Causes Browser to Close | https://github.com/zen-browser/desktop/issues/5926 | 25 days, 22:32:51 | 28 days, 10:31:17 |
| App Takes Longer to Open After Update | https://github.com/zen-browser/desktop/issues/5925 | 28 days, 10:35:41 | 28 days, 10:35:42 |
| system extensions don't work | https://github.com/zen-browser/desktop/issues/5923 | 28 days, 11:29:06 | 28 days, 11:29:06 |
| If you pin a tab then try to switch to any other tab, the browser hangs trying to switch tabs. | https://github.com/zen-browser/desktop/issues/5922 | 28 days, 13:43:19 | 28 days, 13:43:19 |
| DuckDuckGo Fills Suggestions & History | https://github.com/zen-browser/desktop/issues/5921 | 28 days, 13:44:28 | 28 days, 13:44:28 |
| Restoring window from "Recently Closed Windows" does not work | https://github.com/zen-browser/desktop/issues/5920 | 2 days, 18:33:35 | 28 days, 14:10:13 |
| [Twilight] Tab groups not persistent through session restart | https://github.com/zen-browser/desktop/issues/5919 | 21:48:30 | 21:48:30 |
_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_
Search query used to find these items: `repo:zen-browser/desktop is:issue created:2025-03-01..2025-03-31`

View File

@@ -1,15 +0,0 @@
# Zen Side Panels
The `zen.sidepanels.data` configuration will be a JSON string that follows the following data:
```json
{
"data": {
"p1": {
"url": "https://google.com",
"ua": false // "ua" may not be declared! (default: false)
}
},
"index": ["p1"]
}
```

View File

@@ -1 +0,0 @@
6013afe489c3d5e19c5f0d0f6c3f94b91f5bd7d1

2
l10n

Submodule l10n updated: 778cb128c6...950562cd71

27
package-lock.json generated
View File

@@ -1,17 +1,18 @@
{
"name": "zen-core",
"name": "zen-desktop",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "zen-core",
"name": "zen-desktop",
"version": "1.0.0",
"license": "ISC",
"license": "MPL-2.0",
"dependencies": {
"@zen-browser/surfer": "^1.10.5"
"@zen-browser/surfer": "^1.11.7"
},
"devDependencies": {
"formal-git": "^1.1.5",
"husky": "^9.1.7",
"lint-staged": "^15.3.0",
"prettier": "^3.4.2",
@@ -288,9 +289,10 @@
"license": "MIT"
},
"node_modules/@zen-browser/surfer": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.10.5.tgz",
"integrity": "sha512-jpGArye02C6M65qy0b5kZWzDBO5sh/BY6k2otC1keAjICm9lxELsh5ELRz0tVQ6kwrBUC3yE4uP8jzUgQdCuCg==",
"version": "1.11.7",
"resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.11.7.tgz",
"integrity": "sha512-ltIjDwPiSKmnKYjlTtD307t5h9+igi7YZu3pNlFl0SgvmTGRv9Ayit6CPllN5HGaMoI9jftOSeAaeFX2uRG4Yg==",
"license": "MPL-2.0",
"dependencies": {
"@resvg/resvg-js": "^1.4.0",
"async-icns": "^1.0.2",
@@ -1027,6 +1029,17 @@
}
}
},
"node_modules/formal-git": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/formal-git/-/formal-git-1.1.5.tgz",
"integrity": "sha512-cSPoV0+/LFdUsE+fCGxCOK/eJNZeWj5c+6IxB3PP3QkeWIgdQFgw+RObnnpG/0KOsXy8mFrsD6tkEHbGjNGMpQ==",
"dev": true,
"license": "ISC",
"bin": {
"fo": "lib/main.js",
"formal-git": "lib/main.js"
}
},
"node_modules/fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",

View File

@@ -1,5 +1,5 @@
{
"name": "zen-core",
"name": "zen-desktop",
"version": "1.0.0",
"description": "",
"lint-staged": {
@@ -17,7 +17,6 @@
"package": "surfer package",
"update-ff": "python3 scripts/update_ff.py",
"update-ff:raw": "surfer update",
"update-newtab": "python3 scripts/update_newtab.py",
"update-ff:rc": "python3 scripts/update_ff.py --rc",
"update-ff:l10n": "python3 scripts/update_ff.py --just-l10n",
"pretty": "prettier . --write && autopep8 -r --in-place scripts/ src/",
@@ -28,22 +27,23 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/zen-browser/core.git"
"url": "git+https://github.com/zen-browser/desktop.git"
},
"hooks": {
"pre-commit": "npm run prepare"
},
"keywords": [],
"author": "",
"license": "ISC",
"license": "MPL-2.0",
"bugs": {
"url": "https://github.com/zen-browser/core/issues"
"url": "https://github.com/zen-browser/desktop/issues"
},
"homepage": "https://github.com/zen-browser/core#readme",
"homepage": "https://github.com/zen-browser/desktop#readme",
"dependencies": {
"@zen-browser/surfer": "^1.10.5"
"@zen-browser/surfer": "^1.11.7"
},
"devDependencies": {
"formal-git": "^1.1.5",
"husky": "^9.1.7",
"lint-staged": "^15.3.0",
"prettier": "^3.4.2",

View File

@@ -1,4 +1,12 @@
set -ex
set -x
if ! [ -z "$ZEN_L10N_CURR_DIR" ]; then
cd $ZEN_L10N_CURR_DIR
fi
# remove "\r" from ./l10n/supported-languages
# note: it's fine if it fails
sed -i 's/\r$//' ./l10n/supported-languages
CURRENT_DIR=$(pwd)
@@ -7,7 +15,7 @@ git config --global fetch.prune true
cd $CURRENT_DIR
LAST_FIREFOX_L10N_COMMIT=$(cat ./firefox-cache/l10n-last-commit-hash)
LAST_FIREFOX_L10N_COMMIT=$(cat ./build/firefox-cache/l10n-last-commit-hash)
cd ./l10n
rm -rf firefox-l10n
@@ -17,6 +25,16 @@ cd firefox-l10n
git checkout $LAST_FIREFOX_L10N_COMMIT
cd $CURRENT_DIR
rsyncExists=$(command -v rsync)
if [ -z "$rsyncExists" ]; then
echo "rsync not found, using cp instead"
else
echo "rsync found!"
fi
set -e
update_language() {
langId=$1
cd ./l10n
@@ -24,7 +42,13 @@ update_language() {
echo "Updating $langId"
# move the contents from ../firefox-l10n/$langId to ./l10n/$langId
rsync -av --progress ../firefox-l10n/$langId/ . --exclude .git
# if rsync exists, use it
# if not, use cp
if [ -z "$rsyncExists" ]; then
cp -r $CURRENT_DIR/l10n/firefox-l10n/$langId/* .
else
rsync -av --progress ../firefox-l10n/$langId/ . --exclude .git
fi
cd $CURRENT_DIR
}

View File

@@ -0,0 +1,30 @@
#!/bin/bash
set -e
COMPONENT_ROOT=$(pwd)/src/zen
EXTRA_COMPONENTS=(
"scripts"
"workflows"
"winsign"
"flatpak"
"configs"
)
echo "" > .formal-git/components
# iterate top directories and adding the base name to .formal-git/components
for dir in $(find $COMPONENT_ROOT -maxdepth 1 -type d | grep -v '\.git' | grep -v 'node_modules' | grep -v 'engine'); do
if [ "$dir" != "$COMPONENT_ROOT" ]; then
echo "$(basename $dir)" >> .formal-git/components
fi
done
# iterate over the extra components and adding them to .formal-git/components
for extra in "${EXTRA_COMPONENTS[@]}"; do
echo "$extra" >> .formal-git/components
done
# remove all empty lines
sed -i '/^$/d' .formal-git/components

View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Recursively find all .patch files in the current directory and its subdirectories
find src -type f -name "*.patch" | while read -r patch_file; do
# Replace all - with . and remove the .patch extension
new_file="${patch_file%/*}/$(basename "$patch_file" | sed 's/-/./' | sed 's/\.patch$//').patch"
new_file="${new_file%.patch}"
new_file="${new_file#src/}"
if [[ $new_file == *-mjs ]]; then
new_file="${new_file/-mjs/.mjs}"
fi
if [[ $new_file == *-ftl ]]; then
new_file="${new_file/-ftl/.ftl}"
fi
# Create the new file with the same content as the original
npm run export ${new_file} &
done
for job in $(jobs -p); do
echo $job
wait $job || let "FAIL+=1"
done
echo "All patches have been exported successfully."

View File

@@ -1,21 +1,21 @@
#!/bin/bash
gh_bulk_delete_workflow_runs() {
local repo=$1
local repo=zen-browser/$1
# Ensure the repo argument is provided
if [[ -z "$repo" ]]; then
echo "Usage: gh_bulk_delete_workflow_runs <owner/repo>"
echo "Usage: gh_bulk_delete_workflow_runs <repo>"
return 1
fi
# Fetch workflow runs that are cancelled, failed, or timed out
local runs
runs=$(gh api repos/$repo/actions/runs --paginate \
| jq -r '.workflow_runs[] |
select(.conclusion == "cancelled" or
.conclusion == "failure" or
.conclusion == "timed_out") |
| jq -r '.workflow_runs[] |
select(.conclusion == "cancelled" or
.conclusion == "failure" or
.conclusion == "timed_out") |
.id')
if [[ -z "$runs" ]]; then

View File

@@ -61,14 +61,14 @@ def update_l10n_last_commit_hash():
L10N_REPO = "https://github.com/mozilla-l10n/firefox-l10n"
try:
os.system(f"git clone {L10N_REPO} l10n-temp --depth 1")
if not os.path.exists("firefox-cache"):
os.mkdir("firefox-cache")
os.system("cat l10n-temp/.git/refs/heads/main > firefox-cache/l10n-last-commit-hash")
if not os.path.exists("build/firefox-cache"):
os.mkdir("build/firefox-cache")
os.system("cat l10n-temp/.git/refs/heads/main > build/firefox-cache/l10n-last-commit-hash")
# Remove new line character
data = ""
with open("firefox-cache/l10n-last-commit-hash", "r") as f:
with open("build/firefox-cache/l10n-last-commit-hash", "r") as f:
data = f.read()
with open("firefox-cache/l10n-last-commit-hash", "w") as f:
with open("build/firefox-cache/l10n-last-commit-hash", "w") as f:
f.write(data.strip())
except KeyboardInterrupt:
print("Exiting...")

View File

@@ -1,41 +0,0 @@
import os
import subprocess
import logging
# Set up logging
logging.basicConfig(level=logging.INFO)
# Constants for paths
NEW_TAB_DIR = "./engine/browser/components/newtab"
ENGINE_DIR = "./engine"
NPM_INSTALL_COMMANDS = ["npm install", "npm install meow@9.0.0"]
BUNDLE_COMMAND = "npm run bundle --prefix=browser/components/newtab"
def install_dependencies():
"""Install necessary npm packages for the newtab component."""
for command in NPM_INSTALL_COMMANDS:
logging.info(f"Running command: {command} in {NEW_TAB_DIR}")
subprocess.run(command.split(), cwd=NEW_TAB_DIR, check=True)
def bundle_newtab_components():
"""Bundle the newtab components."""
logging.info(f"Bundling newtab components in {ENGINE_DIR}")
subprocess.run(BUNDLE_COMMAND.split(), cwd=ENGINE_DIR, check=True)
def update_newtab(init: bool = True):
"""Update the newtab components, optionally initializing dependencies."""
try:
if init:
install_dependencies()
bundle_newtab_components()
except subprocess.CalledProcessError as e:
logging.error(f"An error occurred: {e}")
raise
if __name__ == "__main__":
update_newtab(init=False)

View File

@@ -1,8 +1,8 @@
diff --git a/Cargo.lock b/Cargo.lock
index da2fbe8c40fa40a86c350f8adb33e26915fecc7b..e5a571fc41cd4fa8d2cdffdc15f9ad083e6d36fb 100644
index c91f39b3afbe712355194593ae39514a83de6605..e6c2b77a69d9274ff1c7578ab4df4f07533f7441 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3912,8 +3912,6 @@ dependencies = [
@@ -3850,8 +3850,6 @@ dependencies = [
[[package]]
name = "mime_guess"
version = "2.0.4"

View File

@@ -1,8 +1,8 @@
diff --git a/Cargo.toml b/Cargo.toml
index 19a470608b7de28a946353d4c09a56b4dd3fd69a..37e9687c86b5725ee5d5071b632b5927ffb6bd27 100644
index a99b447250d36dd0146e031fa22503bc88eeae39..86829fc7075054f832a04825c98325a925cf5b0f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -201,6 +201,9 @@ rure = { path = "third_party/rust/rure" }
@@ -205,6 +205,9 @@ rure = { path = "third_party/rust/rure" }
# Patch `plist` to work with `indexmap` 2.*
plist = { path = "third_party/rust/plist" }

View File

@@ -0,0 +1,12 @@
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
index be66de4a1ef044341c2e1d6953806550897df45a..ff6ef3511076b25e00ca4d0189f666ec7aa94fe8 100644
--- a/browser/actors/WebRTCParent.sys.mjs
+++ b/browser/actors/WebRTCParent.sys.mjs
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {
let tabbrowser = browser.ownerGlobal.gBrowser;
if (tabbrowser) {
+ browser.ownerGlobal.gZenMediaController.updateMediaSharing(state);
tabbrowser.updateBrowserSharing(browser, {
webRTC: state,
});

View File

@@ -1,8 +1,8 @@
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index a39a4f287ef843f7e0cdeac8320eeff81318116f..f84cdb85c249221522089667010d547cfab67819 100644
index 78572e5480a6137c5b7de89c489956f5d68ef698..1c72fe9a5419e211dea25271113981aeda46ec66 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -3190,3 +3190,5 @@ pref("toolkit.contentRelevancy.enabled", false);
@@ -3363,3 +3363,5 @@ pref("toolkit.contentRelevancy.enabled", false);
pref("toolkit.contentRelevancy.ingestEnabled", false);
// Pref to enable extra logging for the content relevancy feature
pref("toolkit.contentRelevancy.log", false);

View File

@@ -19,6 +19,7 @@ pref("intl.multilingual.downloadEnabled", false);
// Restore session on startup
pref("browser.startup.page", 3);
pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
// Theme
pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
@@ -26,6 +27,10 @@ pref('browser.compactmode.show', true);
#ifdef XP_WIN
pref("browser.privateWindowSeparation.enabled", false);
// Mica
pref("widget.windows.mica", true);
pref("widget.windows.mica.popups", true);
#endif
pref('browser.newtabpage.activity-stream.newtabWallpapers.enabled', true);
@@ -61,12 +66,16 @@ pref("alerts.showFavicons", true);
// Toolbars
pref("browser.tabs.closeWindowWithLastTab", false);
pref("browser.tabs.loadBookmarksInTabs", false);
pref("browser.tabs.dragdrop.moveOverThresholdPercent", 50);
pref('browser.toolbars.bookmarks.visibility', 'never');
pref("browser.bookmarks.openInTabClosesMenu", false);
pref("browser.menu.showViewImageInfo", true);
pref("findbar.highlightAll", true);
pref("layout.word_select.eat_space_to_next_word", false);
// TODO:
pref("browser.tabs.groups.enabled", false);
// Enable Do Not Track and GPC by default.
pref("privacy.donottrackheader.enabled", false);
pref("privacy.globalprivacycontrol.enabled", true);
@@ -90,7 +99,7 @@ pref('zen.tabs.show-newtab-vertical', true);
pref('zen.view.show-newtab-button-border-top', false);
pref('zen.view.show-newtab-button-top', true);
perf('zen.mediacontrols.enabled', true);
pref('zen.mediacontrols.enabled', true);
#ifdef MOZILLA_OFFICIAL
pref('zen.rice.api.url', 'https://share.zen-browser.app', locked);
@@ -183,17 +192,9 @@ pref('zen.pinned-tab-manager.close-shortcut-behavior', 'reset-unload-switch');
// TODO: Check this out!
pref("browser.profiles.enabled", false);
// Zen webpanels (calling it sidebar due to legacy reasons)
pref('zen.sidebar.data', "{\"data\":\n {\"p1\":{\n \"url\":\"https://www.wikipedia.org/\"\n },\n\"p2\":{\n \"url\":\"https://m.twitter.com/\",\n\"ua\": true\n },\n\"p3\": {\n \"url\": \"https://www.youtube.com/\",\n\"ua\": true\n},\n\"p4\": {\n \"url\": \"https://translate.google.com/\",\n\"ua\": true\n},\n\"p5\": {\n \"url\": \"https://todoist.com/\",\n\"ua\": true\n}},\n\"index\":[\"p1\",\"p2\",\"p3\",\"p4\",\"p5\"]}");
pref('zen.sidebar.enabled', true);
pref('zen.sidebar.close-on-blur', true);
pref('zen.sidebar.max-webpanels', 8);
pref('zen.sidebar.use-google-favicons', true);
// Zen Split View
pref('zen.splitView.enable-tab-drop', true);
pref('zen.splitView.min-resize-width', 7);
pref('zen.splitView.change-on-hover', false);
pref('zen.splitView.rearrange-hover-size', 24);
// Startup flags
@@ -256,7 +257,7 @@ pref('browser.migrate.opera.enabled', true);
// pref('network.trr.mode', 5);
// security: They must enable this themselves, to avoid people downloading malware
pref('xpinstall.signatures.required', false);
pref('xpinstall.signatures.required', true);
// Experimental Zen Features
// Strategy to use for bytecode cache (Thanks https://github.com/gunir)
@@ -316,10 +317,13 @@ pref("mousewheel.default.delta_multiplier_y", 200);
#endif
#if defined(XP_WIN)
pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", false);
pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", false);
#endif
#ifdef UNIX_BUT_NOT_MAC
pref("widget.gtk.rounded-bottom-corners.enabled", true);
#endif
pref('browser.sessionstore.restore_pinned_tabs_on_demand', true);
pref('browser.newtabpage.activity-stream.system.showWeather', true);
// Enable experimental settings page (Used for Zen Labs)
@@ -384,6 +388,11 @@ pref('widget.macos.titlebar-blend-mode.behind-window', true);
pref('zen.widget.macos.window-material', 3);
#endif
// Enable transparent background for linux
#ifdef MOZ_WIDGET_GTK
pref('zen.widget.linux.transparency', false);
#endif
// Urlbar and autocomplete
pref("browser.urlbar.maxRichResults", 6);
pref("browser.urlbar.trimHttps", true);
@@ -463,3 +472,8 @@ pref("image.mem.decode_bytes_at_a_time", 32768);
pref("gfx.canvas.accelerated", true);
pref("media.hardware-video-decoding.enabled", true);
pref("layers.gpu-process.enabled", true);
// Picture-in-picture
pref("media.videocontrols.picture-in-picture.video-toggle.enabled", true);
// TODO: Enable once we have a proper settings page
pref("media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled", false);

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/aboutDialog.js b/browser/base/content/aboutDialog.js
index 8c5c7768e0e716c196063b4c986dea2631185972..d31f57a176fffc9725b1c31b165fb5cdc55e186e 100644
index f6e1391baf12abb91c85a95107bb3923118746c0..76c7b75a4e29056110f1631a50047c4ddd8b1f4a 100644
--- a/browser/base/content/aboutDialog.js
+++ b/browser/base/content/aboutDialog.js
@@ -51,7 +51,7 @@ function init() {
@@ -52,7 +52,7 @@ function init() {
]);
let versionIdKey = "base";
let versionAttributes = {
@@ -11,7 +11,7 @@ index 8c5c7768e0e716c196063b4c986dea2631185972..d31f57a176fffc9725b1c31b165fb5cd
};
let arch = Services.sysinfo.get("arch");
@@ -63,7 +63,7 @@ function init() {
@@ -64,7 +64,7 @@ function init() {
}
let version = Services.appinfo.version;

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
index 53e4616a99b7826453d5b6dea027184d90bc73f7..90c9fe5683411cf3087bebd3d0941decf6d23e89 100644
index c64980810570fcea84e33fdc2d66ac42a79f4e46..b7198e810a7510fa82cc6801cfd01c88a08d42c1 100644
--- a/browser/base/content/aboutDialog.xhtml
+++ b/browser/base/content/aboutDialog.xhtml
@@ -34,6 +34,7 @@
@@ -35,6 +35,7 @@
<html:link rel="localization" href="branding/brand.ftl"/>
<html:link rel="localization" href="browser/aboutDialog.ftl"/>
@@ -10,7 +10,7 @@ index 53e4616a99b7826453d5b6dea027184d90bc73f7..90c9fe5683411cf3087bebd3d0941dec
</linkset>
<html:div id="aboutDialogContainer">
@@ -124,21 +125,23 @@
@@ -125,21 +126,23 @@
</description>
</vbox>
<description class="text-blurb" id="communityDesc" data-l10n-id="community-2">
@@ -30,8 +30,8 @@ index 53e4616a99b7826453d5b6dea027184d90bc73f7..90c9fe5683411cf3087bebd3d0941dec
<vbox id="bottomBox">
<hbox pack="center">
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license" data-l10n-id="bottomLinks-license"/>
- <label is="text-link" class="bottom-link" href="https://www.mozilla.org/about/legal/terms/firefox/" data-l10n-id="bottomLinks-rights"/>
- <label is="text-link" class="bottom-link" href="https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-id="bottomLinks-privacy"/>
- <label is="text-link" class="bottom-link" href="https://www.mozilla.org/about/legal/terms/firefox/" data-l10n-id="bottom-links-terms"/>
- <label is="text-link" class="bottom-link" href="https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-id="bottom-links-privacy"/>
+ <label is="text-link" class="bottom-link" href="about:rights" data-l10n-id="bottomLinks-rights"/>
+ <label is="text-link" class="bottom-link" href="https://www.zen-browser.app/privacy-policy/" data-l10n-id="bottomLinks-privacy"/>
</hbox>

View File

@@ -1,17 +1,16 @@
diff --git a/browser/base/content/browser-box.inc.xhtml b/browser/base/content/browser-box.inc.xhtml
index 7d7e8697f02f90d4f336c9ab0a73a89848e0c21c..2fd19f3b43db4bdd99e65fecd1481f80d4541a7a 100644
index 2ca8bdd2674fb4addf3bbf94ff17abc5c93c6293..dd965d8d190e8cdacbeb3d80995ad1a906e64079 100644
--- a/browser/base/content/browser-box.inc.xhtml
+++ b/browser/base/content/browser-box.inc.xhtml
@@ -23,7 +23,14 @@
<browser id="sidebar" autoscroll="false" disablehistory="true" disablefullscreen="true" tooltip="aHTMLTooltip"/>
</vbox>
<splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
+#include zen-sidebar-panel.inc.xhtml
@@ -26,7 +26,13 @@
<splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
<box id="after-splitter"></box>
</div>
+<vbox flex="1" id="zen-appcontent-wrapper">
+<html:div id="zen-appcontent-navbar-container"></html:div>
+<hbox id="zen-tabbox-wrapper" flex="1">
<tabbox id="tabbrowser-tabbox" flex="1" tabcontainer="tabbrowser-tabs">
+ #include zen-tabbrowser-elements.inc.xhtml
+#include zen-tabbrowser-elements.inc.xhtml
<tabpanels id="tabbrowser-tabpanels" flex="1" selectedIndex="0"/>
</tabbox>
</hbox>

View File

@@ -1,36 +1,17 @@
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
index 63100defacf66c6b3232b9e0a783a5fd14e3a46a..398d685b142a47a85619dfc55772ea98ccfad445 100644
index 3d5173315812589c0b79beec5f0419fc37cb8868..c4216db9e414fbbaead6ecd89b40366b0d8a50c1 100644
--- a/browser/base/content/browser-init.js
+++ b/browser/base/content/browser-init.js
@@ -162,13 +162,15 @@ var gBrowserInit = {
elem.setAttribute("skipintoolbarset", "true");
}
}
+ ZenCustomizableUI.init(window);
for (let area of CustomizableUI.areas) {
let type = CustomizableUI.getAreaType(area);
- if (type == CustomizableUI.TYPE_TOOLBAR) {
+ if (type == CustomizableUI.TYPE_TOOLBAR && !area.startsWith("zen-")) {
let node = document.getElementById(area);
CustomizableUI.registerToolbarNode(node);
}
}
+ ZenCustomizableUI.registerToolbarNodes(window);
if (isVerticalTabs) {
// Show the vertical tabs toolbar
setToolbarVisibility(
@@ -287,6 +289,10 @@ var gBrowserInit = {
gPrivateBrowsingUI.init();
BrowserSearch.init();
BrowserPageActions.init();
+
+Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", window);
+Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
+
if (gToolbarKeyNavEnabled) {
ToolbarKeyboardNavigator.init();
}
@@ -365,6 +371,7 @@ var gBrowserInit = {
@@ -175,6 +175,8 @@ var gBrowserInit = {
},
onLoad() {
+ Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", window);
+ Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
PopupBlockerObserver.handleEvent(e)
);
@@ -310,6 +312,7 @@ var gBrowserInit = {
TelemetryTimestamps.add("delayedStartupStarted");
this._cancelDelayedStartup();

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index 019b168c1aeae7e1c97a3ae58c99a48a27f54134..22dcf304591290d7a1b60f01998b6cf4782c0cdc 100644
index b89846a1103827b7e65c0b6c9197e80761e3f5c0..cc7205765244738743db92bfcafc1f288919ae0d 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -32,6 +32,7 @@ ChromeUtils.defineESModuleGetters(this, {
@@ -33,6 +33,7 @@ ChromeUtils.defineESModuleGetters(this, {
ContextualIdentityService:
"resource://gre/modules/ContextualIdentityService.sys.mjs",
CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs",
@@ -10,7 +10,7 @@ index 019b168c1aeae7e1c97a3ae58c99a48a27f54134..22dcf304591290d7a1b60f01998b6cf4
DevToolsSocketStatus:
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
@@ -3440,6 +3441,11 @@ var XULBrowserWindow = {
@@ -2698,6 +2699,11 @@ var XULBrowserWindow = {
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
@@ -22,27 +22,7 @@ index 019b168c1aeae7e1c97a3ae58c99a48a27f54134..22dcf304591290d7a1b60f01998b6cf4
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
if (!gMultiProcessBrowser) {
@@ -4435,7 +4441,7 @@ nsBrowserAccess.prototype = {
// Passing a null-URI to only create the content window,
// and pass true for aSkipLoad to prevent loading of
// about:blank
- return this.getContentWindowOrOpenURIInFrame(
+ let res = this.getContentWindowOrOpenURIInFrame(
null,
aParams,
aWhere,
@@ -4443,6 +4449,10 @@ nsBrowserAccess.prototype = {
aName,
true
);
+ if (typeof window.gZenGlanceManager !== "undefined" && window.toolbar.visible) {
+ window.gZenGlanceManager.onTabOpen(res, aURI);
+ }
+ return res;
},
openURIInFrame: function browser_openURIInFrame(
@@ -6351,7 +6361,7 @@ function switchToTabHavingURI(
@@ -5194,7 +5200,7 @@ function switchToTabHavingURI(
ignoreQueryString || replaceQueryString,
ignoreFragmentWhenComparing
);
@@ -51,7 +31,7 @@ index 019b168c1aeae7e1c97a3ae58c99a48a27f54134..22dcf304591290d7a1b60f01998b6cf4
for (let i = 0; i < browsers.length; i++) {
let browser = browsers[i];
let browserCompare = cleanURL(
@@ -6392,7 +6402,7 @@ function switchToTabHavingURI(
@@ -5235,7 +5241,7 @@ function switchToTabHavingURI(
}
if (!doAdopt) {

View File

@@ -1,9 +1,9 @@
diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc
index 493c593d66883082c2a4df87c4706f919ea675f8..aaaa833b64b0fd890aa2a0794eaeb7e41f002f06 100644
index 269b025d7fb942602c1b1b6c9747540bcde11375..9dcecfe205cadacace5195ec84d8b2ee292a0632 100644
--- a/browser/base/content/browser-sets.inc
+++ b/browser/base/content/browser-sets.inc
@@ -393,3 +393,4 @@
@@ -405,3 +405,4 @@
internal="true"/>
#endif
</keyset>
+ <keyset id="zenKeyset"></keyset>
+#include zen-keysets.inc.xhtml

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
index 68849f5093cd8ab99ab0747d972799eaf3ad7e22..3b4e6a179ab7b71859f832709778c326a39cffda 100644
index 0d0a559a6473149b50f4bf18d059e86907c4acd3..25ad798eb26f04262d069fdaf1f3fb00adec9807 100644
--- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml
@@ -26,6 +26,7 @@
@@ -10,7 +10,7 @@ index 68849f5093cd8ab99ab0747d972799eaf3ad7e22..3b4e6a179ab7b71859f832709778c326
persist="screenX screenY width height sizemode"
data-l10n-sync="true">
<head>
@@ -100,6 +101,8 @@
@@ -104,6 +105,8 @@
<title data-l10n-id="browser-main-window-default-title"></title>
@@ -19,15 +19,15 @@ index 68849f5093cd8ab99ab0747d972799eaf3ad7e22..3b4e6a179ab7b71859f832709778c326
# All JS files which are needed by browser.xhtml and other top level windows to
# support MacOS specific features *must* go into the global-scripts.inc file so
# that they can be shared with macWindow.inc.xhtml.
@@ -169,6 +172,7 @@
});
});
@@ -148,6 +151,7 @@
window.addEventListener("DOMContentLoaded",
gBrowserInit.onDOMContentLoaded.bind(gBrowserInit), { once: true });
</script>
+#include zen-assets.inc.xhtml
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
# All sets except for popupsets (commands, keys, and stringbundles)
@@ -190,9 +194,13 @@
@@ -169,9 +173,11 @@
</vbox>
</html:template>
@@ -37,8 +37,6 @@ index 68849f5093cd8ab99ab0747d972799eaf3ad7e22..3b4e6a179ab7b71859f832709778c326
+ <hbox id="zen-main-app-wrapper" flex="1" persist="zen-compact-mode">
+ <vbox id="zen-toast-container"></vbox>
+ #include navigator-toolbox.inc.xhtml
+ <html:span id="zen-sidebar-box-container">
+ </html:span>
+ #include browser-box.inc.xhtml
+ </hbox>

View File

@@ -1,19 +1,19 @@
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
index 959c523b21c642f29353b9de37b3ce6b5505b01b..4cd26ea85ad4905bade71dcd470b8678079787bd 100644
index 198c188e074b7062169764fb7d81c692d3a2bdae..b412a3c1fabdc6470b4ea9e7be34c426cc76aafd 100644
--- a/browser/base/content/main-popupset.inc.xhtml
+++ b/browser/base/content/main-popupset.inc.xhtml
@@ -206,6 +206,10 @@
@@ -201,6 +201,10 @@
hidden="true"
tabspecific="true"
aria-labelledby="editBookmarkPanelTitle">
+ <html:div id="zenEditBookmarkPanelFaviconContainer">
+ <html:img id="zenEditBookmarkPanelFavicon"/>
+ </html:div>
+ <vbox>
+ <html:div id="zenEditBookmarkPanelFaviconContainer">
+ <html:img id="zenEditBookmarkPanelFavicon"/>
+ </html:div>
+ <vbox>
<box class="panel-header">
<html:h1>
<html:span id="editBookmarkPanelTitle"/>
@@ -231,6 +235,7 @@
@@ -226,6 +230,7 @@
class="footer-button"/>
</html:moz-button-group>
</vbox>
@@ -21,21 +21,7 @@ index 959c523b21c642f29353b9de37b3ce6b5505b01b..4cd26ea85ad4905bade71dcd470b8678
</panel>
</html:template>
@@ -426,11 +431,13 @@
observes="cmd_CustomizeToolbars"
class="viewCustomizeToolbar"
data-lazy-l10n-id="toolbar-context-menu-view-customize-toolbar-2"/>
+#if 0
<menuseparator id="sidebarRevampSeparator"/>
<menuitem id="toolbar-context-toggle-vertical-tabs"
data-lazy-l10n-id="toolbar-context-turn-on-vertical-tabs"/>
<menuitem id="toolbar-context-customize-sidebar"
data-lazy-l10n-id="toolbar-context-customize-sidebar"/>
+#endif
<menuseparator contexttype="fullscreen"/>
<menuitem id="toolbar-context-full-screen-autohide"
class="fullscreen-context-autohide"
@@ -565,6 +572,8 @@
@@ -567,6 +572,8 @@
#include popup-notifications.inc.xhtml

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
index a0a382643a2f74b6d789f3641ef300eed202d5e9..a962e155f1452362a2a35df89c8f56e1c0d9968c 100644
index feb9e4ef7e872b4cfbf0d55f24a34db275951c66..3ce9b9919ff736885b8aa8943bbbce3c5d0f33a6 100644
--- a/browser/base/content/navigator-toolbox.inc.xhtml
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
@@ -2,7 +2,7 @@
@@ -11,20 +11,18 @@ index a0a382643a2f74b6d789f3641ef300eed202d5e9..a962e155f1452362a2a35df89c8f56e1
<script src="chrome://browser/content/navigator-toolbox.js" />
<!-- Menu -->
@@ -17,9 +17,11 @@
@@ -17,9 +17,8 @@
#include browser-menubar.inc
</toolbaritem>
<spacer flex="1" skipintoolbarset="true" style="order: 1000;"/>
+#if 0
#include titlebar-items.inc.xhtml
+#endif
-#include titlebar-items.inc.xhtml
</toolbar>
-
+<hbox id="titlebar">
<toolbar id="TabsToolbar"
class="browser-toolbar browser-titlebar"
fullscreentoolbar="true"
@@ -32,7 +34,7 @@
@@ -32,7 +31,7 @@
<hbox class="titlebar-spacer" type="pre-tabs"/>
@@ -33,18 +31,15 @@ index a0a382643a2f74b6d789f3641ef300eed202d5e9..a962e155f1452362a2a35df89c8f56e1
<toolbartabstop/>
<hbox id="TabsToolbar-customization-target" flex="1">
<toolbarbutton id="firefox-view-button"
@@ -40,9 +42,9 @@
@@ -40,6 +39,7 @@
data-l10n-id="toolbar-button-firefox-view-2"
role="button"
aria-pressed="false"
+ hidden="true"
cui-areatype="toolbar"
removable="true"/>
-
<tabs id="tabbrowser-tabs"
is="tabbrowser-tabs"
aria-multiselectable="true"
@@ -50,6 +52,10 @@
@@ -50,6 +50,10 @@
tooltip="tabbrowser-tab-tooltip"
orient="horizontal"
stopwatchid="FX_TAB_CLICK_MS">
@@ -55,16 +50,7 @@ index a0a382643a2f74b6d789f3641ef300eed202d5e9..a962e155f1452362a2a35df89c8f56e1
<hbox class="tab-drop-indicator" hidden="true"/>
# If the name (tabbrowser-arrowscrollbox) or structure of this changes
# significantly, there is an optimization in
@@ -57,7 +63,7 @@
# the current structure that we may want to revisit.
<html:div id="vertical-pinned-tabs-container" tabindex="-1"></html:div>
<html:div id="vertical-pinned-tabs-container-separator"></html:div>
- <arrowscrollbox id="tabbrowser-arrowscrollbox" orient="horizontal" flex="1" clicktoscroll="" scrolledtostart="" scrolledtoend="">
+ <arrowscrollbox id="tabbrowser-arrowscrollbox" orient="vertical" flex="1" clicktoscroll="" scrolledtostart="" scrolledtoend="">
<tab is="tabbrowser-tab" class="tabbrowser-tab" selected="true" visuallyselected="" fadein=""/>
<hbox id="tabbrowser-arrowscrollbox-periphery">
<toolbartabstop/>
@@ -75,6 +81,8 @@
@@ -75,6 +79,8 @@
tooltip="dynamic-shortcut-tooltip"
data-l10n-id="tabs-toolbar-new-tab"/>
<html:span id="tabbrowser-tab-a11y-desc" hidden="true"/>
@@ -73,33 +59,28 @@ index a0a382643a2f74b6d789f3641ef300eed202d5e9..a962e155f1452362a2a35df89c8f56e1
</tabs>
<toolbarbutton id="new-tab-button"
@@ -100,11 +108,12 @@
@@ -100,10 +106,10 @@
#include private-browsing-indicator.inc.xhtml
<toolbarbutton id="content-analysis-indicator"
class="toolbarbutton-1 content-analysis-indicator-icon"/>
-
+#if 0
#include titlebar-items.inc.xhtml
-
+#endif
<toolbarbutton class="content-analysis-indicator toolbarbutton-1 content-analysis-indicator-icon"/>
-#include titlebar-items.inc.xhtml
+#include zen-sidebar-icons.inc.xhtml
</toolbar>
-
+</hbox>
<toolbar id="nav-bar"
class="browser-toolbar chromeclass-location"
data-l10n-id="navbar-accessible"
@@ -490,10 +499,12 @@
@@ -489,10 +495,10 @@
consumeanchor="PanelUI-button"
data-l10n-id="appmenu-menu-button-closed2"/>
</toolbaritem>
+#include titlebar-items.inc.xhtml
<hbox class="titlebar-spacer" type="post-tabs"/>
#include private-browsing-indicator.inc.xhtml
-
+#if 0
#include titlebar-items.inc.xhtml
+#endif
<toolbarbutton class="content-analysis-indicator toolbarbutton-1 content-analysis-indicator-icon"/>
-#include titlebar-items.inc.xhtml
</toolbar>
<toolbar id="PersonalToolbar"

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
index 7f3dc585937c5ac96c0d09a786515305afb4fe1a..9216931e7d805743f0b00e74039be042456e63f3 100644
index 94d3c2bb401c2e4246340a6c2d63c9d3561ff5e1..62c599f78748e708c8f36c05935822e8808996b5 100644
--- a/browser/base/content/nsContextMenu.sys.mjs
+++ b/browser/base/content/nsContextMenu.sys.mjs
@@ -1047,6 +1047,13 @@ export class nsContextMenu {
@@ -1109,6 +1109,13 @@ export class nsContextMenu {
!this.isSecureAboutPage()
);

View File

@@ -10,7 +10,6 @@
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-tabs.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-browser-ui.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-gradient-generator.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-rices.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-panel-ui.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-single-components.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-browser-container.css" />
@@ -19,7 +18,6 @@
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-decks.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-folders.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-glance.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-sidebar-panels.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-popup.css" />
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-compact-mode.css" />
@@ -30,20 +28,18 @@
</linkset>
# Scripts used all over the browser
<script src="chrome://browser/content/zen-components/ZenFolders.mjs" />
<script src="chrome://browser/content/zen-components/ZenThemesCommon.mjs" />
<script src="chrome://browser/content/zen-components/ZenThemesImporter.mjs" />
<script src="chrome://browser/content/zen-components/ZenCompactMode.mjs" />
<script src="chrome://browser/content/ZenUIManager.mjs" />
<script src="chrome://browser/content/zen-components/ZenSidebarManager.mjs"/>
<script src="chrome://browser/content/zen-components/ZenTabUnloader.mjs" />
<script src="chrome://browser/content/zen-components/ZenPinnedTabsStorage.mjs" />
<script src="chrome://browser/content/zen-components/ZenWorkspacesStorage.mjs" />
<script src="chrome://browser/content/zen-components/ZenPinnedTabManager.mjs" />
<script src="chrome://browser/content/zen-components/ZenGradientGenerator.mjs" />
<script src="chrome://browser/content/zen-components/ZenViewSplitter.mjs"/>
<script src="chrome://browser/content/zen-components/ZenGlanceManager.mjs" />
<script src="chrome://browser/content/zen-components/ZenMediaController.mjs" />
# Unimportant scripts
<script src="chrome://browser/content/zen-components/ZenRices.mjs" />
<script>
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenFolders.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenThemesCommon.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenThemesImporter.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenCompactMode.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/ZenUIManager.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenTabUnloader.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenPinnedTabsStorage.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenWorkspacesStorage.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenPinnedTabManager.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenGradientGenerator.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenViewSplitter.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenGlanceManager.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenMediaController.mjs", this);
</script>

View File

@@ -1,83 +1,87 @@
content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
content/browser/ZenStartup.mjs (content/ZenStartup.mjs)
content/browser/ZenUIManager.mjs (content/ZenUIManager.mjs)
content/browser/ZenCustomizableUI.sys.mjs (content/ZenCustomizableUI.sys.mjs)
content/browser/zen-components/ZenUIMigration.mjs (zen-components/ZenUIMigration.mjs)
content/browser/zen-components/ZenCompactMode.mjs (zen-components/ZenCompactMode.mjs)
content/browser/zen-components/ZenViewSplitter.mjs (zen-components/ZenViewSplitter.mjs)
content/browser/zen-components/ZenThemesCommon.mjs (zen-components/ZenThemesCommon.mjs)
content/browser/zen-components/ZenWorkspaces.mjs (zen-components/ZenWorkspaces.mjs)
content/browser/zen-components/ZenWorkspacesStorage.mjs (zen-components/ZenWorkspacesStorage.mjs)
content/browser/zen-components/ZenWorkspacesSync.mjs (zen-components/ZenWorkspacesSync.mjs)
content/browser/zen-components/ZenSidebarManager.mjs (zen-components/ZenSidebarManager.mjs)
content/browser/zen-components/ZenKeyboardShortcuts.mjs (zen-components/ZenKeyboardShortcuts.mjs)
content/browser/zen-components/ZenThemesImporter.mjs (zen-components/ZenThemesImporter.mjs)
content/browser/zen-components/ZenTabUnloader.mjs (zen-components/ZenTabUnloader.mjs)
content/browser/zen-components/ZenPinnedTabsStorage.mjs (zen-components/ZenPinnedTabsStorage.mjs)
content/browser/zen-components/ZenPinnedTabManager.mjs (zen-components/ZenPinnedTabManager.mjs)
content/browser/zen-components/ZenCommonUtils.mjs (zen-components/ZenCommonUtils.mjs)
content/browser/zen-components/ZenGradientGenerator.mjs (zen-components/ZenGradientGenerator.mjs)
content/browser/zen-components/ZenGlanceManager.mjs (zen-components/ZenGlanceManager.mjs)
content/browser/zen-components/ZenFolders.mjs (zen-components/ZenFolders.mjs)
content/browser/zen-components/ZenActorsManager.mjs (zen-components/ZenActorsManager.mjs)
content/browser/zen-components/ZenRices.mjs (zen-components/ZenRices.mjs)
content/browser/zen-components/ZenEmojies.mjs (zen-components/ZenEmojies.mjs)
content/browser/zen-components/ZenWelcome.mjs (zen-components/ZenWelcome.mjs)
content/browser/zen-components/ZenMediaController.mjs (zen-components/ZenMediaController.mjs)
content/browser/zenThemeModifier.js (../../zen/common/zenThemeModifier.js)
content/browser/ZenStartup.mjs (../../zen/common/ZenStartup.mjs)
content/browser/zen-sets.js (../../zen/common/zen-sets.js)
content/browser/ZenUIManager.mjs (../../zen/common/ZenUIManager.mjs)
content/browser/zen-components/ZenActorsManager.mjs (../../zen/common/ZenActorsManager.mjs)
content/browser/zen-components/ZenEmojies.mjs (../../zen/common/ZenEmojies.mjs)
content/browser/ZenCustomizableUI.sys.mjs (../../zen/common/ZenCustomizableUI.sys.mjs)
content/browser/zen-components/ZenUIMigration.mjs (../../zen/common/ZenUIMigration.mjs)
content/browser/zen-components/ZenCommonUtils.mjs (../../zen/common/ZenCommonUtils.mjs)
content/browser/zen-styles/zen-theme.css (content/zen-styles/zen-theme.css)
content/browser/zen-styles/zen-buttons.css (content/zen-styles/zen-buttons.css)
content/browser/zen-styles/zen-tabs.css (content/zen-styles/zen-tabs.css)
* content/browser/zen-styles/zen-tabs/vertical-tabs.css (content/zen-styles/zen-tabs/vertical-tabs.css)
content/browser/zen-styles/zen-tabs/horizontal-tabs.css (content/zen-styles/zen-tabs/horizontal-tabs.css)
content/browser/zen-styles/zen-browser-ui.css (content/zen-styles/zen-browser-ui.css)
content/browser/zen-styles/zen-animations.css (content/zen-styles/zen-animations.css)
content/browser/zen-styles/zen-panel-ui.css (content/zen-styles/zen-panel-ui.css)
content/browser/zen-styles/zen-single-components.css (content/zen-styles/zen-single-components.css)
content/browser/zen-styles/zen-sidebar.css (content/zen-styles/zen-sidebar.css)
content/browser/zen-styles/zen-toolbar.css (content/zen-styles/zen-toolbar.css)
content/browser/zen-styles/zen-decks.css (content/zen-styles/zen-decks.css)
content/browser/zen-styles/zen-folders.css (content/zen-styles/zen-folders.css)
content/browser/zen-styles/zen-glance.css (content/zen-styles/zen-glance.css)
content/browser/zen-styles/zen-browser-container.css (content/zen-styles/zen-browser-container.css)
content/browser/zen-styles/zen-workspaces.css (content/zen-styles/zen-workspaces.css)
content/browser/zen-styles/zen-urlbar.css (content/zen-styles/zen-urlbar.css)
content/browser/zen-styles/zen-popup.css (content/zen-styles/zen-popup.css)
content/browser/zen-styles/zen-sidebar-panels.css (content/zen-styles/zen-sidebar-panels.css)
content/browser/zen-styles/zen-gradient-generator.css (content/zen-styles/zen-gradient-generator.css)
content/browser/zen-styles/zen-rices.css (content/zen-styles/zen-rices.css)
content/browser/zen-styles/zen-branding.css (content/zen-styles/zen-branding.css)
content/browser/zen-styles/zen-welcome.css (content/zen-styles/zen-welcome.css)
content/browser/zen-styles/zen-media-controls.css (content/zen-styles/zen-media-controls.css)
content/browser/zen-styles/zen-theme.css (../../zen/common/styles/zen-theme.css)
content/browser/zen-styles/zen-buttons.css (../../zen/common/styles/zen-buttons.css)
content/browser/zen-styles/zen-browser-ui.css (../../zen/common/styles/zen-browser-ui.css)
content/browser/zen-styles/zen-animations.css (../../zen/common/styles/zen-animations.css)
content/browser/zen-styles/zen-panel-ui.css (../../zen/common/styles/zen-panel-ui.css)
content/browser/zen-styles/zen-single-components.css (../../zen/common/styles/zen-single-components.css)
content/browser/zen-styles/zen-sidebar.css (../../zen/common/styles/zen-sidebar.css)
content/browser/zen-styles/zen-toolbar.css (../../zen/common/styles/zen-toolbar.css)
content/browser/zen-styles/zen-browser-container.css (../../zen/common/styles/zen-browser-container.css)
content/browser/zen-styles/zen-urlbar.css (../../zen/common/styles/zen-urlbar.css)
content/browser/zen-styles/zen-popup.css (../../zen/common/styles/zen-popup.css)
content/browser/zen-styles/zen-branding.css (../../zen/common/styles/zen-branding.css)
content/browser/zen-styles/zen-panels/bookmarks.css (content/zen-styles/zen-panels/bookmarks.css)
content/browser/zen-styles/zen-panels/extensions.css (content/zen-styles/zen-panels/extensions.css)
content/browser/zen-styles/zen-panels/print.css (content/zen-styles/zen-panels/print.css)
content/browser/zen-styles/zen-panels/dialog.css (content/zen-styles/zen-panels/dialog.css)
content/browser/zen-styles/zen-panels/bookmarks.css (../../zen/common/styles/zen-panels/bookmarks.css)
content/browser/zen-styles/zen-panels/extensions.css (../../zen/common/styles/zen-panels/extensions.css)
content/browser/zen-styles/zen-panels/print.css (../../zen/common/styles/zen-panels/print.css)
content/browser/zen-styles/zen-panels/dialog.css (../../zen/common/styles/zen-panels/dialog.css)
* content/browser/zen-styles/zen-compact-mode.css (content/zen-styles/zen-compact-mode.css)
content/browser/zen-components/ZenCompactMode.mjs (../../zen/compact-mode/ZenCompactMode.mjs)
* content/browser/zen-styles/zen-compact-mode.css (../../zen/compact-mode/zen-compact-mode.css)
# Images
content/browser/zen-images/gradient.png (content/zen-images/gradient.png)
content/browser/zen-images/brand-header.svg (content/zen-images/brand-header.svg)
content/browser/zen-images/layouts/collapsed.png (content/zen-images/layouts/collapsed.png)
content/browser/zen-images/layouts/multiple-toolbar.png (content/zen-images/layouts/multiple-toolbar.png)
content/browser/zen-images/layouts/single-toolbar.png (content/zen-images/layouts/single-toolbar.png)
content/browser/zen-images/grain-bg.png (content/zen-images/grain-bg.png)
content/browser/zen-images/note-indicator.svg (content/zen-images/note-indicator.svg)
content/browser/zen-components/ZenViewSplitter.mjs (../../zen/split-view/ZenViewSplitter.mjs)
content/browser/zen-styles/zen-decks.css (../../zen/split-view/zen-decks.css)
# Actors
content/browser/zen-components/actors/ZenThemeMarketplaceParent.sys.mjs (zen-components/actors/ZenThemeMarketplaceParent.sys.mjs)
content/browser/zen-components/actors/ZenThemeMarketplaceChild.sys.mjs (zen-components/actors/ZenThemeMarketplaceChild.sys.mjs)
content/browser/zen-components/actors/ZenGlanceChild.sys.mjs (zen-components/actors/ZenGlanceChild.sys.mjs)
content/browser/zen-components/actors/ZenGlanceParent.sys.mjs (zen-components/actors/ZenGlanceParent.sys.mjs)
content/browser/zen-components/ZenThemesCommon.mjs (../../zen/mods/ZenThemesCommon.mjs)
content/browser/zen-components/ZenThemesImporter.mjs (../../zen/mods/ZenThemesImporter.mjs)
content/browser/zen-components/actors/ZenThemeMarketplaceParent.sys.mjs (../../zen/mods/actors/ZenThemeMarketplaceParent.sys.mjs)
content/browser/zen-components/actors/ZenThemeMarketplaceChild.sys.mjs (../../zen/mods/actors/ZenThemeMarketplaceChild.sys.mjs)
# Fonts
content/browser/zen-fonts/JunicodeVF-Italic.woff2 (content/zen-fonts/JunicodeVF-Italic.woff2)
content/browser/zen-fonts/JunicodeVF-Roman.woff2 (content/zen-fonts/JunicodeVF-Roman.woff2)
content/browser/zen-components/ZenWorkspaces.mjs (../../zen/workspaces/ZenWorkspaces.mjs)
content/browser/zen-components/ZenWorkspacesStorage.mjs (../../zen/workspaces/ZenWorkspacesStorage.mjs)
content/browser/zen-components/ZenWorkspacesSync.mjs (../../zen/workspaces/ZenWorkspacesSync.mjs)
content/browser/zen-components/ZenGradientGenerator.mjs (../../zen/workspaces/ZenGradientGenerator.mjs)
content/browser/zen-styles/zen-workspaces.css (../../zen/workspaces/zen-workspaces.css)
content/browser/zen-styles/zen-gradient-generator.css (../../zen/workspaces/zen-gradient-generator.css)
content/browser/zen-components/ZenKeyboardShortcuts.mjs (../../zen/kbs/ZenKeyboardShortcuts.mjs)
content/browser/zen-components/ZenTabUnloader.mjs (../../zen/tabs/ZenTabUnloader.mjs)
content/browser/zen-components/ZenPinnedTabsStorage.mjs (../../zen/tabs/ZenPinnedTabsStorage.mjs)
content/browser/zen-components/ZenPinnedTabManager.mjs (../../zen/tabs/ZenPinnedTabManager.mjs)
content/browser/zen-styles/zen-tabs.css (../../zen/tabs/zen-tabs.css)
* content/browser/zen-styles/zen-tabs/vertical-tabs.css (../../zen/tabs/zen-tabs/vertical-tabs.css)
content/browser/zen-styles/zen-tabs/horizontal-tabs.css (../../zen/tabs/zen-tabs/horizontal-tabs.css)
content/browser/zen-components/ZenGlanceManager.mjs (../../zen/glance/ZenGlanceManager.mjs)
content/browser/zen-styles/zen-glance.css (../../zen/glance/zen-glance.css)
content/browser/zen-components/actors/ZenGlanceChild.sys.mjs (../../zen/glance/actors/ZenGlanceChild.sys.mjs)
content/browser/zen-components/actors/ZenGlanceParent.sys.mjs (../../zen/glance/actors/ZenGlanceParent.sys.mjs)
content/browser/zen-components/ZenFolders.mjs (../../zen/folders/ZenFolders.mjs)
content/browser/zen-styles/zen-folders.css (../../zen/folders/zen-folders.css)
content/browser/zen-components/ZenWelcome.mjs (../../zen/welcome/ZenWelcome.mjs)
content/browser/zen-styles/zen-welcome.css (../../zen/welcome/zen-welcome.css)
content/browser/zen-components/ZenMediaController.mjs (../../zen/media/ZenMediaController.mjs)
content/browser/zen-styles/zen-media-controls.css (../../zen/media/zen-media-controls.css)
# Images
content/browser/zen-images/gradient.png (../../zen/images/gradient.png)
content/browser/zen-images/brand-header.svg (../../zen/images/brand-header.svg)
content/browser/zen-images/layouts/collapsed.png (../../zen/images/layouts/collapsed.png)
content/browser/zen-images/layouts/multiple-toolbar.png (../../zen/images/layouts/multiple-toolbar.png)
content/browser/zen-images/layouts/single-toolbar.png (../../zen/images/layouts/single-toolbar.png)
content/browser/zen-images/grain-bg.png (../../zen/images/grain-bg.png)
content/browser/zen-images/note-indicator.svg (../../zen/images/note-indicator.svg)
# Fonts
content/browser/zen-fonts/JunicodeVF-Italic.woff2 (../../zen/fonts/JunicodeVF-Italic.woff2)
content/browser/zen-fonts/JunicodeVF-Roman.woff2 (../../zen/fonts/JunicodeVF-Roman.woff2)
# JS Vendor
content/browser/zen-vendor/tsparticles.confetti.bundle.min.js (content/zen-vendor/tsparticles.confetti.bundle.min.js)
content/browser/zen-vendor/motion.min.mjs (content/zen-vendor/motion.min.mjs)
content/browser/zen-vendor/tsparticles.confetti.bundle.min.js (../../zen/vendor/tsparticles.confetti.bundle.min.js)
content/browser/zen-vendor/motion.min.mjs (../../zen/vendor/motion.min.mjs)

View File

@@ -0,0 +1,48 @@
<commandset id="zenCommandSet">
<command id="cmd_zenCompactModeToggle" />
<command id="cmd_zenCompactModeShowSidebar" />
<command id="cmd_zenCompactModeShowToolbar" />
<command id="cmd_zenWorkspaceForward" />
<command id="cmd_zenWorkspaceBackward" />
<command id="cmd_zenSplitViewGrid" />
<command id="cmd_zenSplitViewVertical" />
<command id="cmd_zenSplitViewHorizontal" />
<command id="cmd_zenSplitViewUnsplit" />
<command id="cmd_zenSplitViewLinkInNewTab" />
<!-- Workspace commands -->
<command id="cmd_zenWorkspaceSwitch1" />
<command id="cmd_zenWorkspaceSwitch2" />
<command id="cmd_zenWorkspaceSwitch3" />
<command id="cmd_zenWorkspaceSwitch4" />
<command id="cmd_zenWorkspaceSwitch5" />
<command id="cmd_zenWorkspaceSwitch6" />
<command id="cmd_zenWorkspaceSwitch7" />
<command id="cmd_zenWorkspaceSwitch8" />
<command id="cmd_zenWorkspaceSwitch9" />
<command id="cmd_zenWorkspaceSwitch10" />
<command id="cmd_zenOpenZenThemePicker" />
<command id="cmd_zenChangeWorkspaceTab" />
<command id="cmd_zenToggleTabsOnRight" />
<command id="cmd_zenReplacePinnedUrlWithCurrent" />
<command id="cmd_zenAddToEssentials" />
<command id="cmd_zenRemoveFromEssentials" />
<command id="cmd_zenPinnedTabReset" />
<command id="cmd_zenPinnedTabResetNoTab" />
<command id="cmd_zenToggleSidebar" />
<command id="cmd_zenCopyCurrentURL" />
<command id="cmd_zenCopyCurrentURLMarkdown" />
<command id="cmd_zenUnloadTab" />
<command id="cmd_zenPreventUnloadTab" />
<command id="cmd_zenIgnoreUnloadTab" />
</commandset>
<keyset id="zenKeyset"></keyset>

View File

@@ -1,4 +1,4 @@
<link rel="localization" href="browser/zen-web-side-panels.ftl"/>
<link rel="localization" href="browser/zen-workspaces.ftl"/>
<link rel="localization" href="browser/zen-split-view.ftl"/>
<link rel="localization" href="browser/zen-general.ftl"/>

View File

@@ -1,86 +1,3 @@
<menupopup id="zenWebPanelContextMenu"
onpopupshowing="if (event.target == this) gZenBrowserManagerSidebar.updateContextMenu(this);"
onpopuphidden="if (event.target == this) gZenBrowserManagerSidebar.contextTab = null;">
<menuitem id="context_zenUnloadWebPanel" oncommand="gZenBrowserManagerSidebar.contextUnload();" data-l10n-id="zen-web-side-panel-context-unload"/>
<menuitem id="context_zenToggleMuteWebPanel" oncommand="gZenBrowserManagerSidebar.contextToggleMuteAudio();"/>
<menuitem id="context_zenOpenNewTabWebPanel" oncommand="gZenBrowserManagerSidebar.contextOpenNewTab();" data-l10n-id="zen-web-side-panel-open-in-new-tab"/>
<menuseparator/>
<menu id="context_zenWebPanelContextInContainer"
data-l10n-id="zen-web-side-panel-context-open-in-container-tab"
selection-type="single"
node-type="link"
hide-if-private-browsing="true"
hide-if-usercontext-disabled="true">
<menupopup oncommand="gZenBrowserManagerSidebar.contextChangeContainerTab(event);"
onpopupshowing="return gZenBrowserManagerSidebar.createContainerTabMenu(event);" />
</menu>
<menuitem id="context_zenToogleUAWebPanel" oncommand="gZenBrowserManagerSidebar.contextToggleUserAgent();"/>
<menuseparator/>
<menuitem id="context_zenDeleteWebPanel" oncommand="gZenBrowserManagerSidebar.contextDelete();" data-l10n-id="zen-web-side-panel-context-delete"/>
</menupopup>
<html:template id="template-zen-split-view-modifier">
<panel id="zenSplitViewModifier"
class="panel-no-padding"
orient="vertical"
role="alertdialog"
type="arrow"
onpopupshowing="gZenViewSplitter.disableTabRearrangeView();"
aria-labelledby="zen-split-view-modifier-header"
tabspecific="true">
<panelmultiview id="zenSplitViewModifierMultiview"
mainViewId="zenSplitViewModifierViewDefault">
<panelview id="zenSplitViewModifierViewDefault"
class="PanelUI-subView"
role="document"
mainview-with-header="true"
has-custom-header="true">
<box id="zenSplitViewModifierHeader"
class="panel-header panel-header-with-additional-element panel-header-with-info-button">
<html:h1>
<html:span data-l10n-id="zen-split-view-modifier-header"></html:span>
</html:h1>
<toolbarbutton id="zenSplitViewModifierActivateReallocation"
class="panel-info-button"
oncommand="gZenViewSplitter.enableTabRearrangeView();"
data-l10n-id="zen-split-view-modifier-activate-reallocation">
<image/>
</toolbarbutton>
</box>
<hbox id="zenSplitViewModifierContent">
<vbox>
<box class="zen-split-view-modifier-preview grid">
<box></box>
<box></box>
<box></box>
</box>
<p>Grid Layout</p>
</vbox>
<vbox>
<box class="zen-split-view-modifier-preview vsep">
<box></box>
<box></box>
</box>
<p>Vertical</p>
</vbox>
<vbox>
<box class="zen-split-view-modifier-preview hsep">
<box></box>
<box></box>
</box>
<p>Horizontal</p>
</vbox>
<vbox>
<box class="zen-split-view-modifier-preview unsplit">
<box></box>
</box>
<p>Unsplit</p>
</vbox>
</hbox>
</panelview>
</panelmultiview>
</panel>
</html:template>
<panel flip="side" type="arrow" orient="vertical" id="PanelUI-zen-gradient-generator" position="bottomright topright" mainview="true" side="left" onpopuphidden="gZenThemePicker.handlePanelClose();" onpopupshowing="gZenThemePicker.handlePanelOpen();">
<panelmultiview id="PanelUI-zen-gradient-generator-multiview" mainViewId="PanelUI-zen-gradient-generator-view">

View File

@@ -2,6 +2,7 @@
# the window is fully loaded.
# Make sure they are loaded before the global-scripts.inc file.
<script type="text/javascript">
Services.scriptloader.loadSubScript("chrome://browser/content/zen-sets.js", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenCommonUtils.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs", this);
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenWorkspaces.mjs", this);

View File

@@ -1,4 +1,4 @@
#include zen-media-player.inc.xhtml
#include ../../../zen/media/zen-media-controls.inc.xhtml
<toolbar brighttext="true"
id="zen-sidebar-bottom-buttons"
fullscreentoolbar="true"
@@ -9,6 +9,5 @@
context="toolbar-context-menu"
mode="icons">
<toolbarbutton removable="true" class="chromeclass-toolbar-additional toolbarbutton-1 zen-sidebar-action-button" id="zen-expand-sidebar-button" data-l10n-id="sidebar-zen-expand" cui-areatype="toolbar" oncommand="gZenVerticalTabsManager.toggleExpand();"></toolbarbutton>
<toolbarbutton removable="true" class="toolbarbutton-1 zen-sidebar-action-button zen-compact-mode-ignore" id="zen-sidepanel-button" data-l10n-id="sidebar-zen-sidepanel" onclick="gZenBrowserManagerSidebar.toggle();"></toolbarbutton>
<toolbarbutton id="zen-workspaces-button" class="chromeclass-toolbar-additional" overflows="false" removable="false"></toolbarbutton>
</toolbar>

View File

@@ -1,34 +0,0 @@
<hbox id="zen-sidebar-web-panel-wrapper">
<box id="zen-sidebar-web-panel" class="chromeclass-extrachrome" hidden="true" persist="pinned style hidden" pinned="true">
<toolbar mode="icons" flex="1" id="zen-sidebar-web-header" fullscreentoolbar="true">
<hbox>
<toolbarbutton id="zen-sidebar-web-panel-back" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.back();"/>
<toolbarbutton id="zen-sidebar-web-panel-forward" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.forward();"/>
<toolbarbutton id="zen-sidebar-web-panel-reload" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.reload();"/>
</hbox>
<hbox id="zen-sidebar-web-panel-title" flex="1">
</hbox>
<hbox>
<toolbarbutton id="zen-sidebar-web-panel-home" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.home();"/>
<toolbarbutton id="zen-sidebar-web-panel-pinned" class="toolbarbutton-1 chromeclass-toolbar-additional" pinned="true" oncommand="gZenBrowserManagerSidebar.togglePinned(this);"/>
<toolbarbutton id="zen-sidebar-web-panel-close" class="toolbarbutton-1 chromeclass-toolbar-additional" oncommand="gZenBrowserManagerSidebar.close();"/>
</hbox>
</toolbar>
<vbox id="zen-sidebar-web-panel-browser-containers">
<vbox id="zen-sidebar-introduction-panel" hidden="true">
<html:h1 data-l10n-id="zen-webpanel-introduction-title"/>
<html:p data-l10n-id="zen-webpanel-introduction-description"/>
</vbox>
</vbox>
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-wrapper" fullscreentoolbar="true">
<toolbar mode="icons" flex="1" id="zen-sidebar-panels-sites" fullscreentoolbar="true">
</toolbar>
<toolbarbutton id="zen-sidebar-add-panel-button" class="zen-sidebar-panel-button toolbarbutton-1 chromeclass-toolbar-additional" onclick="gZenBrowserManagerSidebar._openAddPanelDialog();"/>
</toolbar>
<html:span class="zen-sidebar-web-panel-splitter" side="left"></html:span>
<html:span class="zen-sidebar-web-panel-splitter" side="right"></html:span>
<html:span class="zen-sidebar-web-panel-splitter" orient="horizontal" side="top"></html:span>
<html:span class="zen-sidebar-web-panel-splitter" orient="horizontal" side="bottom"></html:span>
</box>
</hbox>

View File

@@ -1,385 +0,0 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/* All overrides for compact mode go here */
:root[zen-compact-mode='true']:not([customizing]):not([inDOMFullscreen='true']) {
%include zen-tabs/vertical-tabs-topbuttons-fix.css
@media (-moz-bool-pref: 'zen.view.compact.hide-tabbar') or (-moz-bool-pref: 'zen.view.use-single-toolbar') {
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned='true']) {
margin-left: var(--zen-sidebar-web-panel-spacing) !important;
}
#zen-tabbox-wrapper {
/* Remove extra 1px of margine we have to add to the tabbox */
margin-left: 0 !important;
margin-right: 0 !important;
}
#zen-appcontent-wrapper {
margin-left: var(--zen-element-separation) !important;
margin-right: var(--zen-element-separation) !important;
& #tabbrowser-tabbox {
margin-left: 0 !important;
}
}
#zen-sidebar-top-buttons-customization-target {
padding-inline-start: calc(var(--zen-toolbox-padding) - var(--toolbarbutton-outer-padding)) !important;
}
#zen-sidebar-splitter {
display: none !important;
}
#navigator-toolbox {
--zen-toolbox-max-width: 64px !important;
--zen-compact-float: var(--zen-element-separation);
/* Initial padding for when we are animating */
padding: 0 0 0 var(--zen-toolbox-padding) !important;
&:not([animate='true']) {
position: absolute;
z-index: 10;
transition:
left 0.15s ease,
right 0.15s ease,
opacity 1.5s ease;
top: 0;
bottom: var(--zen-element-separation);
padding: 0 var(--zen-compact-float) !important;
opacity: 0;
:root[zen-single-toolbar='true'] & {
top: calc(var(--zen-element-separation) / 2);
height: calc(100% - var(--zen-element-separation));
}
& #zen-sidebar-top-buttons {
margin: 0 0 calc(var(--zen-toolbox-padding) / 2) 0;
}
}
&:not([zen-right-side='true']) #nav-bar {
margin-left: 0 !important;
}
}
&:not([zen-right-side='true']) #navigator-toolbox {
left: calc(-1 * var(--actual-zen-sidebar-width) + 1px);
}
/* When we have multiple toolbars and the top-toolbar is NOT being hidden,
* we need to adjust the top-padding of the toolbox to account for the
* extra toolbar height. */
@media not (-moz-bool-pref: 'zen.view.compact.hide-toolbar') {
&:not([zen-single-toolbar='true']) #navigator-toolbox:not([animate='true']) {
margin-top: var(--zen-toolbar-height) !important;
}
}
&[zen-right-side='true'] {
& #navigator-toolbox {
--zen-compact-float: calc(var(--zen-element-separation) + 1px);
&:not([animate='true']) {
right: calc(-1 * var(--actual-zen-sidebar-width) + 1px);
}
}
& .browserSidebarContainer {
margin-left: 0 !important;
margin-right: 0 !important;
}
}
#navigator-toolbox:not([animate='true']) #titlebar {
box-shadow: var(--zen-big-shadow);
border-radius: calc(var(--zen-native-inner-radius) + var(--zen-element-separation) / 4);
padding: var(--zen-toolbox-padding) !important;
position: relative;
background: var(--zen-dialog-background);
border: 1px solid var(--zen-colors-border-contrast);
/* times 4 because we have the inner padding and the outter padding to consider */
:root[zen-sidebar-expanded='true'] & {
&[has-animated-padding='true'] {
width: calc(var(--zen-sidebar-width) + var(--zen-toolbox-padding));
}
&:not([has-animated-padding='true']) {
width: calc(var(--zen-sidebar-width) - var(--zen-toolbox-padding));
}
}
:root[zen-single-toolbar='true'] {
padding-top: 0 !important;
margin-left: 0 !important;
}
@media (-moz-bool-pref: 'zen.view.compact.color-sidebar') {
background: var(--zen-main-browser-background-toolbar) !important;
background-attachment: fixed !important;
background-size: 2000px !important; /* Dont ask me why */
/* NOTE: We MUST not add a backdrop-filter if we want the URL
* bar to be floating correctly:
* https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_display/Containing_block#identifying_the_containing_block */
}
& #urlbar[open][zen-floating-urlbar='true'] {
transition: left 0.05s ease;
visibility: visible;
#navigator-toolbox:has(&) {
opacity: 1;
}
}
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url(chrome://browser/content/zen-images/grain-bg.png);
pointer-events: none;
z-index: 0;
opacity: var(--zen-grainy-background-opacity, 0);
mix-blend-mode: overlay;
}
}
#navigator-toolbox[zen-has-hover]:not(:has(#urlbar[zen-floating-urlbar='true']:hover)),
#navigator-toolbox[zen-user-show],
#navigator-toolbox[zen-has-empty-tab],
#navigator-toolbox[flash-popup],
#navigator-toolbox[has-popup-menu],
#navigator-toolbox[movingtab],
#navigator-toolbox:has(.tabbrowser-tab:active),
&[zen-renaming-tab='true'] #navigator-toolbox,
#navigator-toolbox:has(
*:is([panelopen='true'], [open='true'], #urlbar:focus-within):not(#urlbar[zen-floating-urlbar='true']):not(tab):not(.zen-compact-mode-ignore)
) {
&:not([animate='true']) {
--zen-compact-mode-func: linear(
0 0%,
0.002748 1%,
0.010544 2%,
0.022757 3%,
0.038804 4%,
0.058151 5%,
0.080308 6%,
0.104828 7.000000000000001%,
0.131301 8%,
0.159358 9%,
0.188662 10%,
0.21891 11%,
0.249828 12%,
0.281172 13%,
0.312724 14.000000000000002%,
0.344288 15%,
0.375693 16%,
0.40679 17%,
0.437447 18%,
0.467549 19%,
0.497 20%,
0.525718 21%,
0.553633 22%,
0.580688 23%,
0.60684 24%,
0.632052 25%,
0.656298 26%,
0.679562 27%,
0.701831 28.000000000000004%,
0.723104 28.999999999999996%,
0.743381 30%,
0.76267 31%,
0.780983 32%,
0.798335 33%,
0.814744 34%,
0.830233 35%,
0.844826 36%,
0.858549 37%,
0.87143 38%,
0.883498 39%,
0.894782 40%,
0.905314 41%,
0.915125 42%,
0.924247 43%,
0.93271 44%,
0.940547 45%,
0.947787 46%,
0.954463 47%,
0.960603 48%,
0.966239 49%,
0.971397 50%,
0.976106 51%,
0.980394 52%,
0.984286 53%,
0.987808 54%,
0.990984 55.00000000000001%,
0.993837 56.00000000000001%,
0.99639 56.99999999999999%,
0.998664 57.99999999999999%,
1.000679 59%,
1.002456 60%,
1.004011 61%,
1.005363 62%,
1.006528 63%,
1.007522 64%,
1.008359 65%,
1.009054 66%,
1.009618 67%,
1.010065 68%,
1.010405 69%,
1.010649 70%,
1.010808 71%,
1.01089 72%,
1.010904 73%,
1.010857 74%,
1.010757 75%,
1.010611 76%,
1.010425 77%,
1.010205 78%,
1.009955 79%,
1.009681 80%,
1.009387 81%,
1.009077 82%,
1.008754 83%,
1.008422 84%,
1.008083 85%,
1.00774 86%,
1.007396 87%,
1.007052 88%,
1.00671 89%,
1.006372 90%,
1.00604 91%,
1.005713 92%,
1.005394 93%,
1.005083 94%,
1.004782 95%,
1.004489 96%,
1.004207 97%,
1.003935 98%,
1.003674 99%,
1.003423 100%
);
transition:
left 0.25s var(--zen-compact-mode-func),
right 0.25s var(--zen-compact-mode-func);
opacity: 1;
&:not([supress-primary-adjustment='true']) {
left: calc(var(--zen-element-separation) / -2);
:root[zen-right-side='true'] & {
right: calc(var(--zen-element-separation) / -2);
left: auto;
}
}
}
}
}
@media (-moz-bool-pref: 'zen.view.compact.hide-toolbar') {
&:not([zen-single-toolbar='true']) {
& #navigator-toolbox {
top: 0;
}
& #navigator-toolbox {
--zen-toolbox-top-align: var(--zen-element-separation);
}
& #sidebar-box,
& #titlebar,
& #zen-appcontent-wrapper,
& #zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel:not([pinned='true'])) {
margin-top: var(--zen-element-separation) !important;
}
& #zen-appcontent-wrapper {
z-index: 3 !important;
}
& #zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned='true']) {
margin-top: calc(var(--zen-element-separation) * 2) !important;
}
& #zen-appcontent-navbar-container {
--zen-compact-toolbar-offset: 5px;
position: absolute;
top: calc((-1 * var(--zen-toolbar-height)) + var(--zen-element-separation) + 1px);
left: 0;
z-index: 20;
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.3) !important;
border-bottom-left-radius: var(--zen-border-radius);
border-bottom-right-radius: var(--zen-border-radius);
border-top-left-radius: env(-moz-gtk-csd-titlebar-radius);
border-top-right-radius: env(-moz-gtk-csd-titlebar-radius);
transition: all 0.15s ease;
width: 100%;
opacity: 0;
background: var(--zen-dialog-background);
max-height: var(--zen-toolbar-height);
overflow: hidden;
& > * {
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);
background-size: 100% 2000px;
border-bottom: 1px solid var(--zen-colors-border);
}
}
& #zen-appcontent-navbar-container[zen-has-hover],
& #zen-appcontent-navbar-container:focus-within,
& #zen-appcontent-navbar-container[zen-user-show],
& #zen-appcontent-navbar-container[has-popup-menu],
& #zen-appcontent-navbar-container:has(*:is([panelopen='true'], [open='true']):not(.zen-compact-mode-ignore)) {
opacity: 1;
border-top-width: 1px;
top: -1px;
overflow: initial;
max-height: unset;
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url(chrome://browser/content/zen-images/grain-bg.png);
pointer-events: none;
z-index: 0;
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

@@ -1,16 +0,0 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
panel[type='arrow'][animate][animate='open']::part(content) {
animation: zen-jello-animation 0.35s ease;
@media (-moz-platform: macos) {
animation: zen-jello-animation-alt 0.2s ease-out;
}
}
panel[type='arrow'][animate]:not([animate='open'])::part(content) {
animation: zen-jello-out-animation 0.3s ease-in-out;
}

View File

@@ -1,226 +0,0 @@
#zen-rice-share-dialog-overlay:not([hidden]) {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 3;
display: flex;
justify-content: center;
align-items: center;
}
#zen-rice-share-dialog,
#zen-rice-share-dialog-notice {
color: var(--panel-color);
background: var(--arrowpanel-background);
border-radius: var(--zen-native-inner-radius);
box-shadow: 0 0 1px 1px hsla(0, 0%, 0%, 0.2);
border: var(--zen-appcontent-border);
overflow: hidden;
animation: zen-jello-animation-large 0.4s ease;
max-width: 400px;
&[animate='true'] {
animation: zen-rice-submit-animation 1s cubic-bezier(0.77, 0, 0.18, 1);
}
& .zen-rice-share-content {
padding: 10px 0;
border-top: var(--zen-appcontent-border);
background: var(--arrowpanel-background);
position: relative;
align-items: center;
min-height: 50px;
&:has(#zen-rice-share-first-form:not([fade-out])),
&:has(#zen-rice-share-success) {
padding-top: 20px;
}
& > vbox {
width: 100%;
padding: 0 10px;
}
& #zen-rice-share-first-form input[type='text'] {
width: 100%;
padding: 1px 2px;
border: 0;
border-bottom: 1px solid var(--zen-appcontent-border);
background: transparent;
font-style: italic;
font-weight: 600;
}
& #zen-rice-share-name {
font-style: normal !important;
font-size: 24px;
margin-left: 1px;
}
& .indent {
margin-left: 30px;
}
}
& .zen-rice-share-header {
height: 200px;
margin-bottom: -20px;
}
& #zen-rice-share-options {
padding: 10px 0;
max-height: 30px;
overflow: hidden;
transition:
max-height 0.3s ease,
height 0.3s ease;
&[zen-collapsed='false'] {
max-height: 350px;
}
& > .options-header {
font-weight: 600;
margin-bottom: 5px;
position: relative;
cursor: pointer;
align-items: center;
color: inherit;
-moz-context-properties: fill, fill-opacity;
fill: var(--toolbarbutton-icon-fill);
& label {
width: fit-content;
cursor: pointer;
}
}
& > .options-header image {
transition: transform 0.3s ease;
width: 15px;
height: 15px;
}
&[zen-collapsed='false'] > .options-header image {
transform: rotate(90deg);
}
& > checkbox {
margin-left: 15px;
}
}
& .panel-footer {
margin: 0;
margin-top: 10px;
& button {
justify-content: center;
}
}
#zen-rice-share-error {
border: 1px solid rgba(255, 0, 0, 0.5);
background: rgba(255, 0, 0, 0.1);
padding: 5px;
transition: opacity 0.3s ease;
border-radius: var(--zen-native-inner-radius);
@starting-style {
opacity: 0;
}
& button {
margin-left: auto;
margin-top: 2px;
}
}
/* Animations */
#zen-rice-share-first-form[fade-out] {
position: absolute;
transform: translateX(-100%);
pointer-events: none;
animation: zen-rice-form-out 0.5s ease;
}
#zen-rice-share-second-form {
animation: zen-rice-form-in 0.5s ease forwards;
justify-content: center;
& > hbox {
width: 100%;
height: 5px;
border-radius: 100px;
border: 1px solid var(--zen-colors-border);
position: relative;
overflow: hidden;
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--zen-primary-color);
transition: width 4s cubic-bezier(1, 0, 0, 1);
@starting-style {
width: 0;
}
}
}
&[fade-out] {
position: absolute !important;
animation: zen-rice-form-out 0.5s ease forwards;
}
}
#zen-rice-share-success {
overflow-y: hidden;
max-height: 0px;
animation: zen-rice-form-in-2 0.5s ease forwards;
& > h1 {
margin: 0;
font-size: 20px;
}
& > p {
color: var(--text-color-deemphasized);
}
& label {
margin: 0;
margin-top: 15px;
font-weight: 600;
margin-bottom: 5px;
}
}
}
#zen-rice-share-dialog-notice {
padding: 15px;
& br {
margin-bottom: 10px;
}
& > p {
color: var(--text-color-deemphasized);
margin-top: 10px;
}
.panel-footer {
margin-top: 10px;
align-items: center;
}
}

View File

@@ -1,306 +0,0 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#zen-sidebar-panels-wrapper {
/*min-height: 500px;*/
display: flex;
align-items: center;
justify-content: space-between;
align-content: center;
}
#zen-sidebar-panels-sites {
background: transparent;
max-width: 1px;
display: flex;
}
#zen-sidebar-add-panel-button:not(:hover) image,
.zen-sidebar-panel-button:not([selected='true'], #zen-sidebar-add-panel-button) image {
background: transparent !important;
}
.zen-sidebar-panel-button {
width: var(--zen-sidebar-action-button-width);
height: var(--zen-sidebar-action-button-width);
max-height: var(--zen-sidebar-action-button-width);
padding: 0 3px !important;
margin: 0;
justify-content: center;
align-items: center;
cursor: pointer;
}
.zen-sidebar-panel-button image {
border-radius: 10px !important;
border: 2px solid transparent;
}
.zen-sidebar-panel-button:hover image {
background: color-mix(in srgb, var(--toolbarbutton-hover-background) 12%, transparent);
}
.zen-sidebar-panel-button[selected='true'] image {
border-color: var(--zen-primary-color);
}
/** Sidebar view */
#zen-sidebar-web-panel-wrapper {
--zen-default-sidebar-width: 300px;
--zen-sidebar-web-panel-spacing: var(--zen-element-separation);
position: relative;
margin-right: 0;
display: flex;
pointer-events: none;
transition: width 0.3s ease-in-out;
}
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[hidden='true']) {
max-width: 0;
padding: 0;
margin: 0;
display: none;
}
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned='true']) {
position: absolute;
z-index: 1;
width: calc(100% - var(--zen-sidebar-web-panel-spacing) * 3);
margin: var(--zen-sidebar-web-panel-spacing);
/* Why times 3?
* + 1 for the top margin, making the element overflow the view.
* + 1 for the margin we want to add at the bottom
* + 1 so that the panel can be correctly spaced from the border of the webview
*/
height: calc(100% - var(--zen-sidebar-web-panel-spacing) * 4);
}
#zen-sidebar-web-panel {
border-radius: var(--zen-native-inner-radius);
z-index: 2;
box-shadow: var(--zen-big-shadow);
background: var(--zen-colors-tertiary);
opacity: 0;
animation-delay: 0.1s;
flex-direction: column;
min-width: var(--zen-default-sidebar-width);
max-width: 720px;
min-height: var(--zen-default-sidebar-width);
width: calc(var(--zen-default-sidebar-width) + 200px);
pointer-events: all;
height: calc(100% - 20px);
}
#zen-sidebar-web-panel:not([pinned='true']) {
/* We need to always override the height */
height: unset !important;
}
.zen-sidebar-web-panel-splitter,
.zen-split-view-splitter[orient='vertical'],
#zen-sidebar-splitter {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: var(--zen-element-separation);
background: transparent;
border: none;
cursor: ew-resize;
z-index: 3;
&:is(.zen-split-view-splitter[orient='vertical']) {
/* Bit of a hacky solution, but it works */
width: var(--zen-split-row-gap);
margin-left: calc(var(--zen-element-separation) * -1 - 1px);
height: unset;
cursor: ew-resize;
}
&::before {
height: 50px;
width: 2px;
background: var(--button-primary-bgcolor);
border-radius: 2px;
content: '';
position: absolute;
top: 50%;
left: 50%;
opacity: 0;
transition: opacity 0.1s ease-in-out;
pointer-events: none;
}
&:hover::before {
opacity: 1;
}
}
.zen-sidebar-web-panel-splitter[side='right'] {
left: 100%;
}
.zen-sidebar-web-panel-splitter[side='left'] {
right: 100%;
}
.zen-sidebar-web-panel-splitter[orient='horizontal'] {
width: 100%;
height: 7px;
cursor: ns-resize;
&::before {
display: none;
}
}
.zen-sidebar-web-panel-splitter[side='bottom'] {
top: initial;
bottom: -2px;
}
#zen-sidebar-web-panel[hidden='true'] .zen-sidebar-web-panel-splitter,
#zen-sidebar-web-panel-wrapper[hidden='true'] + .zen-sidebar-web-panel-splitter,
#zen-sidebar-web-panel:not([pinned='true']) .zen-sidebar-web-panel-splitter[orient='horizontal'],
#zen-sidebar-web-panel:not([pinned='true']) .zen-sidebar-web-panel-splitter[side='left'] {
display: none;
margin: 0;
}
#main-window[customizing='true'] #zen-sidebar-web-panel-wrapper {
display: none !important;
}
#zen-sidebar-web-panel:not([hidden='true']) {
display: flex;
}
#zen-sidebar-web-panel[pinned='true'] {
position: absolute;
z-index: 1;
max-height: 100%;
}
#zen-sidebar-web-panel[hidden='true'][pinned='true'] {
display: flex;
pointer-events: none;
}
#zen-sidebar-web-header,
#zen-sidebar-panels-wrapper {
width: 100%;
min-height: var(--zen-toolbar-height) !important;
display: flex;
align-items: center;
padding: 0 5px;
border: var(--zen-appcontent-border);
border-width: 0 !important;
border-bottom-width: 1px !important;
background: transparent;
position: relative;
color-scheme: var(--toolbar-color-scheme);
-moz-window-dragging: no-drag;
--toolbarbutton-inner-padding: var(--zen-toolbar-button-inner-padding) !important;
}
#zen-sidebar-web-header {
justify-content: space-between;
}
#zen-sidebar-web-header toolbarbutton {
fill: color-mix(in srgb, var(--toolbarbutton-icon-fill) 70%, transparent);
}
#zen-sidebar-panels-wrapper {
border-top-width: 1px !important;
border-bottom-width: 0px !important;
}
#zen-sidebar-web-panel-browser-containers {
height: 100%;
position: relative;
}
#zen-sidebar-introduction-panel {
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin: 0 auto;
width: 70%;
}
#zen-sidebar-introduction-panel[hidden='true'] {
display: none;
}
#zen-sidebar-introduction-panel h1 {
font-size: 1.5em;
font-weight: 600;
margin: 0;
margin-bottom: 2px;
}
#zen-sidebar-introduction-panel p {
opacity: 0.7;
text-align: center;
}
#zen-sidebar-web-panel browser[zen-sidebar-id] {
height: 100%;
}
#zen-sidebar-web-panel-title {
font-size: 0.9em;
font-weight: 600;
margin: 0 10px;
padding: 0;
color: var(--text-color-deemphasized);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: -moz-available;
text-align: center;
display: block;
}
#zen-sidebar-web-panel[pinned] {
transform-origin: 50% 20%;
}
#zen-sidebar-web-panel[pinned]:not([hidden]) {
animation: better-sidebar-pinned-show 0.15s ease-in-out forwards !important;
}
#zen-sidebar-web-panel[pinned][hidden] {
animation: better-sidebar-pinned-hide 0.15s ease-in-out forwards !important;
}
/** UNPINNED **/
#zen-sidebar-web-panel {
/* Sets perspective */
transform-origin: 50% 20%;
}
#zen-sidebar-web-panel:not([hidden]) #zen-sidebar-introduction-panel * {
opacity: 0;
animation: better-sidebar-intro-show 0.5s 0.4s ease-out forwards !important;
}
#zen-sidebar-web-panel:not([hidden]) #zen-sidebar-introduction-panel p {
animation: better-sidebar-intro-show 0.5s 0.8s ease-out forwards !important;
}
#zen-sidebar-web-panel:not([hidden]) {
animation: better-sidebar-show 0.15s ease-in-out forwards !important;
}
#zen-sidebar-web-panel[hidden] {
animation: better-sidebar-hide 0.15s ease-in-out forwards !important;
}

View File

@@ -1,2 +1,2 @@
#include zen-splitview-overlay.inc.xhtml
#include zen-glance.inc.xhtml
#include ../../../zen/split-view/zen-splitview-overlay.inc.xhtml
#include ../../../zen/glance/zen-glance.inc.xhtml

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/moz.build b/browser/base/moz.build
index 636e0841786735a63ddea00e819c0b6f0b8a5d4d..6685d857180944d68bf4f049919f81361084c481 100644
index 636e0841786735a63ddea00e819c0b6f0b8a5d4d..62e4531bd19caf098fd76c69b213fa32d62546a6 100644
--- a/browser/base/moz.build
+++ b/browser/base/moz.build
@@ -87,3 +87,5 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] in ("windows", "gtk"):
@@ -7,4 +7,4 @@ index 636e0841786735a63ddea00e819c0b6f0b8a5d4d..6685d857180944d68bf4f049919f8136
JAR_MANIFESTS += ["jar.mn"]
+
+DIRS += ["zen-components"]
+DIRS += ["../../zen"]

View File

@@ -1,495 +0,0 @@
class ZenMediaController {
_currentMediaController = null;
_currentBrowser = null;
_mediaUpdateInterval = null;
mediaTitle = null;
mediaArtist = null;
mediaControlBar = null;
mediaProgressBar = null;
mediaCurrentTime = null;
mediaDuration = null;
mediaFocusButton = null;
mediaProgressBarContainer = null;
supportedKeys = ['playpause', 'previoustrack', 'nexttrack'];
pipEligibilityMap = new Map();
mediaControllersMap = new Map();
_tabTimeout = null;
_controllerSwitchTimeout = null;
init() {
if (!Services.prefs.getBoolPref('zen.mediacontrols.enabled', true)) return;
this.mediaTitle = document.querySelector('#zen-media-title');
this.mediaArtist = document.querySelector('#zen-media-artist');
this.mediaControlBar = document.querySelector('#zen-media-controls-toolbar');
this.mediaProgressBar = document.querySelector('#zen-media-progress-bar');
this.mediaCurrentTime = document.querySelector('#zen-media-current-time');
this.mediaDuration = document.querySelector('#zen-media-duration');
this.mediaFocusButton = document.querySelector('#zen-media-focus-button');
this.mediaProgressBarContainer = document.querySelector('#zen-media-progress-hbox');
this.onPositionstateChange = this._onPositionstateChange.bind(this);
this.onPlaybackstateChange = this._onPlaybackstateChange.bind(this);
this.onSupportedKeysChange = this._onSupportedKeysChange.bind(this);
this.onMetadataChange = this._onMetadataChange.bind(this);
this.onDeactivated = this._onDeactivated.bind(this);
this.onPipModeChange = this._onPictureInPictureModeChange.bind(this);
window.addEventListener('TabSelect', (event) => {
const linkedBrowser = event.target.linkedBrowser;
this.switchController();
if (this._currentBrowser) {
if (linkedBrowser.browserId === this._currentBrowser.browserId) {
if (this._tabTimeout) {
clearTimeout(this._tabTimeout);
this._tabTimeout = null;
}
this.hideMediaControls();
} else {
this._tabTimeout = setTimeout(() => {
if (!this.mediaControlBar.hasAttribute('pip')) this.showMediaControls();
else this._tabTimeout = null;
}, 500);
}
}
});
const onTabDiscardedOrClosed = this.onTabDiscardedOrClosed.bind(this);
window.addEventListener('TabClose', onTabDiscardedOrClosed);
window.addEventListener('DOMAudioPlaybackStarted', (event) => {
setTimeout(() => {
if (
this._currentMediaController?.isPlaying &&
this.mediaControlBar.hasAttribute('hidden') &&
!this.mediaControlBar.hasAttribute('pip')
) {
const { selectedBrowser } = gBrowser;
if (selectedBrowser.browserId !== this._currentBrowser.browserId) {
this.showMediaControls();
}
}
}, 1000);
this.activateMediaControls(event.target.browsingContext.mediaController, event.target);
});
window.addEventListener('DOMAudioPlaybackStopped', () => this.updateMuteState());
}
onTabDiscardedOrClosed(event) {
const linkedBrowser = event.target.linkedBrowser;
if (!linkedBrowser?.browsingContext?.mediaController) return;
this.deinitMediaController(
linkedBrowser.browsingContext.mediaController,
true,
linkedBrowser.browserId === this._currentBrowser?.browserId,
true
);
}
async deinitMediaController(mediaController, shouldForget = true, shouldOverride = true, shouldHide = true) {
if (!mediaController) return;
const retrievedMediaController = this.mediaControllersMap.get(mediaController.id);
if (shouldForget) {
mediaController.removeEventListener('pictureinpicturemodechange', this.onPipModeChange);
mediaController.removeEventListener('positionstatechange', this.onPositionstateChange);
mediaController.removeEventListener('playbackstatechange', this.onPlaybackstateChange);
mediaController.removeEventListener('supportedkeyschange', this.onSupportedKeysChange);
mediaController.removeEventListener('metadatachange', this.onMetadataChange);
mediaController.removeEventListener('deactivated', this.onDeactivated);
this.mediaControllersMap.delete(mediaController.id);
this.pipEligibilityMap.delete(retrievedMediaController?.browser?.browserId);
}
if (shouldOverride) {
this._currentMediaController = null;
this._currentBrowser = null;
if (this._mediaUpdateInterval) {
clearInterval(this._mediaUpdateInterval);
this._mediaUpdateInterval = null;
}
if (shouldHide) await this.hideMediaControls();
this.mediaControlBar.removeAttribute('muted');
this.mediaControlBar.classList.remove('playing');
}
}
hideMediaControls() {
if (this.mediaControlBar.hasAttribute('hidden')) return;
return gZenUIManager.motion
.animate(
this.mediaControlBar,
{
opacity: [1, 0],
y: [0, 10],
},
{
duration: 0.1,
}
)
.then(() => {
this.mediaControlBar.setAttribute('hidden', 'true');
gZenUIManager.updateTabsToolbar();
gZenUIManager.restoreScrollbarState();
});
}
showMediaControls() {
if (this._currentMediaController.isBeingUsedInPIPModeOrFullscreen) return this.hideMediaControls();
if (!this.mediaControlBar.hasAttribute('hidden')) return;
this.updatePipButton();
const mediaInfoElements = [this.mediaTitle, this.mediaArtist];
for (const element of mediaInfoElements) {
element.removeAttribute('overflow'); // So we can properly recalculate the overflow
}
this.mediaControlBar.removeAttribute('hidden');
window.requestAnimationFrame(() => {
this.mediaControlBar.style.height =
this.mediaControlBar.querySelector('toolbaritem').getBoundingClientRect().height + 'px';
this.mediaControlBar.style.opacity = 0;
gZenUIManager.updateTabsToolbar();
gZenUIManager.restoreScrollbarState();
gZenUIManager.motion.animate(
this.mediaControlBar,
{
opacity: [0, 1],
y: [10, 0],
},
{}
);
this.addLabelOverflows(mediaInfoElements);
});
}
addLabelOverflows(elements) {
for (const element of elements) {
const parent = element.parentElement;
if (element.scrollWidth > parent.clientWidth) {
element.setAttribute('overflow', '');
} else {
element.removeAttribute('overflow');
}
}
}
setupMediaController(mediaController, browser) {
this._currentMediaController = mediaController;
this._currentBrowser = browser;
this.updatePipButton();
const positionState = mediaController.getPositionState();
this.mediaControllersMap.set(mediaController.id, {
controller: mediaController,
browser,
position: positionState.position,
duration: positionState.duration,
lastUpdated: Date.now(),
});
}
setupMediaControlUI(metadata, positionState) {
this.updatePipButton();
if (!this.mediaControlBar.classList.contains('playing') && this._currentMediaController.isPlaying) {
this.mediaControlBar.classList.add('playing');
}
const iconURL = this._currentBrowser.mIconURL || `page-icon:${this._currentBrowser.currentURI.spec}`;
this.mediaFocusButton.style.listStyleImage = `url(${iconURL})`;
this.mediaTitle.textContent = metadata.title || '';
this.mediaArtist.textContent = metadata.artist || '';
gZenUIManager.updateTabsToolbar();
gZenUIManager.restoreScrollbarState();
this._currentPosition = positionState.position;
this._currentDuration = positionState.duration;
this._currentPlaybackRate = positionState.playbackRate;
this.updateMediaPosition();
for (const key of this.supportedKeys) {
const button = this.mediaControlBar.querySelector(`#zen-media-${key}-button`);
button.disabled = !this._currentMediaController.supportedKeys.includes(key);
}
}
activateMediaControls(mediaController, browser) {
this.updateMuteState();
this.switchController();
if (!mediaController.isActive || this._currentBrowser?.browserId === browser.browserId) return;
const metadata = mediaController.getMetadata();
const positionState = mediaController.getPositionState();
this.mediaControllersMap.set(mediaController.id, {
controller: mediaController,
browser,
position: positionState.position,
duration: positionState.duration,
lastUpdated: Date.now(),
});
if (!this._currentBrowser) {
this.setupMediaController(mediaController, browser);
this.setupMediaControlUI(metadata, positionState);
}
mediaController.addEventListener('pictureinpicturemodechange', this.onPipModeChange);
mediaController.addEventListener('positionstatechange', this.onPositionstateChange);
mediaController.addEventListener('playbackstatechange', this.onPlaybackstateChange);
mediaController.addEventListener('supportedkeyschange', this.onSupportedKeysChange);
mediaController.addEventListener('metadatachange', this.onMetadataChange);
mediaController.addEventListener('deactivated', this.onDeactivated);
}
updatePipEligibility(browser, isEligible) {
this.pipEligibilityMap.set(browser.browserId, isEligible);
}
_onDeactivated(event) {
this.deinitMediaController(event.target, true, event.target.id === this._currentMediaController.id, true);
this.switchController();
}
_onPlaybackstateChange() {
if (this._currentMediaController?.isPlaying) {
this.mediaControlBar.classList.add('playing');
} else {
this.switchController();
this.mediaControlBar.classList.remove('playing');
}
}
_onSupportedKeysChange(event) {
if (event.target.id !== this._currentMediaController?.id) return;
for (const key of this.supportedKeys) {
const button = this.mediaControlBar.querySelector(`#zen-media-${key}-button`);
button.disabled = !event.target.supportedKeys.includes(key);
}
}
_onPositionstateChange(event) {
const mediaController = this.mediaControllersMap.get(event.target.id);
this.mediaControllersMap.set(event.target.id, {
...mediaController,
position: event.position,
duration: event.duration,
lastUpdated: Date.now(),
});
if (event.target.id !== this._currentMediaController?.id) return;
this._currentPosition = event.position;
this._currentDuration = event.duration;
this._currentPlaybackRate = event.playbackRate;
this.updateMediaPosition();
}
switchController(force = false) {
let timeout = 3000;
if (this._controllerSwitchTimeout) {
clearTimeout(this._controllerSwitchTimeout);
this._controllerSwitchTimeout = null;
}
if (this.mediaControllersMap.size === 1) timeout = 0;
this._controllerSwitchTimeout = setTimeout(() => {
if (!this._currentMediaController?.isPlaying || force) {
const nextController = Array.from(this.mediaControllersMap.values())
.filter(
(ctrl) =>
ctrl.controller.isPlaying &&
gBrowser.selectedBrowser.browserId !== ctrl.browser.browserId &&
ctrl.controller.id !== this._currentMediaController?.id
)
.sort((a, b) => b.lastUpdated - a.lastUpdated)
.shift();
if (nextController) {
this.deinitMediaController(this._currentMediaController, false, true).then(() => {
this.setupMediaController(nextController.controller, nextController.browser);
const elapsedTime = Math.floor((Date.now() - nextController.lastUpdated) / 1000);
this.setupMediaControlUI(nextController.controller.getMetadata(), {
position: nextController.position + (nextController.controller.isPlaying ? elapsedTime : 0),
duration: nextController.duration,
});
this.showMediaControls();
});
}
}
this._controllerSwitchTimeout = null;
}, timeout);
}
updateMediaPosition() {
if (this._mediaUpdateInterval) {
clearInterval(this._mediaUpdateInterval);
this._mediaUpdateInterval = null;
}
if (this._currentDuration >= 900_000) return this.mediaControlBar.setAttribute('media-position-hidden', 'true');
else this.mediaControlBar.removeAttribute('media-position-hidden');
if (!this._currentDuration) return;
this.mediaCurrentTime.textContent = this.formatSecondsToTime(this._currentPosition);
this.mediaDuration.textContent = this.formatSecondsToTime(this._currentDuration);
this.mediaProgressBar.value = (this._currentPosition / this._currentDuration) * 100;
this._mediaUpdateInterval = setInterval(() => {
if (this._currentMediaController?.isPlaying) {
this._currentPosition += 1 * this._currentPlaybackRate;
if (this._currentPosition > this._currentDuration) {
this._currentPosition = this._currentDuration;
}
this.mediaCurrentTime.textContent = this.formatSecondsToTime(this._currentPosition);
this.mediaProgressBar.value = (this._currentPosition / this._currentDuration) * 100;
} else {
clearInterval(this._mediaUpdateInterval);
this._mediaUpdateInterval = null;
}
}, 1000);
}
formatSecondsToTime(seconds) {
if (!seconds || isNaN(seconds)) return '0:00';
const totalSeconds = Math.max(0, Math.ceil(seconds));
const hours = Math.floor(totalSeconds / 3600);
const minutes = Math.floor((totalSeconds % 3600) / 60).toString();
const secs = (totalSeconds % 60).toString();
if (hours > 0) {
return `${hours}:${minutes.padStart(2, '0')}:${secs.padStart(2, '0')}`;
}
return `${minutes}:${secs.padStart(2, '0')}`;
}
_onMetadataChange(event) {
if (event.target.id !== this._currentMediaController?.id) return;
this.updatePipButton();
const metadata = event.target.getMetadata();
this.mediaTitle.textContent = metadata.title || '';
this.mediaArtist.textContent = metadata.artist || '';
}
_onPictureInPictureModeChange(event) {
if (event.target.id !== this._currentMediaController?.id) return;
if (event.target.isBeingUsedInPIPModeOrFullscreen) {
this.hideMediaControls();
this.mediaControlBar.setAttribute('pip', '');
} else {
const { selectedBrowser } = gBrowser;
if (selectedBrowser.browserId !== this._currentBrowser.browserId) {
this.showMediaControls();
}
this.mediaControlBar.removeAttribute('pip');
}
}
onMediaPlayPrev() {
if (this._currentMediaController?.supportedKeys.includes('previoustrack')) {
this._currentMediaController.prevTrack();
}
}
onMediaPlayNext() {
if (this._currentMediaController?.supportedKeys.includes('nexttrack')) {
this._currentMediaController.nextTrack();
}
}
onMediaSeekDrag(event) {
this._currentMediaController?.pause();
const newTime = (event.target.value / 100) * this._currentDuration;
this.mediaCurrentTime.textContent = this.formatSecondsToTime(newTime);
}
onMediaSeekComplete(event) {
const newPosition = (event.target.value / 100) * this._currentDuration;
if (this._currentMediaController?.supportedKeys.includes('seekto')) {
this._currentMediaController.seekTo(newPosition);
this._currentMediaController.play();
}
}
onMediaFocus() {
if (!this._currentBrowser) return;
const sidebarId = this._currentBrowser.getAttribute('zen-sidebar-id');
if (sidebarId) gZenBrowserManagerSidebar.open(sidebarId);
else this._currentMediaController?.focus();
}
onMediaMute() {
if (!this.mediaControlBar.hasAttribute('muted')) {
this._currentBrowser.mute();
this.mediaControlBar.setAttribute('muted', '');
} else {
this._currentBrowser.unmute();
this.mediaControlBar.removeAttribute('muted');
}
}
onMediaToggle() {
if (this.mediaControlBar.classList.contains('playing')) {
this._currentMediaController?.pause();
} else {
this._currentMediaController?.play();
}
}
onControllerClose() {
this._currentMediaController?.pause();
this.switchController(true);
this.deinitMediaController(this._currentMediaController);
}
onMediaPip() {
this._currentBrowser.browsingContext.currentWindowGlobal
.getActor('PictureInPictureLauncher')
.sendAsyncMessage('PictureInPicture:KeyToggle');
}
updateMuteState() {
if (!this._currentBrowser) return;
if (this._currentBrowser._audioMuted) {
this.mediaControlBar.setAttribute('muted', '');
} else {
this.mediaControlBar.removeAttribute('muted');
}
}
updatePipButton() {
const isPipEligible = this.pipEligibilityMap.get(this._currentBrowser.browserId);
if (isPipEligible) this.mediaControlBar.setAttribute('can-pip', '');
else this.mediaControlBar.removeAttribute('can-pip');
}
}
window.gZenMediaController = new ZenMediaController();

View File

@@ -1,428 +0,0 @@
{
const ZEN_RICE_API = Services.prefs.getStringPref('zen.rice.api.url', '');
class ZenRiceCollector {
constructor() {}
clear() {
this._userChrome = null;
this._userContent = null;
this._enabledMods = null;
this._preferences = null;
this._workspaceThemes = null;
}
async gatherAll({
userUserChrome = true,
userContent = true,
enabledMods = true,
preferences = true,
modPrefs = true,
workspaceThemes = true,
} = {}) {
this.clear();
// Get the mods first, as they may be needed for the preferences
if (enabledMods) {
await this.gatherEnabledMods();
}
await Promise.all([
userUserChrome && this.gatherUserChrome(),
userContent && this.gatherUserContent(),
preferences && this.gatherPreferences({ modPrefs }),
workspaceThemes && this.gatherWorkspaceThemes(),
]);
}
get profileDir() {
return PathUtils.profileDir;
}
async gatherUserChrome() {
try {
const path = PathUtils.join(this.profileDir, 'chrome', 'userChrome.css');
this._userChrome = await IOUtils.readUTF8(path);
} catch (e) {
console.warn('[ZenRiceCollector]: Error reading userChrome.css: ', e);
return null;
}
}
async gatherUserContent() {
try {
const path = PathUtils.join(this.profileDir, 'chrome', 'userContent.css');
this._userContent = await IOUtils.readUTF8(path);
} catch (e) {
console.warn('[ZenRiceCollector]: Error reading userContent.css: ', e);
return null;
}
}
async gatherEnabledMods() {
const activeThemes = await gZenThemesImporter.getEnabledThemes();
if (activeThemes.length === 0) {
return;
}
this._enabledMods = activeThemes;
}
_getThemePrefValue(theme, pref) {
if (pref.type === 'checkbox') {
return Services.prefs.getBoolPref(pref.property);
}
return Services.prefs.getStringPref(pref.property);
}
async gatherPreferences({ modPrefs = true } = {}) {
this._preferences = {};
if (modPrefs && this._enabledMods) {
for (const theme of this._enabledMods) {
const prefs = await ZenThemesCommon.getThemePreferences(theme);
for (const pref of prefs) {
this._preferences[pref.property] = this._getThemePrefValue(theme, pref);
}
}
}
const boolPrefsToCollect = [
'zen.view.use-single-toolbar',
'zen.view.sidebar-expanded',
'zen.tabs.vertical.right-side',
'zen.view.experimental-no-window-controls',
'zen.view.hide-window-controls',
...(gZenOperatingSystemCommonUtils.currentOperatingSystem === 'windows' ? ['widget.windows.mica'] : []),
...(gZenOperatingSystemCommonUtils.currentOperatingSystem === 'macos'
? ['widget.macos.titlebar-blend-mode.behind-window']
: []),
];
const stringPrefsToCollect = ['browser.uiCustomization.state'];
for (const pref of boolPrefsToCollect) {
this._preferences[pref] = Services.prefs.getBoolPref(pref);
}
for (const pref of stringPrefsToCollect) {
this._preferences[pref] = Services.prefs.getStringPref(pref);
}
}
async gatherWorkspaceThemes() {
const workspaces = (await ZenWorkspaces._workspaces()).workspaces;
this._workspaceThemes = workspaces.map((w) => w.theme);
}
async packRice(...args) {
await this.gatherAll(...args);
const rice = {
userChrome: this._userChrome,
userContent: this._userContent,
enabledMods: this._enabledMods?.map((t) => t.id),
preferences: this._preferences,
workspaceThemes: this._workspaceThemes,
};
return rice;
}
}
class ZenRiceManager {
constructor() {
this._collector = new ZenRiceCollector();
}
init() {}
get conffettiWrapper() {
if (!this.confetti) {
Services.scriptloader.loadSubScript('chrome://browser/content/zen-vendor/tsparticles.confetti.bundle.min.js', this);
}
return this.confetti;
}
async packRice() {
return await this._collector.packRice();
}
get shareDialog() {
if (this._shareDialog) {
return this._shareDialog;
}
this._shareDialog = window.MozXULElement.parseXULToFragment(`
<vbox id="zen-rice-share-dialog-overlay" hidden="true">
<vbox id="zen-rice-share-dialog-notice">
<h1 data-l10n-id="zen-rice-share-notice" />
<p data-l10n-id="zen-rice-share-notice-description" />
<html:moz-button-group class="panel-footer">
<html:a href="https://docs.zen-browser.app/guides/" target="_blank" data-l10n-id="zen-learn-more-text" onclick="gZenThemePicker.riceManager.openLink(event)" />
<button onclick="gZenThemePicker.riceManager.acceptNotice()" class="footer-button" data-l10n-id="zen-rice-share-accept" slot="primary" default="true" />
</html:moz-button-group>
</vbox>
<vbox id="zen-rice-share-dialog" hidden="true">
<html:img src="chrome://browser/content/zen-images/brand-header.svg" class="zen-rice-share-header" />
<hbox class="zen-rice-share-content">
<vbox id="zen-rice-share-first-form">
<html:input type="text" data-l10n-id="zen-rice-share-name" id="zen-rice-share-name" oninput="gZenThemePicker.riceManager.validateShareDialog()" />
<hbox class="zen-rice-share-author">
<label data-l10n-id="zen-rice-share-author" />
<html:input type="text" data-l10n-id="zen-rice-share-author-input" id="zen-rice-share-author" oninput="gZenThemePicker.riceManager.validateShareDialog();" />
</hbox>
<vbox zen-collapsed="true" id="zen-rice-share-options" onclick="gZenThemePicker.riceManager.toggleOptions(event)">
<hbox class="options-header">
<label data-l10n-id="zen-rice-share-include" />
<image></image>
</hbox>
<checkbox data-l10n-id="zen-rice-share-include-userchrome" id="zen-rice-share-include-userchrome" />
<checkbox data-l10n-id="zen-rice-share-include-usercontent" id="zen-rice-share-include-usercontent" />
<checkbox data-l10n-id="zen-rice-share-include-mods" id="zen-rice-share-include-mods" />
<vbox class="indent">
<checkbox data-l10n-id="zen-rice-share-include-mod-prefs" id="zen-rice-share-include-mod-prefs" />
</vbox>
<checkbox data-l10n-id="zen-rice-share-include-preferences" id="zen-rice-share-include-preferences" />
<checkbox data-l10n-id="zen-rice-share-include-workspace-themes" id="zen-rice-share-include-workspace-themes" />
</vbox>
<html:moz-button-group class="panel-footer">
<button onclick="gZenThemePicker.riceManager.cancel()" class="footer-button" data-l10n-id="zen-general-cancel" />
<button onclick="gZenThemePicker.riceManager.submit()" class="footer-button" data-l10n-id="zen-rice-share-save" default="true" slot="primary" id="zen-rice-share-save" disabled="true" />
</html:moz-button-group>
</vbox>
<vbox id="zen-rice-share-second-form" hidden="true">
<hbox></hbox>
<vbox id="zen-rice-share-error" hidden="true">
<label data-l10n-id="zen-rice-share-error" />
<button onclick="gZenThemePicker.riceManager.resetShareDialog()" data-l10n-id="zen-close-label" class="footer-button" />
</vbox>
</vbox>
<vbox id="zen-rice-share-success" hidden="true">
<h1 data-l10n-id="zen-rice-share-success" />
<p data-l10n-id="zen-rice-share-succes-details" />
<label data-l10n-id="zen-rice-share-success-link" />
<html:input type="text" readonly="true" id="zen-rice-share-success-link" onclick="this.select()" />
<html:moz-button-group class="panel-footer">
<button onclick="gZenThemePicker.riceManager.resetShareDialog()" data-l10n-id="zen-close-label" class="footer-button" slot="primary" default="true" />
</html:moz-button-group>
</vbox>
</hbox>
</vbox>
</vbox>
`);
document.getElementById('zen-main-app-wrapper').appendChild(this._shareDialog);
this._shareDialog = document.getElementById('zen-rice-share-dialog-overlay');
return this._shareDialog;
}
get hasAcceptedNotice() {
return Services.prefs.getBoolPref('zen.rice.share.notice.accepted', false);
}
set hasAcceptedNotice(value) {
Services.prefs.setBoolPref('zen.rice.share.notice.accepted', value);
}
openLink(event) {
event.stopPropagation();
this.cancel();
gZenUIManager.openAndChangeToTab('https://docs.zen-browser.app/guides/');
}
acceptNotice() {
this.hasAcceptedNotice = true;
const notice = document.getElementById('zen-rice-share-dialog-notice');
notice.setAttribute('hidden', 'true');
this.openShareDialog();
}
toggleOptions(event) {
if (event.originalTarget.closest('.options-header')) {
const options = document.getElementById('zen-rice-share-options');
options.setAttribute('zen-collapsed', options.getAttribute('zen-collapsed') === 'true' ? 'false' : 'true');
}
this.validateShareDialog();
}
openShareDialog() {
window.docShell.treeOwner.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIAppWindow).rollupAllPopups();
const dialog = this.shareDialog;
dialog.removeAttribute('hidden');
if (!this.hasAcceptedNotice) {
const notice = document.getElementById('zen-rice-share-dialog-notice');
notice.removeAttribute('hidden');
return;
}
document.getElementById('zen-rice-share-dialog').removeAttribute('hidden');
document.getElementById('zen-rice-share-dialog-notice').setAttribute('hidden', 'true');
document.getElementById('zen-rice-share-name').focus();
// Initialize the dialog with the current values
this.validateShareDialog();
}
resetShareDialog() {
const dialog = this.shareDialog;
dialog.setAttribute('hidden', 'true');
document.getElementById('zen-rice-share-dialog').removeAttribute('animate');
document.getElementById('zen-rice-share-name').value = '';
document.getElementById('zen-rice-share-author').value = '';
document.getElementById('zen-rice-share-save').disabled = true;
document.getElementById('zen-rice-share-first-form').removeAttribute('fade-out');
document.getElementById('zen-rice-share-second-form').setAttribute('hidden', 'true');
document.getElementById('zen-rice-share-second-form').removeAttribute('fade-out');
document.getElementById('zen-rice-share-error').setAttribute('hidden', 'true');
document.getElementById('zen-rice-share-success').setAttribute('hidden', 'true');
document.getElementById('zen-rice-share-options').setAttribute('zen-collapsed', 'true');
// Remove confetti module from memory
this.confetti = null;
}
cancel() {
this.resetShareDialog();
}
getAllowedRice() {
return {
userChrome: document.getElementById('zen-rice-share-include-userchrome').checked,
userContent: document.getElementById('zen-rice-share-include-usercontent').checked,
mods: document.getElementById('zen-rice-share-include-mods').checked,
modPrefs: document.getElementById('zen-rice-share-include-mod-prefs').checked,
preferences: document.getElementById('zen-rice-share-include-preferences').checked,
workspaceThemes: document.getElementById('zen-rice-share-include-workspace-themes').checked,
};
}
get userAgent() {
return `ZenBrowser/${Services.appinfo.version} (${gZenOperatingSystemCommonUtils.currentOperatingSystem})`;
}
canShareRice() {
const allowedRice = this.getAllowedRice();
const modsPrefs = document.getElementById('zen-rice-share-include-mod-prefs');
// remove "share mod prefs" if mods are not included
if (!allowedRice.mods) {
allowedRice.modPrefs = false;
modsPrefs.disabled = true;
}
modsPrefs.disabled = !allowedRice.mods;
return Object.values(allowedRice).some((v) => v);
}
validateShareDialog() {
const saveButton = document.getElementById('zen-rice-share-save');
const authorInput = document.getElementById('zen-rice-share-author');
const input = document.getElementById('zen-rice-share-name');
saveButton.disabled =
!this.canShareRice() ||
input.value.trim().length < 3 ||
input.value.trim().length > 30 ||
authorInput.value.trim().length < 3 ||
authorInput.value.trim().length > 15;
}
async submit() {
const firstForm = document.getElementById('zen-rice-share-first-form');
const secondForm = document.getElementById('zen-rice-share-second-form');
firstForm.setAttribute('fade-out', 'true');
secondForm.removeAttribute('hidden');
await this._submit();
}
async _submit() {
const allowedRice = this.getAllowedRice();
const rice = await this._collector.packRice(allowedRice);
const name = document.getElementById('zen-rice-share-name').value;
const author = document.getElementById('zen-rice-share-author').value;
const response = await this._sendRice({ name, author, rice });
if (response) {
this.showSuccessDialog(response);
}
}
async _sendRice({ name, author, rice }) {
const headers = new Headers();
headers.append('X-Zen-Rice-Name', name);
headers.append('X-Zen-Rice-Author', author);
headers.append('User-Agent', this.userAgent);
headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');
let response;
try {
response = await fetch(`${ZEN_RICE_API}/rices`, {
method: 'POST',
headers,
body: JSON.stringify(rice),
});
} catch (e) {
this.showErrorMessage('An error occurred while sharing your rice. Please try again later.');
console.error(e);
return null;
}
// Here, response will never be a null object
return await this._verifyResponse(response);
}
async _verifyResponse(response) {
const json = await response.json();
if (!response.ok) {
const message = json.message || 'An error occurred while sharing your rice.';
this.showErrorMessage(message);
console.error(json);
return null;
}
return json;
}
showErrorMessage(message) {
const errorBox = document.getElementById('zen-rice-share-error');
errorBox.removeAttribute('hidden');
errorBox.querySelector('label').textContent = message;
}
showSuccessDialog(riceInfo) {
const { slug, token } = riceInfo;
// 'token' is like some sort of password to edit the rice, do NOT expose it
setTimeout(() => {
document.getElementById('zen-rice-share-dialog').setAttribute('animate', 'true');
const successBox = document.getElementById('zen-rice-share-success');
document.getElementById('zen-rice-share-second-form').setAttribute('fade-out', 'true');
successBox.removeAttribute('hidden');
const link = document.getElementById('zen-rice-share-success-link');
link.value = `${ZEN_RICE_API}/rices/${slug}`;
this.showConffetti();
}, 2000);
}
showConffetti() {
const end = Date.now() + 2500;
function frame() {
this.conffettiWrapper({
angle: 135,
spread: 55,
particleCount: 5,
startVelocity: 55,
origin: { y: 0.6 },
});
this.conffettiWrapper({
angle: 45,
spread: 55,
particleCount: 5,
startVelocity: 55,
origin: { y: 0.6 },
});
this.conffettiWrapper({
angle: 90,
spread: 55,
particleCount: 5,
startVelocity: 55,
origin: { y: 0.6 },
});
if (Date.now() < end) {
requestAnimationFrame(frame.bind(this));
}
}
frame.call(this);
}
openRicePage({ name, id, author }) {
console.log('Opening rice page: ', name, id, author);
gBrowser.removeTab(gBrowser.selectedTab);
}
}
window.ZenRiceManager = ZenRiceManager;
}

View File

@@ -1,795 +0,0 @@
class ZenBrowserManagerSidebar extends ZenDOMOperatedFeature {
_sidebarElement = null;
_currentPanel = null;
_lastOpenedPanel = null;
_hasChangedConfig = true;
_splitterElement = null;
_hSplitterElement = null;
_hasRegisteredPinnedClickOutside = false;
_isDragging = false;
contextTab = null;
sidebar = null;
forwardButton = null;
backButton = null;
progressListener = null;
_tabBrowserSet = new WeakMap();
tabBox;
DEFAULT_MOBILE_USER_AGENT = `Mozilla/5.0 (Android 12; Mobile; rv:129.0) Gecko/20100101 Firefox/${AppConstants.ZEN_FIREFOX_VERSION}`;
MAX_SIDEBAR_PANELS = Services.prefs.getIntPref('zen.sidebar.max-webpanels');
init() {
ChromeUtils.defineLazyGetter(this, 'sidebar', () => document.getElementById('zen-sidebar-web-panel'));
ChromeUtils.defineLazyGetter(this, 'forwardButton', () => document.getElementById('zen-sidebar-web-panel-forward'));
ChromeUtils.defineLazyGetter(this, 'backButton', () => document.getElementById('zen-sidebar-web-panel-back'));
ChromeUtils.defineLazyGetter(this, 'tabBox', () => document.getElementById('tabbrowser-tabbox'));
this.onlySafeWidthAndHeight();
this.initProgressListener();
this.close(); // avoid caching
this.tabBox.prepend(this.sidebarWrapper);
this.listenForPrefChanges();
this.insertIntoContextMenu();
this.addPositioningListeners();
this.syncPinnedState();
}
onlySafeWidthAndHeight() {
const panel = this.sidebar;
const width = panel.style.width;
const height = panel.style.height;
panel.setAttribute('style', '');
panel.style.width = width;
panel.style.height = height;
}
initProgressListener() {
this.progressListener = {
QueryInterface: ChromeUtils.generateQI(['nsIWebProgressListener', 'nsISupportsWeakReference']),
onLocationChange: function (aWebProgress, aRequest, aLocation, aFlags) {
const browser = this._getCurrentBrowser();
if (!browser) return;
const forwardDisabled = this.forwardButton.hasAttribute('disabled');
const backDisabled = this.backButton.hasAttribute('disabled');
if (browser.canGoForward === forwardDisabled) {
if (browser.canGoForward) {
this.forwardButton.removeAttribute('disabled');
} else {
this.forwardButton.setAttribute('disabled', true);
}
}
if (browser.canGoBack === backDisabled) {
if (browser.canGoBack) {
this.backButton.removeAttribute('disabled');
} else {
this.backButton.setAttribute('disabled', true);
}
}
}.bind(gZenBrowserManagerSidebar),
};
}
get sidebarData() {
let services = Services.prefs.getStringPref('zen.sidebar.data');
if (services === '') {
return {};
}
return JSON.parse(services);
}
get shouldCloseOnBlur() {
return Services.prefs.getBoolPref('zen.sidebar.close-on-blur');
}
listenForPrefChanges() {
Services.prefs.addObserver('zen.sidebar.data', this.handleEvent.bind(this));
Services.prefs.addObserver('zen.sidebar.enabled', this.handleEvent.bind(this));
this.handleEvent();
}
addPositioningListeners() {
this.sidebar
.querySelectorAll('.zen-sidebar-web-panel-splitter')
.forEach((s) => s.addEventListener('mousedown', this.handleSplitterMouseDown.bind(this)));
this.sidebarHeader.addEventListener('mousedown', this.handleDragPanel.bind(this));
window.addEventListener('resize', this.onWindowResize.bind(this));
}
syncPinnedState() {
const sidebar = document.getElementById('zen-sidebar-web-panel');
const pinButton = document.getElementById('zen-sidebar-web-panel-pinned');
if (sidebar.hasAttribute('pinned')) {
pinButton.setAttribute('pinned', 'true');
} else {
pinButton.removeAttribute('pinned');
}
}
handleSplitterMouseDown(mouseDownEvent) {
if (this._isDragging) return;
this._isDragging = true;
const isHorizontal = mouseDownEvent.target.getAttribute('orient') === 'horizontal';
setCursor(isHorizontal ? 'ns-resize' : 'ew-resize');
const reverse = ['left', 'top'].includes(mouseDownEvent.target.getAttribute('side'));
const direction = isHorizontal ? 'height' : 'width';
const axis = isHorizontal ? 'Y' : 'X';
const computedStyle = window.getComputedStyle(this.sidebar);
const maxSize = parseInt(computedStyle.getPropertyValue(`max-${direction}`).match(/(\d+)px/)?.[1]) || Infinity;
const minSize = parseInt(computedStyle.getPropertyValue(`min-${direction}`).match(/(\d+)px/)?.[1]) || 0;
const sidebarSizeStart = this.sidebar.getBoundingClientRect()[direction];
const startPos = mouseDownEvent[`screen${axis}`];
const toAdjust = isHorizontal ? 'top' : 'left';
const sidebarPosStart = parseInt(this.sidebar.style[toAdjust].match(/\d+/));
let mouseMove = function (e) {
let mouseMoved = e[`screen${axis}`] - startPos;
if (reverse) {
mouseMoved *= -1;
}
let newSize = sidebarSizeStart + mouseMoved;
let currentMax = maxSize;
const wrapperBox = this.sidebarWrapper.getBoundingClientRect();
let maxWrapperSize = Infinity;
if (this.isFloating) {
maxWrapperSize = reverse ? sidebarPosStart + sidebarSizeStart : wrapperBox[direction] - sidebarPosStart;
}
newSize = Math.max(minSize, Math.min(currentMax, maxWrapperSize, newSize));
window.requestAnimationFrame(() => {
if (reverse) {
const actualMoved = newSize - sidebarSizeStart;
this.sidebar.style[toAdjust] = sidebarPosStart - actualMoved + 'px';
}
this.sidebar.style[direction] = `${newSize}px`;
});
}.bind(this);
document.addEventListener('mousemove', mouseMove);
document.addEventListener(
'mouseup',
() => {
document.removeEventListener('mousemove', mouseMove);
this._isDragging = false;
setCursor('auto');
},
{ once: true }
);
}
handleDragPanel(mouseDownEvent) {
if (this.sidebarHeaderButtons.find((b) => b.contains(mouseDownEvent.target))) {
return;
}
this._isDragging = true;
const startTop = this.sidebar.style.top?.match(/\d+/)?.[0] || 0;
const startLeft = this.sidebar.style.left?.match(/\d+/)?.[0] || 0;
const sidebarBBox = this.sidebar.getBoundingClientRect();
const sideBarHeight = sidebarBBox.height;
const sideBarWidth = sidebarBBox.width;
const topMouseOffset = startTop - mouseDownEvent.screenY;
const leftMouseOffset = startLeft - mouseDownEvent.screenX;
const moveListener = (mouseMoveEvent) => {
window.requestAnimationFrame(() => {
let top = mouseMoveEvent.clientY + topMouseOffset;
let left = mouseMoveEvent.clientX + leftMouseOffset;
const wrapperBounds = this.sidebarWrapper.getBoundingClientRect();
top = Math.max(0, Math.min(top, wrapperBounds.height - sideBarHeight));
left = Math.max(0, Math.min(left, wrapperBounds.width - sideBarWidth));
this.sidebar.style.top = top + 'px';
this.sidebar.style.left = left + 'px';
});
};
document.addEventListener('mousemove', moveListener);
document.addEventListener(
'mouseup',
() => {
document.removeEventListener('mousemove', moveListener);
this._isDragging = false;
},
{ once: true }
);
}
onWindowResize() {
if (!this.isFloating) return;
const top = parseInt(this.sidebar.style.top?.match(/\d+/)?.[0] || 0);
const left = parseInt(this.sidebar.style.left?.match(/\d+/)?.[0] || 0);
const wrapperRect = this.sidebarWrapper.getBoundingClientRect();
const sidebarRect = this.sidebar.getBoundingClientRect();
if (sidebarRect.height < wrapperRect.height && top + sidebarRect.height > wrapperRect.height) {
this.sidebar.style.top = wrapperRect.height - sidebarRect.height + 'px';
}
if (sidebarRect.width < wrapperRect.width && left + sidebarRect.width > wrapperRect.width) {
this.sidebar.style.left = wrapperRect.width - sidebarRect.width + 'px';
}
}
get isFloating() {
return document.getElementById('zen-sidebar-web-panel').hasAttribute('pinned');
}
handleEvent() {
this._hasChangedConfig = true;
this.update();
this._hasChangedConfig = false;
// https://stackoverflow.com/questions/11565471/removing-event-listener-which-was-added-with-bind
var clickOutsideHandler = this._handleClickOutside.bind(this);
let isFloating = this.isFloating;
if (isFloating && !this._hasRegisteredPinnedClickOutside) {
document.addEventListener('mouseup', clickOutsideHandler);
this._hasRegisteredPinnedClickOutside = true;
} else if (!isFloating && this._hasRegisteredPinnedClickOutside) {
document.removeEventListener('mouseup', clickOutsideHandler);
this._hasRegisteredPinnedClickOutside = false;
}
const button = document.getElementById('zen-sidepanel-button');
if (!button) return;
if (Services.prefs.getBoolPref('zen.sidebar.enabled')) {
button.removeAttribute('hidden');
} else {
button.setAttribute('hidden', 'true');
this._closeSidebarPanel();
return;
}
}
_handleClickOutside(event) {
if (!this.sidebar.hasAttribute('pinned') || this._isDragging || !this.shouldCloseOnBlur) {
return;
}
let target = event.target;
const closestSelector = [
'#zen-sidebar-web-panel',
'#zen-sidebar-panels-wrapper',
'#zenWebPanelContextMenu',
'#zen-sidebar-web-panel-splitter',
'#contentAreaContextMenu',
'#zen-sidepanel-button',
].join(', ');
if (target.closest(closestSelector)) {
return;
}
this.close();
}
toggle() {
if (!this._currentPanel) {
this._currentPanel = this._lastOpenedPanel;
}
if (document.getElementById('zen-sidebar-web-panel').hasAttribute('hidden')) {
this.open();
return;
}
this.close();
}
open(id = null) {
let sidebar = document.getElementById('zen-sidebar-web-panel');
if (id) this._currentPanel = id;
sidebar.removeAttribute('hidden');
this.update();
}
update() {
this._updateWebPanels();
this._updateSidebarButton();
this._updateWebPanel();
this._updateButtons();
}
_updateSidebarButton() {
let button = document.getElementById('zen-sidepanel-button');
if (!button) return;
if (!document.getElementById('zen-sidebar-web-panel').hasAttribute('hidden')) {
button.setAttribute('open', 'true');
} else {
button.removeAttribute('open');
}
}
_updateWebPanels() {
if (Services.prefs.getBoolPref('zen.sidebar.enabled')) {
this.sidebarElement.removeAttribute('hidden');
} else {
this.sidebarElement.setAttribute('hidden', 'true');
this._closeSidebarPanel();
return;
}
// Don't reload content if at least one of the panel tabs was loaded
if (this._lastOpenedPanel) {
return;
}
let data = this.sidebarData;
if (!data.data || !data.index) {
return;
}
this.sidebarElement.innerHTML = '';
for (let site of data.index) {
let panel = data.data[site];
if (!panel || !panel.url) {
continue;
}
let button = document.createXULElement('toolbarbutton');
button.classList.add('zen-sidebar-panel-button', 'toolbarbutton-1', 'chromeclass-toolbar-additional');
button.setAttribute('flex', '1');
button.setAttribute('zen-sidebar-id', site);
button.setAttribute('context', 'zenWebPanelContextMenu');
this._getWebPanelIcon(panel.url, button);
button.addEventListener('click', this._handleClick.bind(this));
button.addEventListener('dragstart', this._handleDragStart.bind(this));
button.addEventListener('dragover', this._handleDragOver.bind(this));
button.addEventListener('dragenter', this._handleDragEnter.bind(this));
button.addEventListener('dragend', this._handleDragEnd.bind(this));
this.sidebarElement.appendChild(button);
}
const addButton = document.getElementById('zen-sidebar-add-panel-button');
if (data.index.length < this.MAX_SIDEBAR_PANELS) {
addButton.removeAttribute('hidden');
} else {
addButton.setAttribute('hidden', 'true');
}
}
async _openAddPanelDialog() {
let dialogURL = 'chrome://browser/content/places/zenNewWebPanel.xhtml';
let features = 'centerscreen,chrome,modal,resizable=no';
let aParentWindow = Services.wm.getMostRecentWindow('navigator:browser');
if (aParentWindow?.gDialogBox) {
await aParentWindow.gDialogBox.open(dialogURL, {});
} else {
aParentWindow.openDialog(dialogURL, '', features, {});
}
}
_setPinnedToElements() {
let sidebar = document.getElementById('zen-sidebar-web-panel');
sidebar.setAttribute('pinned', 'true');
document.getElementById('zen-sidebar-web-panel-pinned').setAttribute('pinned', 'true');
}
_removePinnedFromElements() {
let sidebar = document.getElementById('zen-sidebar-web-panel');
sidebar.removeAttribute('pinned');
document.getElementById('zen-sidebar-web-panel-pinned').removeAttribute('pinned');
}
_closeSidebarPanel() {
let sidebar = document.getElementById('zen-sidebar-web-panel');
sidebar.setAttribute('hidden', 'true');
this._lastOpenedPanel = this._currentPanel;
this._currentPanel = null;
}
_handleClick(event) {
let target = event.target;
let panelId = target.getAttribute('zen-sidebar-id');
if (this._currentPanel === panelId) {
return;
}
this._currentPanel = panelId;
this._updateWebPanel();
}
_handleDragStart(event) {
this.__dragingElement = event.target;
this.__dragingIndex = Array.prototype.indexOf.call(event.target.parentNode.children, event.target);
event.target.style.opacity = '0.7';
event.dataTransfer.effectAllowed = 'move';
event.dataTransfer.setData('text/html', event.target.innerHTML);
event.dataTransfer.setData('text/plain', event.target.id);
}
_handleDragOver(event) {}
_handleDragEnter(event) {
if (typeof this.__dragingElement === 'undefined') {
return;
}
const target = event.target;
const elIndex = Array.prototype.indexOf.call(target.parentNode.children, target);
if (elIndex < this.__dragingIndex) {
target.before(this.__dragingElement);
this.__dragingIndex = elIndex - 1;
}
target.after(this.__dragingElement);
this.__dragingIndex = elIndex + 1;
}
_handleDragEnd(event) {
event.target.style.opacity = '1';
let data = this.sidebarData;
let newPos = [];
for (let element of this.__dragingElement.parentNode.children) {
let panelId = element.getAttribute('zen-sidebar-id');
newPos.push(panelId);
}
data.index = newPos;
Services.prefs.setStringPref('zen.sidebar.data', JSON.stringify(data));
this._currentPanel = this.__dragingElement.getAttribute('zen-sidebar-id');
this.open();
this.__dragingElement = undefined;
}
_createNewPanel(url) {
let data = this.sidebarData;
let newName = 'p' + new Date().getTime();
data.index.push(newName);
data.data[newName] = {
url: url,
ua: false,
};
Services.prefs.setStringPref('zen.sidebar.data', JSON.stringify(data));
this._currentPanel = newName;
this.open();
}
_updateButtons() {
for (let button of this.sidebarElement.querySelectorAll('.zen-sidebar-panel-button')) {
if (button.getAttribute('zen-sidebar-id') === this._currentPanel) {
button.setAttribute('selected', 'true');
} else {
button.removeAttribute('selected');
}
}
}
_hideAllWebPanels() {
let sidebar = document.getElementById('zen-sidebar-web-panel');
for (let browser of sidebar.querySelectorAll('browser[zen-sidebar-id]')) {
browser.setAttribute('hidden', 'true');
browser.docShellIsActive = false;
browser.zenModeActive = false;
}
}
get introductionPanel() {
return document.getElementById('zen-sidebar-introduction-panel');
}
_updateWebPanel() {
this._updateButtons();
// let sidebar = document.getElementById("zen-sidebar-web-panel");
this._hideAllWebPanels();
if (!this._currentPanel) {
this.introductionPanel.removeAttribute('hidden');
this.forwardButton.setAttribute('disabled', true);
this.backButton.setAttribute('disabled', true);
return;
}
this.introductionPanel.setAttribute('hidden', 'true');
let existantWebview = this._getCurrentBrowser();
if (existantWebview) {
existantWebview.docShellIsActive = true;
existantWebview.zenModeActive = true;
existantWebview.removeAttribute('hidden');
document.getElementById('zen-sidebar-web-panel-title').textContent = existantWebview.contentTitle;
return;
}
let data = this._getWebPanelData(this._currentPanel);
let browser = this._createWebPanelBrowser(data);
let browserContainers = document.getElementById('zen-sidebar-web-panel-browser-containers');
browserContainers.appendChild(browser);
browser.addProgressListener(this.progressListener, Ci.nsIWebProgress.NOTIFY_LOCATION);
if (data.ua) {
browser.browsingContext.customUserAgent = this.DEFAULT_MOBILE_USER_AGENT;
browser.reload();
}
browser.docShellIsActive = true;
browser.zenModeActive = true;
}
_getWebPanelData(id) {
let data = this.sidebarData;
let panel = data.data[id];
if (!panel || !panel.url) {
return {};
}
return {
id: id,
...panel,
};
}
getTabForBrowser(browser) {
return this._tabBrowserSet.get(browser);
}
setTabForBrowser(browser, tab) {
this._tabBrowserSet.set(browser, tab);
}
removeTabForBrowser(browser) {
this._tabBrowserSet.delete(browser);
}
_createWebPanelBrowser(data) {
const titleContainer = document.getElementById('zen-sidebar-web-panel-title');
titleContainer.textContent = 'Loading...';
let browser = gBrowser.createBrowser({
userContextId: data.userContextId,
});
const tab = this.sidebar.querySelector(`[zen-sidebar-id='${data.id}']`);
this.setTabForBrowser(browser, tab);
tab.linkedBrowser = browser;
tab.permanentKey = browser.permanentKey;
browser.setAttribute('disablefullscreen', 'true');
browser.setAttribute('src', data.url);
browser.setAttribute('zen-sidebar-id', data.id);
browser.addEventListener(
'pagetitlechanged',
function (event) {
let browser = event.target;
let title = browser.contentTitle;
if (!title) {
return;
}
let id = browser.getAttribute('zen-sidebar-id');
if (id === this._currentPanel) {
titleContainer.textContent = title;
}
}.bind(this)
);
return browser;
}
_getWebPanelIcon(url, element) {
let { preferredURI } = Services.uriFixup.getFixupURIInfo(url);
element.setAttribute('image', `page-icon:${preferredURI.spec}`);
if (Services.prefs.getBoolPref('zen.sidebar.use-google-favicons')) {
fetch(`https://s2.googleusercontent.com/s2/favicons?domain_url=${preferredURI.spec}`).then(async (response) => {
if (response.ok) {
let blob = await response.blob();
let reader = new FileReader();
reader.onload = function () {
element.setAttribute('image', reader.result);
};
reader.readAsDataURL(blob);
}
});
}
}
_getBrowserById(id) {
let sidebar = document.getElementById('zen-sidebar-web-panel');
return sidebar.querySelector(`browser[zen-sidebar-id="${id}"]`);
}
_getCurrentBrowser() {
return this._getBrowserById(this._currentPanel);
}
reload() {
let browser = this._getCurrentBrowser();
if (browser) {
browser.reload();
}
}
forward() {
let browser = this._getCurrentBrowser();
if (browser) {
browser.goForward();
}
}
back() {
let browser = this._getCurrentBrowser();
if (browser) {
browser.goBack();
}
}
home() {
let browser = this._getCurrentBrowser();
if (browser) {
browser.gotoIndex();
}
}
close() {
this._hideAllWebPanels();
this._closeSidebarPanel();
this._updateSidebarButton();
}
togglePinned(elem) {
if (this.sidebar.hasAttribute('pinned')) {
this._removePinnedFromElements();
} else {
this._setPinnedToElements();
}
this.update();
}
get sidebarElement() {
if (!this._sidebarElement) {
this._sidebarElement = document.getElementById('zen-sidebar-panels-sites');
}
return this._sidebarElement;
}
get splitterElement() {
if (!this._splitterElement) {
this._splitterElement = document.getElementById('zen-sidebar-web-panel-splitter');
}
return this._splitterElement;
}
get hSplitterElement() {
if (!this._hSplitterElement) {
this._hSplitterElement = document.getElementById('zen-sidebar-web-panel-hsplitter');
}
return this._hSplitterElement;
}
get sidebarHeader() {
if (!this._sidebarHeader) {
this._sidebarHeader = document.getElementById('zen-sidebar-web-header');
}
return this._sidebarHeader;
}
get sidebarWrapper() {
if (!this._sideBarWrapper) {
this._sideBarWrapper = document.getElementById('zen-sidebar-web-panel-wrapper');
}
return this._sideBarWrapper;
}
get sidebarHeaderButtons() {
if (!this._sidebarHeaderButtons) {
this._sidebarHeaderButtons = [...this.sidebarHeader.querySelectorAll('.toolbarbutton-1')];
}
return this._sidebarHeaderButtons;
}
// Context menu
updateContextMenu(aPopupMenu) {
let panel =
aPopupMenu.triggerNode && (aPopupMenu.triggerNode || aPopupMenu.triggerNode.closest('toolbarbutton[zen-sidebar-id]'));
if (!panel) {
return;
}
let id = panel.getAttribute('zen-sidebar-id');
this.contextTab = id;
let data = this._getWebPanelData(id);
let browser = this._getBrowserById(id);
let isMuted = browser && browser.audioMuted;
let mutedContextItem = document.getElementById('context_zenToggleMuteWebPanel');
document.l10n.setAttributes(
mutedContextItem,
!isMuted ? 'zen-web-side-panel-context-mute-panel' : 'zen-web-side-panel-context-unmute-panel'
);
if (!isMuted) {
mutedContextItem.setAttribute('muted', 'true');
} else {
mutedContextItem.removeAttribute('muted');
}
document.l10n.setAttributes(
document.getElementById('context_zenToogleUAWebPanel'),
data.ua ? 'zen-web-side-panel-context-disable-ua' : 'zen-web-side-panel-context-enable-ua'
);
if (!browser) {
document.getElementById('context_zenUnloadWebPanel').setAttribute('disabled', 'true');
} else {
document.getElementById('context_zenUnloadWebPanel').removeAttribute('disabled');
}
}
createContainerTabMenu(event) {
let window = event.target.ownerGlobal;
let data = this.sidebarData;
let panelData = data.data[this.contextTab];
return window.createUserContextMenu(event, {
isContextMenu: true,
excludeUserContextId: panelData.userContextId,
showDefaultTab: true,
});
}
contextChangeContainerTab(event) {
let data = this.sidebarData;
let userContextId = parseInt(event.target.getAttribute('data-usercontextid'));
data.data[this.contextTab].userContextId = userContextId;
Services.prefs.setStringPref('zen.sidebar.data', JSON.stringify(data));
let browser = this._getBrowserById(this.contextTab);
if (browser) {
browser.remove();
// We need to re-apply a new browser so it takes the new userContextId
this._updateWebPanel();
}
}
contextOpenNewTab() {
let browser = this._getBrowserById(this.contextTab);
let data = this.sidebarData;
let panel = data.data[this.contextTab];
let url = browser == null ? panel.url : browser.currentURI.spec;
gZenUIManager.openAndChangeToTab(url);
this.close();
}
contextToggleMuteAudio() {
let browser = this._getBrowserById(this.contextTab);
if (browser.audioMuted) {
browser.unmute();
} else {
browser.mute();
}
}
contextToggleUserAgent() {
let browser = this._getBrowserById(this.contextTab);
browser.browsingContext.customUserAgent = browser.browsingContext.customUserAgent ? null : this.DEFAULT_MOBILE_USER_AGENT;
let data = this.sidebarData;
data.data[this.contextTab].ua = !data.data[this.contextTab].ua;
Services.prefs.setStringPref('zen.sidebar.data', JSON.stringify(data));
browser.reload();
}
contextDelete() {
let data = this.sidebarData;
delete data.data[this.contextTab];
data.index = data.index.filter((id) => id !== this.contextTab);
let browser = this._getBrowserById(this.contextTab);
if (browser) {
browser.remove();
document.getElementById('zen-sidebar-web-panel-title').textContent = '';
}
this._currentPanel = null;
this._lastOpenedPanel = null;
this.update();
Services.prefs.setStringPref('zen.sidebar.data', JSON.stringify(data));
}
contextUnload() {
let browser = this._getBrowserById(this.contextTab);
this.removeTabForBrowser(browser);
browser.remove();
document.getElementById('zen-sidebar-web-panel-title').textContent = '';
this._closeSidebarPanel();
this.close();
this._lastOpenedPanel = null;
}
insertIntoContextMenu() {
const sibling = document.getElementById('context-stripOnShareLink');
const menuitem = document.createXULElement('menuitem');
menuitem.setAttribute('id', 'context-zenAddToWebPanel');
menuitem.setAttribute('hidden', 'true');
menuitem.setAttribute('oncommand', 'gZenBrowserManagerSidebar.addPanelFromContextMenu();');
menuitem.setAttribute('data-l10n-id', 'zen-web-side-panel-context-add-to-panel');
sibling.insertAdjacentElement('afterend', menuitem);
}
addPanelFromContextMenu() {
const url = gContextMenu.linkURL || gContextMenu.target.ownerDocument.location.href;
this._createNewPanel(url);
}
}
window.gZenBrowserManagerSidebar = new ZenBrowserManagerSidebar();

View File

@@ -1,11 +0,0 @@
BROWSER_CHROME_MANIFESTS += [
"tests/browser.toml",
]
FINAL_TARGET_FILES.actors += [
"actors/ZenGlanceChild.sys.mjs",
"actors/ZenGlanceParent.sys.mjs",
"actors/ZenThemeMarketplaceChild.sys.mjs",
"actors/ZenThemeMarketplaceParent.sys.mjs",
]

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
index 7aef091c0be1cb0ea0be52268949db17032f96d9..5e9105fa671d1b1979f204fc8d3be22771998ad7 100644
index 7747d90981aea9437bf2d9cf46ec17be0b9ad64c..656d640da0efeb59a4037bb450e0cb1f69dda0ba 100644
--- a/browser/components/BrowserContentHandler.sys.mjs
+++ b/browser/components/BrowserContentHandler.sys.mjs
@@ -1278,6 +1278,7 @@ function maybeRecordToHandleTelemetry(uri, isLaunch) {
@@ -1270,6 +1270,7 @@ function maybeRecordToHandleTelemetry(uri, isLaunch) {
".avif",
".htm",
".html",

View File

@@ -1,19 +1,20 @@
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
index b888a753a7f23a9800fe04da51a4e6b898314ff2..a6a01cf035253b05ea7b20b434cf2002ff115d96 100644
index b8b6d30f0b3c968a8615ca601e06e50261d0dae6..5c2b718b902aed2ef8d7a4b622ba882ee937c655 100644
--- a/browser/components/BrowserGlue.sys.mjs
+++ b/browser/components/BrowserGlue.sys.mjs
@@ -121,6 +121,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
@@ -106,6 +106,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
WindowsGPOParser: "resource://gre/modules/policies/WindowsGPOParser.sys.mjs",
clearTimeout: "resource://gre/modules/Timer.sys.mjs",
setTimeout: "resource://gre/modules/Timer.sys.mjs",
+ gZenUIMigration: "chrome://browser/content/zen-components/ZenUIMigration.mjs",
});
if (AppConstants.MOZ_UPDATER) {
@@ -1951,6 +1952,7 @@ BrowserGlue.prototype = {
lazy.UrlbarPrefs.updateFirefoxSuggestScenario();
XPCOMUtils.defineLazyServiceGetters(lazy, {
@@ -1896,7 +1897,7 @@ BrowserGlue.prototype = {
lazy.TabCrashHandler.init();
lazy.ProcessHangMonitor.init();
-
+ lazy.gZenUIMigration.init(this._isNewProfile, aWindow);
// A channel for "remote troubleshooting" code...
let channel = new lazy.WebChannel(

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/aboutlogins/content/aboutLogins.html b/browser/components/aboutlogins/content/aboutLogins.html
index 67712c8f296ba8a916ff4c6ecf9179ad733b2df8..0bad556640afd48a6738e2955a93c4e8faa68823 100644
index a2b9a3c3bd60b7c679fc4babf2cc085f79ba84f5..3acd8da43d31cf8e9eb25d74421f522fdbd41094 100644
--- a/browser/components/aboutlogins/content/aboutLogins.html
+++ b/browser/components/aboutlogins/content/aboutLogins.html
@@ -6,7 +6,7 @@

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded349732ffc6 100644
index 9392b42a1de7310719a6cc8aaf11bd857e8fa69a..1c5b80678fc3a4d17b0632a765b8182d88986bcc 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
@@ -90,7 +90,38 @@ index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded34
} else {
window.gNavToolbox.palette.appendChild(widgetNode);
}
@@ -2678,7 +2677,6 @@ var CustomizableUIInternal = {
@@ -1704,16 +1703,16 @@ var CustomizableUIInternal = {
elem.setAttribute("skipintoolbarset", "true");
}
}
-
+ lazy.ZenCustomizableUI.init(aWindow);
// Now register all the toolbars
for (let area of CustomizableUI.areas) {
let type = CustomizableUI.getAreaType(area);
- if (type == CustomizableUI.TYPE_TOOLBAR) {
+ if (type == CustomizableUI.TYPE_TOOLBAR && !area.startsWith("zen-")) {
let node = document.getElementById(area);
this.registerToolbarNode(node);
}
}
-
+ lazy.ZenCustomizableUI.registerToolbarNodes(aWindow);
// Handle initial state of vertical tabs.
if (isVerticalTabs) {
// Show the vertical tabs toolbar
@@ -1873,6 +1872,10 @@ var CustomizableUIInternal = {
},
insertWidgetBefore(aNode, aNextNode, aContainer, aArea) {
+ if (aArea === CustomizableUI.AREA_NAVBAR && aNode.ownerGlobal.gZenVerticalTabsManager._hasSetSingleToolbar) {
+ aContainer = aNode.ownerDocument.getElementById("zen-sidebar-top-buttons-customization-target");
+ aArea = "zen-sidebar-top-buttons";
+ }
this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => {
this.setLocationAttributes(aNode, aArea);
aContainer.insertBefore(aNode, aNextNode);
@@ -2744,7 +2747,6 @@ var CustomizableUIInternal = {
if (!this.isWidgetRemovable(aWidgetId)) {
return;
}
@@ -98,7 +129,7 @@ index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded34
let placements = gPlacements.get(oldPlacement.area);
let position = placements.indexOf(aWidgetId);
if (position != -1) {
@@ -3669,7 +3667,7 @@ var CustomizableUIInternal = {
@@ -3735,7 +3737,7 @@ var CustomizableUIInternal = {
}
},
@@ -107,7 +138,7 @@ index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded34
for (let [areaId, areaNodes] of gBuildAreas) {
let placements = gPlacements.get(areaId);
let isFirstChangedToolbar = true;
@@ -3680,7 +3678,7 @@ var CustomizableUIInternal = {
@@ -3746,7 +3748,7 @@ var CustomizableUIInternal = {
if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) {
let defaultCollapsed = area.get("defaultCollapsed");
let win = areaNode.ownerGlobal;
@@ -116,7 +147,7 @@ index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded34
win.setToolbarVisibility(
areaNode,
typeof defaultCollapsed == "string"
@@ -4857,6 +4855,7 @@ export var CustomizableUI = {
@@ -4923,6 +4925,7 @@ export var CustomizableUI = {
unregisterArea(aName, aDestroyPlacements) {
CustomizableUIInternal.unregisterArea(aName, aDestroyPlacements);
},
@@ -124,7 +155,7 @@ index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded34
/**
* Add a widget to an area.
* If the area to which you try to add is not known to CustomizableUI,
@@ -6840,11 +6839,11 @@ class OverflowableToolbar {
@@ -6916,11 +6919,11 @@ class OverflowableToolbar {
parseFloat(style.paddingLeft) -
parseFloat(style.paddingRight) -
toolbarChildrenWidth;
@@ -138,7 +169,7 @@ index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded34
});
lazy.log.debug(
@@ -6854,7 +6853,8 @@ class OverflowableToolbar {
@@ -6930,7 +6933,8 @@ class OverflowableToolbar {
// If the target has min-width: 0, their children might actually overflow
// it, so check for both cases explicitly.
let targetContentWidth = Math.max(targetWidth, targetChildrenWidth);
@@ -148,7 +179,7 @@ index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded34
return { isOverflowing, targetContentWidth, totalAvailWidth };
}
@@ -6948,7 +6948,7 @@ class OverflowableToolbar {
@@ -7024,7 +7028,7 @@ class OverflowableToolbar {
}
}
if (!inserted) {
@@ -157,13 +188,12 @@ index 8eab0f9181c19c68a0a2daf0f819b3ae82ed92bc..092107b377ec4f7bc9ae86c817cded34
}
child.removeAttribute("cui-anchorid");
child.removeAttribute("overflowedItem");
@@ -7110,6 +7110,9 @@ class OverflowableToolbar {
* @param {MouseEvent} aEvent the click event.
*/
#onClickDefaultListButton(aEvent) {
+ if (aEvent.view.gZenVerticalTabsManager._hasSetSingleToolbar && this.#toolbar.id == 'nav-bar') {
+ return;
+ }
if (this.#defaultListButton.open) {
this.#defaultListButton.open = false;
lazy.PanelMultiView.hidePopup(this.#defaultListPanel);
@@ -7369,7 +7373,7 @@ class OverflowableToolbar {
break;
}
case "mousedown": {
- if (aEvent.button != 0) {
+ if (aEvent.button != 0 || this.#toolbar.id == "zen-sidebar-top-buttons") { // Fix https://github.com/zen-browser/desktop/issues/7718
break;
}
if (aEvent.target == this.#defaultListButton) {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/customizableui/CustomizeMode.sys.mjs b/browser/components/customizableui/CustomizeMode.sys.mjs
index 41f347130e754ad0ee3416c1a3881211c4d2f777..9f906fd5f11731025abdf55eb5e60a824f8dd81f 100644
index c9bdc165ff9afc8c3e43ed2cda0612b32a55450f..34f8af56753e2a898f49247036d47973c70543a9 100644
--- a/browser/components/customizableui/CustomizeMode.sys.mjs
+++ b/browser/components/customizableui/CustomizeMode.sys.mjs
@@ -354,7 +354,7 @@ CustomizeMode.prototype = {
@@ -357,7 +357,7 @@ CustomizeMode.prototype = {
this._transitioning = true;
let customizer = document.getElementById("customization-container");
@@ -11,7 +11,7 @@ index 41f347130e754ad0ee3416c1a3881211c4d2f777..9f906fd5f11731025abdf55eb5e60a82
browser.hidden = true;
customizer.hidden = false;
@@ -485,7 +485,7 @@ CustomizeMode.prototype = {
@@ -488,7 +488,7 @@ CustomizeMode.prototype = {
}
let customizer = document.getElementById("customization-container");
@@ -20,7 +20,7 @@ index 41f347130e754ad0ee3416c1a3881211c4d2f777..9f906fd5f11731025abdf55eb5e60a82
customizer.hidden = true;
browser.hidden = false;
@@ -2276,6 +2276,20 @@ CustomizeMode.prototype = {
@@ -2397,6 +2397,20 @@ CustomizeMode.prototype = {
if (makeSpaceImmediately) {
aItem.setAttribute("notransition", "true");
}

View File

@@ -1,22 +1,15 @@
diff --git a/browser/components/customizableui/ToolbarContextMenu.sys.mjs b/browser/components/customizableui/ToolbarContextMenu.sys.mjs
index 9879487f9ed9ddf825f5fb5c1467ddbd7fbe7a32..9e2565fafe0f5f9afa6065c9f4f522fec745db2a 100644
index af22f766a052372a68faca139161cccbf0d768f0..199591ca0609e8902e84a87baf50acc29f84ee3a 100644
--- a/browser/components/customizableui/ToolbarContextMenu.sys.mjs
+++ b/browser/components/customizableui/ToolbarContextMenu.sys.mjs
@@ -237,17 +237,6 @@ export var ToolbarContextMenu = {
// autohide item's checked state to mirror the autohide pref.
showFullScreenViewContextMenuItems(popup);
- let toggleVerticalTabsItem = document.getElementById(
- "toolbar-context-toggle-vertical-tabs"
- );
- document.l10n.setAttributes(
- toggleVerticalTabsItem,
- gBrowser.tabContainer?.verticalMode
- ? "toolbar-context-turn-off-vertical-tabs"
- : "toolbar-context-turn-on-vertical-tabs"
- );
- document.getElementById("toolbar-context-customize-sidebar").hidden =
- !gBrowser.tabContainer?.verticalMode;
// View -> Toolbars menu doesn't have the moveToPanel or removeFromToolbar items.
if (!moveToPanel || !removeFromToolbar) {
@@ -240,8 +240,8 @@ export var ToolbarContextMenu = {
// Show/hide sidebar and vertical tabs menu items
let sidebarRevampEnabled = Services.prefs.getBoolPref("sidebar.revamp");
let showSidebarActions =
- ["tabbrowser-tabs", "sidebar-button"].includes(toolbarItem?.id) ||
- toolbarItem?.localName == "toolbarspring";
+ (["tabbrowser-tabs", "sidebar-button"].includes(toolbarItem?.id) ||
+ toolbarItem?.localName == "toolbarspring") && false;
let toggleVerticalTabsItem = document.getElementById(
"toolbar-context-toggle-vertical-tabs"
);

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
index 7583473ee73538b2fa54337bfd844f03f261be49..559b593a6874296bd5894c5985f8eeb680cd3886 100644
index 010d0813557efd6d5a3a84ea589989f6e9ff195a..e26cc1be1f56919e6ec5f2432854b284837671ac 100644
--- a/browser/components/customizableui/content/panelUI.js
+++ b/browser/components/customizableui/content/panelUI.js
@@ -515,8 +515,7 @@ const PanelUI = {

View File

@@ -1,8 +1,24 @@
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
index 179816fa96ccf26604d52f71232296398dd9bdbd..c35814bae4eab774892af1f6df7465601d4f87ac 100644
index 179816fa96ccf26604d52f71232296398dd9bdbd..1d77da215d89acf0697b70cf6272e700c455c088 100644
--- a/browser/components/extensions/parent/ext-browser.js
+++ b/browser/components/extensions/parent/ext-browser.js
@@ -1218,6 +1218,10 @@ class TabManager extends TabManagerBase {
@@ -308,6 +308,7 @@ class TabTracker extends TabTrackerBase {
}
getId(nativeTab) {
+ if (nativeTab.hasAttribute("zen-empty-tab")) return -1;
let id = this._tabs.get(nativeTab);
if (id) {
return id;
@@ -342,6 +343,7 @@ class TabTracker extends TabTrackerBase {
if (nativeTab.ownerGlobal.closed) {
throw new Error("Cannot attach ID to a tab in a closed window.");
}
+ if (nativeTab.hasAttribute("zen-empty-tab")) return;
this._tabs.set(nativeTab, id);
if (nativeTab.linkedBrowser) {
@@ -1218,6 +1220,10 @@ class TabManager extends TabManagerBase {
}
canAccessTab(nativeTab) {

View File

@@ -1,13 +0,0 @@
diff --git a/browser/components/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx b/browser/components/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx
index 57ed935e93198bb50555d119080552934c49e428..21e8fb35501091d448502dbd0c53ee01ce8b7bc0 100644
--- a/browser/components/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx
+++ b/browser/components/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx
@@ -153,7 +153,7 @@ export class ContentSection extends React.PureComponent {
data-l10n-args='{"num": 4}'
/>
</select>
- {mayHaveSponsoredTopSites && (
+ {false && (
<div className="check-wrapper" role="presentation">
<input
id="sponsored-shortcuts"

View File

@@ -1,12 +0,0 @@
diff --git a/browser/components/newtab/data/content/abouthomecache/page.html.template b/browser/components/newtab/data/content/abouthomecache/page.html.template
index 60898ed6b82ec298198cb9529387f4efd8561cc1..fbd93ccc7ee3619415192164a55f5fcbfd387a51 100644
--- a/browser/components/newtab/data/content/abouthomecache/page.html.template
+++ b/browser/components/newtab/data/content/abouthomecache/page.html.template
@@ -32,6 +32,7 @@
<link rel="stylesheet" href="chrome://global/skin/design-system/tokens-brand.css">
<link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
<link rel="stylesheet" href="chrome://activity-stream/content/css/activity-stream.css" />
+ <script src="chrome://browser/content/zenThemeModifier.js"></script>
</head>
<!-- Cached: {{ CACHE_TIME }} -->
<body class="activity-stream">

View File

@@ -1,13 +0,0 @@
diff --git a/browser/components/newtab/lib/ActivityStream.sys.mjs b/browser/components/newtab/lib/ActivityStream.sys.mjs
index f46e8aadf053c1a567642cda5f728534c81c8223..9ba13e5988a1fbcbc0502bba46fe6cfa3c647d85 100644
--- a/browser/components/newtab/lib/ActivityStream.sys.mjs
+++ b/browser/components/newtab/lib/ActivityStream.sys.mjs
@@ -127,7 +127,7 @@ export const PREFS_CONFIG = new Map([
"showSponsoredTopSites",
{
title: "Show sponsored top sites",
- value: true,
+ value: false,
},
],
[

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/places/content/bookmarkProperties.xhtml b/browser/components/places/content/bookmarkProperties.xhtml
index 047652a52e705d49f870399992873fce536c07b9..37ea726fe427a31db8fae97c99fd38c8669fa0f9 100644
index 4aad4e4fb4139aa3d81e00eefa82e26b697df973..a2bfac11322f3679af9b51ebc7478323aa8e4adb 100644
--- a/browser/components/places/content/bookmarkProperties.xhtml
+++ b/browser/components/places/content/bookmarkProperties.xhtml
@@ -37,6 +37,8 @@
@@ -38,6 +38,8 @@
/>
<html:link rel="localization" href="browser/editBookmarkOverlay.ftl"/>
@@ -11,7 +11,7 @@ index 047652a52e705d49f870399992873fce536c07b9..37ea726fe427a31db8fae97c99fd38c8
</linkset>
<stringbundleset id="stringbundleset">
@@ -44,6 +46,8 @@
@@ -45,6 +47,8 @@
src="chrome://browser/locale/places/bookmarkProperties.properties"/>
</stringbundleset>

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
index 1bfa0af16178c9b42172bc1b1e0249d28ff8e9e6..6744a37b7183ab9e3ac5bced7ded715879063eb5 100644
index ad138a38340e8e8510d395f46c30ec4121d731bb..9294f05633acbe560df003333b7ef7d9a12a2a11 100644
--- a/browser/components/places/content/browserPlacesViews.js
+++ b/browser/components/places/content/browserPlacesViews.js
@@ -330,12 +330,23 @@ class PlacesViewBase {
@@ -37,7 +37,7 @@ index 1bfa0af16178c9b42172bc1b1e0249d28ff8e9e6..6744a37b7183ab9e3ac5bced7ded7158
} else if (PlacesUtils.containerTypes.includes(type)) {
element = document.createXULElement("menu");
element.setAttribute("container", "true");
@@ -981,25 +993,33 @@ class PlacesToolbar extends PlacesViewBase {
@@ -980,25 +992,33 @@ class PlacesToolbar extends PlacesViewBase {
this._rootElt.firstChild.remove();
}
@@ -82,7 +82,7 @@ index 1bfa0af16178c9b42172bc1b1e0249d28ff8e9e6..6744a37b7183ab9e3ac5bced7ded7158
);
++startIndex;
if (elt.localName != "toolbarseparator") {
@@ -1007,15 +1027,12 @@ class PlacesToolbar extends PlacesViewBase {
@@ -1006,15 +1026,12 @@ class PlacesToolbar extends PlacesViewBase {
}
}
if (!elt) {
@@ -101,7 +101,7 @@ index 1bfa0af16178c9b42172bc1b1e0249d28ff8e9e6..6744a37b7183ab9e3ac5bced7ded7158
});
});
@@ -1025,7 +1042,7 @@ class PlacesToolbar extends PlacesViewBase {
@@ -1024,7 +1041,7 @@ class PlacesToolbar extends PlacesViewBase {
let fragment = document.createDocumentFragment();
for (let i = startIndex; i < limit; ++i) {
@@ -110,7 +110,7 @@ index 1bfa0af16178c9b42172bc1b1e0249d28ff8e9e6..6744a37b7183ab9e3ac5bced7ded7158
}
await new Promise(resolve => window.requestAnimationFrame(resolve));
if (!this._isAlive) {
@@ -1087,6 +1104,8 @@ class PlacesToolbar extends PlacesViewBase {
@@ -1086,6 +1103,8 @@ class PlacesToolbar extends PlacesViewBase {
"scheme",
PlacesUIUtils.guessUrlSchemeForUI(aChild.uri)
);
@@ -119,7 +119,7 @@ index 1bfa0af16178c9b42172bc1b1e0249d28ff8e9e6..6744a37b7183ab9e3ac5bced7ded7158
}
}
@@ -2235,7 +2254,7 @@ this.PlacesPanelview = class PlacesPanelview extends PlacesViewBase {
@@ -2234,7 +2253,7 @@ this.PlacesPanelview = class PlacesPanelview extends PlacesViewBase {
PlacesUIUtils.guessUrlSchemeForUI(placesNode.uri)
);
element.setAttribute("label", PlacesUIUtils.getBestTitle(placesNode));

View File

@@ -1,62 +0,0 @@
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
var gZenNewWebPanel = {
init: function () {
document.addEventListener('dialogaccept', this.handleDialogAccept.bind(this));
},
handleURLChange: async function (aURL) {
try {
let url = new URL(aURL.value);
} catch (_) {
// TODO: Show error message
return;
}
},
addHttpIfMissing(url) {
// List of schemes to avoid
const avoidSchemes = ['about:', 'chrome:', 'moz-extension:', 'view-source:'];
// Check if the URL starts with any of the avoid schemes
for (let scheme of avoidSchemes) {
if (url.startsWith(scheme)) {
return url;
}
}
if (!url.startsWith('http://') && !url.startsWith('https://')) {
return 'https://' + url;
}
return url;
},
handleDialogAccept: async function (aEvent) {
document.commandDispatcher.focusedElement?.blur();
let url = document.getElementById('zenNWP_url');
let ua = document.getElementById('zenNWP_userAgent'); // checbkox
if (!url || !ua) {
return;
}
let urlValue = url.value;
try {
new URL(urlValue);
} catch (_) {
urlValue = this.addHttpIfMissing(url.value);
}
if (!url.value) {
return;
}
let newSite = {
url: urlValue,
ua: ua.checked,
};
let currentData = JSON.parse(Services.prefs.getStringPref('zen.sidebar.data'));
let newName = 'p' + new Date().getTime();
currentData.index.push(newName);
currentData.data[newName] = newSite;
Services.prefs.setStringPref('zen.sidebar.data', JSON.stringify(currentData));
},
};
gZenNewWebPanel.init();

View File

@@ -1,44 +0,0 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE window>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
id="zenNewWebPanel"
headerparent="zenNewWebPanelDialog"
style="min-width: 40em;">
<dialog id="zenNewWebPanelDialog"
buttons="accept, cancel">
<linkset>
<html:link rel="stylesheet" href="chrome://global/skin/global.css" />
<html:link
rel="stylesheet"
href="chrome://global/content/commonDialog.css"
/>
<html:link rel="stylesheet" href="chrome://global/skin/commonDialog.css" />
<html:link rel="localization" href="browser/zenNewWebPanel.ftl"/>
<script src="chrome://browser/content/zenThemeModifier.js"></script>
</linkset>
<script src="chrome://browser/content/places/zenNewWebPanel.js"/>
<label data-l10n-id="zen-new-web-panel-url"
control="zenNWP_url"/>
<html:input id="zenNWP_url"
type="url" onchange="gZenNewWebPanel.handleURLChange(this);"/>
<hbox flex="1" style="margin: 10px 5px;">
<html:input id="zenNWP_userAgent"
type="checkbox"/>
<label data-l10n-id="zen-new-web-panel-user-agent"
control="zenNWP_userAgent" for="zenNWP_userAgent"/>
</hbox>
</dialog>
</window>

View File

@@ -1,10 +0,0 @@
diff --git a/browser/components/places/jar.mn b/browser/components/places/jar.mn
index 7334914664484267ccf80eeeb2917c2001a1acaf..e0636a13798d6fbf41cbf69e51e460822b00ab1a 100644
--- a/browser/components/places/jar.mn
+++ b/browser/components/places/jar.mn
@@ -25,3 +25,5 @@ browser.jar:
content/browser/places/interactionsViewer.html (metadataViewer/interactionsViewer.html)
content/browser/places/interactionsViewer.js (metadataViewer/interactionsViewer.js)
#endif
+ content/browser/places/zenNewWebPanel.xhtml (content/zenNewWebPanel.xhtml)
+ content/browser/places/zenNewWebPanel.js (content/zenNewWebPanel.js)

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/dialogs/syncChooseWhatToSync.js b/browser/components/preferences/dialogs/syncChooseWhatToSync.js
index 2cc965b4e1b20e1ae422bfb5c90a237dcd31fcf6..cfed9dfa67c7c34cd812885a72d66dd37ba414fc 100644
index a38c2a235971f2fe470f9bee92fc9c1a6d9b8b15..564be3dabe01621a621ca586421cdb77e0220f8b 100644
--- a/browser/components/preferences/dialogs/syncChooseWhatToSync.js
+++ b/browser/components/preferences/dialogs/syncChooseWhatToSync.js
@@ -13,6 +13,7 @@ Preferences.addAll([

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml b/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
index 83bd09c0c3f8fd5febf1721e6b462ca90e54327b..5d0ca4265e7b57178f1fe45068449e0355ba80e0 100644
index 6e74bbce9096179d38db422879349013f3954fa9..859f8b9640ef49411164f8e5160d4d9b8db11e54 100644
--- a/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
+++ b/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
@@ -26,6 +26,10 @@
@@ -27,6 +27,10 @@
rel="localization"
href="browser/preferences/preferences.ftl"
/>
@@ -13,7 +13,7 @@ index 83bd09c0c3f8fd5febf1721e6b462ca90e54327b..5d0ca4265e7b57178f1fe45068449e03
</linkset>
<script src="chrome://global/content/preferencesBindings.js" />
<script src="chrome://browser/content/preferences/dialogs/syncChooseWhatToSync.js" />
@@ -82,6 +86,12 @@
@@ -79,6 +83,12 @@
preference="services.sync.engine.prefs"
/>
</html:div>

View File

@@ -1,8 +1,24 @@
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
index 4c2637db10b7ad5d253d9588be3610c1ec5ad330..b8445b808cf9dcb54d380ae78172db4bf8250cd4 100644
index cdcf50ec1bc4a54c69f5baf4a6d40ab0c63a8121..87603323c2b0b9ea0c847a8a06e293a16c1252b8 100644
--- a/browser/components/preferences/main.inc.xhtml
+++ b/browser/components/preferences/main.inc.xhtml
@@ -369,6 +369,7 @@
@@ -183,6 +183,7 @@
</groupbox>
<!-- Browser layout -->
+#if 0
<groupbox data-category="paneGeneral"
data-subcategory="layout"
hidden="true">
@@ -198,6 +199,7 @@
preference="sidebar.revamp"/>
<description class="indent" data-l10n-id="browser-layout-show-sidebar-desc"></description>
</groupbox>
+#endif
<hbox id="languageAndAppearanceCategory"
class="subcategory"
@@ -411,6 +413,7 @@
languages-customize-add.label,
" />
</hbox>

View File

@@ -1,8 +1,8 @@
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
index b9487ece26cfe21a32199a7e36f29b3aa3b8d700..ce02f54cab85d4da8cb306f0d5f3378c9e30df37 100644
index 8f6f78419a0876ebe6d0967a88ef03e464dbbd23..9339085014b797033c4ee1ed2e40f2506d1e9797 100644
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -212,7 +212,7 @@ function getBundleForLocales(newLocales) {
@@ -218,7 +218,7 @@ function getBundleForLocales(newLocales) {
])
);
return new Localization(

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index 78b70a99b00198402c357ead363dec7e534be456..90e10509fdff67144f5cbcf42c743e617df604e0 100644
index 6386773b287ca6d06a0abe928850c5bb465828ed..b3459a2abcac5f21a5b24189ec1dc88e24626687 100644
--- a/browser/components/preferences/preferences.js
+++ b/browser/components/preferences/preferences.js
@@ -118,6 +118,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
index 53bdc9c912a6cd0c787dbcf41f2a82b7169d5aa7..e47c4b36b6e469b0cc8b95bde0508dc6cb0b49ae 100644
index 951af951598c3edc9bc431dd106e68d006ec4316..eb420d6c5ea346639eee531805aabbe7726c7769 100644
--- a/browser/components/preferences/preferences.xhtml
+++ b/browser/components/preferences/preferences.xhtml
@@ -43,6 +43,8 @@
@@ -11,7 +11,7 @@ index 53bdc9c912a6cd0c787dbcf41f2a82b7169d5aa7..e47c4b36b6e469b0cc8b95bde0508dc6
<link rel="localization" href="branding/brand.ftl"/>
<link rel="localization" href="browser/browser.ftl"/>
<!-- Used by fontbuilder.js -->
@@ -97,6 +99,12 @@
@@ -98,6 +100,12 @@
<hbox flex="1">
<vbox class="navigation">
@@ -24,7 +24,7 @@ index 53bdc9c912a6cd0c787dbcf41f2a82b7169d5aa7..e47c4b36b6e469b0cc8b95bde0508dc6
<!-- category list -->
<richlistbox id="categories" data-l10n-id="category-list" data-l10n-attrs="aria-label">
<richlistitem id="category-general"
@@ -110,6 +118,50 @@
@@ -111,6 +119,50 @@
<label class="category-name" flex="1" data-l10n-id="pane-general-title"></label>
</richlistitem>
@@ -75,7 +75,7 @@ index 53bdc9c912a6cd0c787dbcf41f2a82b7169d5aa7..e47c4b36b6e469b0cc8b95bde0508dc6
<richlistitem id="category-home"
class="category"
value="paneHome"
@@ -228,11 +280,13 @@
@@ -229,11 +281,13 @@
<html:a href="about:policies" target="_blank" data-l10n-id="managed-notice"/>
</hbox>
</hbox>
@@ -89,7 +89,7 @@ index 53bdc9c912a6cd0c787dbcf41f2a82b7169d5aa7..e47c4b36b6e469b0cc8b95bde0508dc6
</hbox>
</hbox>
<vbox id="mainPrefPane">
@@ -246,6 +300,10 @@
@@ -247,6 +301,10 @@
#include sync.inc.xhtml
#include experimental.inc.xhtml
#include moreFromMozilla.inc.xhtml

View File

@@ -919,16 +919,6 @@ var gZenCKSSettings = {
};
Preferences.addAll([
{
id: 'zen.sidebar.enabled',
type: 'bool',
default: true,
},
{
id: 'zen.sidebar.close-on-blur',
type: 'bool',
default: true,
},
{
id: 'zen.view.compact.hide-toolbar',
type: 'bool',
@@ -949,11 +939,6 @@ Preferences.addAll([
type: 'bool',
default: true,
},
{
id: 'zen.splitView.change-on-hover',
type: 'bool',
default: true,
},
{
id: 'zen.tab-unloader.timeout-minutes',
type: 'int',
@@ -1039,4 +1024,9 @@ Preferences.addAll([
type: 'bool',
default: true,
},
{
id: 'media.videocontrols.picture-in-picture.enabled',
type: 'bool',
default: true,
},
]);

View File

@@ -134,27 +134,6 @@
</vbox>
</groupbox>
<hbox id="zenSidePanelsCategory"
class="subcategory"
hidden="true"
data-category="paneZenLooks">
<html:h1 data-l10n-id="pane-zen-side-panels-title"/>
</hbox>
<groupbox id="zenSidePanelsGroup" data-category="paneZenLooks" hidden="true" class="highlighting-group">
<label><html:h2 data-l10n-id="zen-side-panels-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-side-panels-description" />
<checkbox id="zenLooksAndFeelUseThemedToolbar"
data-l10n-id="zen-side-panels-enabled"
preference="zen.sidebar.enabled"/>
<hbox class="indent">
<checkbox id="zenLooksAndFeelSidebarCloseOnBlur"
data-l10n-id="zen-side-panels-close-on-blur"
preference="zen.sidebar.close-on-blur"/>
</hbox>
</groupbox>
<hbox id="zenGlanceCategory"
class="subcategory"
hidden="true"
@@ -208,20 +187,4 @@
</hbox>
</groupbox>
<hbox id="zenSplitViewCategory"
class="subcategory"
hidden="true"
data-category="paneZenLooks">
<html:h1 data-l10n-id="zen-split-view-title"/>
</hbox>
<groupbox id="zenSplitViewGroup" data-category="paneZenLooks" hidden="true" class="highlighting-group">
<label><html:h2 data-l10n-id="zen-split-view-header"/></label>
<description class="description-deemphasized" data-l10n-id="zen-split-view-description" />
<checkbox id="zenLooksAndFeelSplitViewChangeOnHover"
data-l10n-id="zen-split-view-change-on-hover"
preference="zen.splitView.change-on-hover"/>
</groupbox>
</html:template>

View File

@@ -6,7 +6,7 @@
<html:h1 data-l10n-id="pane-workspaces-title"/>
</hbox>
<hbox id="zenSidePanelsCategory"
<hbox id="zenTabManagementCategory"
class="subcategory"
hidden="true"
data-category="paneZenTabManagement">

Some files were not shown because too many files have changed in this diff Show More