Commit Graph

4552 Commits

Author SHA1 Message Date
Marcus Bergo
263db42602 Fix tab switching crash when creating new tabs (Issue #7716)
Problem:
The Zen browser was experiencing random crashes when switching tabs, particularly
when creating a new tab with Ctrl+T and typing a URL. The crash logs showed
"CompositorBridgeChild receives IPC close with reason=AbnormalShutdown" errors,
indicating issues with the graphics compositor during tab switching operations.
This was caused by race conditions in the tab switching code and lack of proper
error handling when dealing with browser elements that might be in an invalid state.

Solution:
Instead of just catching errors, we've implemented a more robust solution that addresses
the root causes of the race conditions in the tab switching code:

1. State Management System:
   - Added a queue-based system for tab operations to ensure they execute in sequence
   - Implemented debouncing to prevent rapid tab switching that could cause race conditions
   - Added state validation before operations to ensure browser elements are in a valid state

2. Asynchronous Operation Handling:
   - Used Promises and async/await for proper sequencing of operations
   - Added proper timing controls with small delays to ensure DOM is ready
   - Implemented a mutex-like approach to prevent concurrent workspace changes

3. Robust Tab State Validation:
   - Added comprehensive checks for tab validity before operations
   - Implemented proper cleanup of resources to prevent memory leaks
   - Added validation for browser window state to prevent operations on closed windows

4. Improved Error Recovery:
   - Added fallback mechanisms when operations fail
   - Implemented proper cleanup of state even when errors occur
   - Added more informative error messages for better debugging

These changes make the browser much more robust when handling tab switching operations,
preventing the crashes reported in issue #7716.
2025-04-21 01:59:47 -03:00
mr. m
fb1575d875 fix: Fixed window controls not being accessible on fullscreen when element separation is 0, b=(no-bug), c=tabs 1.11.5b 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>
1.11.4b
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