Skip to content
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

Partial sync #7

Closed
ThiefMaster opened this issue Jul 10, 2019 · 8 comments
Closed

Partial sync #7

ThiefMaster opened this issue Jul 10, 2019 · 8 comments

Comments

@ThiefMaster
Copy link

ThiefMaster commented Jul 10, 2019

Currently enabling sync means that enabling patterns or a particular proxy is synced to all devices in addition to syncing the proxy configurations.

It would be nice to have an option to sync only the proxy configurations but not what's enabled - I like having the same config on all devices, but NOT use a certain proxy on all other devices just because I enabled it on my laptop.

A button to copy between the synced and local set of proxies would be nice as well.

@ericjung
Copy link
Collaborator

It would be nice to have an option to sync only the proxy configurations but not what's enabled

The storageAPI does not support partial synchronization; it's all or nothing. So this is not possible without rolling my own synchronization and maintaining sync servers, which is not something I'm willing to do, but I will accept patches/contributions for it.

A button to copy between the synced and local set of proxies would be nice as well.

That is what happens when you turn on sync, no? Local is copied to synched. Maybe you mean the other way? But there is also import/export to do the same. And 6.6, being released pending Mozilla review, adds support for import/export of just patterns per proxy (not everything). It was actually added in 6.5 but Mozilla rejected that release.

@ThiefMaster
Copy link
Author

I mean the other way around: I currently have proxies configured and synced. Now I want to turn them on locally. So I'd disable sync - but that results in my configured proxies disappearing, since the local list is empty.

@ericjung
Copy link
Collaborator

What about:

  1. Export proxies to a file while sync is on
  2. Turn synch off
  3. Import file from Update import.js #1

If you have to do this often, then it's not good. But you didn't explain if this is something you need often.

Also, would selective import/export be useful? That is, select which proxies to export or import from a list (Currently all are imported/exported)

@sabberworm
Copy link

Hi @ericjung,

I, too, would love to see this feature. Your explanation of the storage API makes sense but IMHO doesn’t really mean the only way to support this would be to roll your own sync.

It seems to me you could just split the “which config is currently selected” option into two, one for sync and another which is actually applied. Whenever the first setting changes after a sync, you either apply it to the other or you don’t depending on the user’s preference.

@ericjung
Copy link
Collaborator

It seems to me you could just split the “which config is currently selected” option into two, one for sync and another which is actually applied. Whenever the first setting changes after a sync, you either apply it to the other or you don’t depending on the user’s preference.

I don’t really understand. Can you explain differently or post a screenshot of the UI you envision?

@sabberworm
Copy link

UI-wise, the only change would be a new checkbox. In addition to “Synchronize Settings”, there would be “Synchronize Selection” (or similar).

When changing which config is active, the change would only be stored to the synced part of the options if that switch is on. Likewise, when the value changes after a sync, only apply it if the checkbox is on.

@ericjung
Copy link
Collaborator

OK, just to be clear: you want to synchronize everything (proxy configurations, patterns) but you want the active proxy configuration (or FoxyProxy turned off) to be synch'd separately? Right?

@sabberworm
Copy link

Yes, that’s what I want. And I hope that’s what the OP was going for as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants