-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add Firefox Sync support for workspaces, folders, and pinned tabs #12063
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
base: dev
Are you sure you want to change the base?
Conversation
src/zen/folders/ZenFolders.mjs
Outdated
|
|
||
| // Notify sync engine if pinned/essential tab was moved to folder | ||
| if (group.isZenFolder && (tab.pinned || tab.hasAttribute("zen-essential"))) { | ||
| Services.obs.notifyObservers(null, "zen-pinned-tabs-changed"); |
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.
These notifiers should be called from ZenWindowSync imo
src/zen/workspaces/ZenWorkspaces.mjs
Outdated
| window.dispatchEvent(new CustomEvent("ZenWorkspaceDataChanged"), { bubbles: true }); | ||
| window.gZenWindowSync.propagateWorkspacesToAllWindows(aSpaceData ?? this._workspaceCache); | ||
| // Notify sync engine of workspace changes | ||
| Services.obs.notifyObservers(null, "zen-workspaces-changed"); |
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.
Also call from the WindowSync manager
src/zen/tabs/ZenPinnedTabManager.mjs
Outdated
| // Only notify sync engine if tab is being unpinned, not closed | ||
| // When a tab is closing, it will be removed anyway, no need to sync | ||
| if (!tab.closing) { | ||
| Services.obs.notifyObservers(null, "zen-pinned-tabs-changed"); |
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.
Also call from the WindowSync manager
…all locales" This reverts commit 7f8d764.
|
Does it also sync the containers linked to a workspace ? |
Not sure, would have to double verify. Right now I'm stuck with stabilizing the sync. It's not ready yet for use but from my last test I'm sure the container ID at least is synced. The more interesting question would be how to make sure specific containers are belonging to each other cross device. |
|
I hope it came soon. just waiting this for change from Arc Browser. |
|
I will try to get some time to work on this. Last week was very busy. Since this is my first time working on Firefox & Sync Engines directly I want to make sure this 100% works. With my last changes I made I was able to get tabs synced but workspace changes very often were delayed or overwritten by different clients. I will work on this today or tomorrow and try to find a solution that is stable. |
Hope you get it! |
This adds a new Firefox Sync engine that syncs:
The sync is enabled by default when Firefox Sync is active. It uses a single-record approach similar to the Prefs engine, with last-writer-wins conflict resolution.
Key things:
The engine triggers sync on workspace changes, folder changes, pinned tab changes, tab moves, and folder icon updates.