-
-
Notifications
You must be signed in to change notification settings - Fork 291
Description
Describe the feature you'd like to request
I really like floccus and the project, thanks for making it possible. However, I still feel stuck because I am still using a Firefox account to sync my other information with my other devices (namely Themes, Add-ons, Open tabs, History and Settings). I understand if goes out of scope of this project and this might require a different approach based on different browsers. Of course, each "sync option" that I present below would need to be toggled on or off depending on the preference of the user. This choice might also be device-specific.
I have been made aware that it is possible to self-host Firefox sync. This does not undermine that having that functionality in floccus would be great IMO: https://github.com/mozilla-services/syncstorage-rs
Describe the solution you'd like
Current WebExtension APIs do exist, but does not cover the full need. If this issue can push the project to sync more data, I'd still be pretty happy :
- History: Since this information changes quickly, the extension could just update the remote server every X minutes about the current history difference. This could either be a "shared/fused" history or a per-device history. Giving the user a choice between these two modes might be an implementation hassle but more choices are always appreciated. Safari does not expose this.
- Search (get history): https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history/search
- Add (Or don't, just keep it in floccus history) : https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history/addUrl
- Delete: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history/deleteUrl
- onVisited: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history/onVisited
- Tabs : Since this information changes quickly, the extension could just update the remote server every X minutes about the current tab "status" of the device is. This would also need for each device / browser (ex: Same device but 2 different browsers) to be able to be uniquely identified. That might be an "anti-feature" for some users to fingerprint their own browser!
- Get tabs: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query
- Create tabs: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/create
- onCreated: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onCreated
- onRemoved: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onRemoved
- onUpdated: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated
- Themes / Add-ons: This data would be browser-specific. Safari seems to be the odds-one-out to not include that API at all.
- Get all addons / themes: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/getAll
- Install (Only themes, Firefox only, however for other browsers and addons, floccus could add a notification to redirect the user to go download the extension or to uninstall): https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/install
- Uninstall (Funnily enough, Firefox does not support this): https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/uninstall
- onInstalled: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/onInstalled
- onUninstalled: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/onUninstalled
- setEnabled (Firefox note: only themes...) : https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/setEnabled
- OnEnabled: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/onEnabled
- OnDisabled: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/management/onDisabled
- Settings: Now here this becomes... complicated. There is a "browserSettings" API, but it is pretty limited. This is understandable since browsers wouldn't extensions to change or see very sensitive data either in general or more specific configuration pages. There is still the possibility of having the user go to the settings pages and web scrape. This would need explicit acknowledgment from the user and lots of effort from the extension to keep up with all the different settings UI.
Describe alternatives you've considered
Floccus and folder sync with tools like syncthing and the like. It would not be configurable enough and would probably break when either working on 2 devices at the same time, syncing while making modifications in the browser or even casual navigation. It could also not work / be tedious to set up for multiple browsers.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status