-
-
Notifications
You must be signed in to change notification settings - Fork 503
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Register contextual identity (container) sync engine #2254
base: dev
Are you sure you want to change the base?
Feature: Register contextual identity (container) sync engine #2254
Conversation
This commit introduces a new sync engine for syncing contextual identities (containers) - Adds `services.sync.engine.contextualidentities` preference, which enables syncing of contextual identity data. - Modifies the `zen-settings.js` file to include the new preference. - Updates `ZenStartup.mjs` to register the `ZenContextualIdentityEngine` and enables syncing of contextual identities. - Introduces a new patch file `ContextualIdentityService-sys-mjs.patch`, which modifies the `ContextualIdentityService.sys.mjs` file to add a `createWithId` method for creating contextual identities. This change ensures that contextual identities are properly synced across all Zen browser instances.
📝 WalkthroughWalkthroughThe changes in this pull request include several modifications to the configuration preferences and functionality of the Zen browser. A new preference for synchronizing contextual identities is introduced, along with updates to existing preferences related to user interface elements. Additionally, new methods for managing contextual identities are added, and improvements are made to the initialization and event handling of theme settings in the Zen Marketplace. Overall, these changes enhance synchronization capabilities and user interface responsiveness. Changes
Possibly related PRs
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
📒 Files selected for processing (4)
- src/browser/app/profile/zen-browser.js (1 hunks)
- src/browser/base/content/ZenStartup.mjs (1 hunks)
- src/browser/components/preferences/zen-settings.js (1 hunks)
- src/toolkit/components/contextualidentity/ContextualIdentityService-sys-mjs.patch (1 hunks)
🧰 Additional context used
🔇 Additional comments (3)
src/browser/app/profile/zen-browser.js (2)
144-144
: LGTM: New sync engine for contextual identities enabledThis new preference enables the synchronization of contextual identities (containers) across devices, which aligns with the PR objective. This feature will enhance user experience by maintaining consistent container settings across multiple instances of the Zen browser.
Line range hint
226-227
: Ensure thorough testing of experimental featuresSeveral experimental features have been enabled or modified:
- GPU acceleration is now enabled by default, which could significantly improve performance but might also introduce compatibility issues on some systems.
- TLS and HTTP3 Kyber support has been enabled, which enhances security but is still experimental.
These changes have the potential to greatly improve the browser's performance and security. However, given their experimental nature, it's crucial to conduct thorough testing across various environments and use cases to ensure stability and compatibility.
Consider adding telemetry or error reporting mechanisms for these features to monitor their impact in real-world usage.
To verify the impact of these changes, you can run the following commands:
Also applies to: 233-234, 236-237
✅ Verification successful
Verification Successful: No Issues Found
The code at
src/browser/app/profile/zen-browser.js
lines 141-147 correctly includes the preference settings for GPU acceleration and Kyber. The commented-out line (pref('gfx.webrender.all', true);
) remains as observed, with no additional or removed code affecting these configurations.No further action is required.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check for any existing issues related to GPU acceleration or Kyber rg -i "gpu|webrender|kyber" $(fd -t f -e log) # Look for any performance-related code that might be affected by these changes ast-grep --pattern 'function $FUNC_NAME($_) { $$$ performance $$$ }'Length of output: 784
Script:
#!/bin/bash # Search for usage of GPU and Kyber settings in the codebase rg -i 'gfx\.webrender\.all|layers\.gpu-process\.enabled|security\.tls\.enable_kyber|network\.http\.http3\.enable_kyber' # Search for conditional statements that depend on these settings ast-grep --pattern 'if ($_ == "gfx.webrender.all") { $$$ }' ast-grep --pattern 'if ($_ == "layers.gpu-process.enabled") { $$$ }' ast-grep --pattern 'if ($_ == "security.tls.enable_kyber") { $$$ }' ast-grep --pattern 'if ($_ == "network.http.http3.enable_kyber") { $$$ }'Length of output: 721
src/toolkit/components/contextualidentity/ContextualIdentityService-sys-mjs.patch (1)
10-49
: Verify integration with synchronization mechanismsSince the
createWithId
method allows creating contextual identities with a specificuserContextId
, ensure this change integrates smoothly with existing synchronization logic and does not introduce conflicts when syncing identities across devices.
src/toolkit/components/contextualidentity/ContextualIdentityService-sys-mjs.patch
Show resolved
Hide resolved
src/toolkit/components/contextualidentity/ContextualIdentityService-sys-mjs.patch
Show resolved
Hide resolved
src/toolkit/components/contextualidentity/ContextualIdentityService-sys-mjs.patch
Show resolved
Hide resolved
src/toolkit/components/contextualidentity/ContextualIdentityService-sys-mjs.patch
Show resolved
Hide resolved
Any chance this is going to be reworked and implemented any time soon for all the new Zen changes? |
It's on hold at the moment |
This PR introduces a new sync engine for syncing contextual identities (containers)
services.sync.engine.contextualidentities
preference, which enables syncing of contextual identity data.zen-settings.js
file to include the new preference.ZenStartup.mjs
to register theZenContextualIdentityEngine
and enables syncing of contextual identities.ContextualIdentityService-sys-mjs.patch
, which modifies theContextualIdentityService.sys.mjs
file to add acreateWithId
method for creating contextual identities.This change ensures that contextual identities are properly synced across all Zen browser instances.
Depends on:
https://github.com/zen-browser/components/pull/62
Fixes:
#2154
Summary by CodeRabbit
Release Notes
New Features
Improvements
These enhancements aim to improve user experience by providing better synchronization and more responsive settings management.