Love the fork, just one thing thatd be really great, cloud syncing.
Just going through the chrome sync would be amazing, but adding options for other services such as dropbox or onedrive for people who dont have access to the chrome sync (if using chromium etc) would be incredible too.
Thanks!
Support for Firefox Sync would also be appreciated. The existing, third-party extension that adds this capability has stopped workingāfor everyone, judging by the recent reviews. Presumably, it would not work for Stylus in any case.
Some sort of support for third-party cloud storage, as mentioned above, might work, but Firefox Sync support would be preferred for the Firefox extension.
Any updates/eta's on this?
Obviously, none.
I prefer personal cloud storage like OneDrive, Dropbox, etc. as it can sync across browsers/platforms.
Iām sorely missing style sync functionality as well. As far as I can tell, none of the current alternatives to Stylish provide that.
storage.sync; it will probably work and sync perfectly until styles exceed 100KB and then mysteriously fail.There is also a possibility to use Violentmonkey as a style injector, using GM_addStyle. It has OneDrive, Google Drive, and Dropbox synchronization for scripts. However, styles injected with Violentmonkey do not reliably win against page styles with the same selector, so one has to artificially raise each selectorās specificity. Also, since Violentmonkey is intended for injecting scripts, it does not update styles on each save, one has to reload the page.
Part of me thinks this really is on the browser to provideāFirefox and Chrome have sync features for some of their data, but not extension configuration/data that I have observed. I don't know if the stylus developers want or should have access to the list of extensions you are running on your browser, and a cloud sync of some sort essentially has at least the potential to give them that, as well as requiring them to operate a server or something.
At least with Chrome/Firefox you have already made the decision (if you have) to have these browser makers' cloud servers hosting a copy of your data. What's a few CSS files when they've already got (theoretically at least) your bank passwords? By the time you're talking about that, either you trust them to safely encrypt the data they're storing about you or you don't.
If you don't care about the encryption part (since it is just a bunch of CSS filesāalthough that provides a fair amount of metadata about what sites you use, how you prefer to reconfigure them, etc.) Dropbox might be possible now if you know what things to link where, at least on OSes that have filesystem-level symlinks. That ought to include Windows at this point, but ⦠this isn't something commonly used on that platform. For the time being, that hasn't been described anywhere I could find. (Looking for it led me here.)
Ideally the plugin could support a direct OAuth to Dropbox something. The problem is that I think people would want support for all of the competitors to Dropbox at that point such as owncloud and iCloud and OneDrive and ⦠there's got to be a better solution than implementing and supporting all of that. I just don't know what it is. That's why using the browser's own sync when available would be best.
the solution probably is just to support as many as people can be bothered to do (i don't mean that in an insulting way). Someone has to do it right? then if anyone is feeling proactive, they'll try moving that code over into an external library others can use and contribute to. or, there might already be a library no one has noticed. people should be glad for any form of syncing support though lol
Part of me thinks this really is on the browser to provide... That's why using the browser's own sync when available would be best.
They provide the API. It is not the best. They set arbitrarily low limits on practically all values.
I don't know if the stylus developers want or should have access to the list of extensions you are running on your browser, and a cloud sync of some sort essentially has at least the potential to give them that, as well as requiring them to operate a server or something.
We don't want "access" to any of your personal data. Quite the opposite really. Syncing your DB with your own personal external storage account does not require us to run a server, which is a good thing since we don't run one and aren't panning to.
The problem is that I think people would want support for all of the competitors to Dropbox at that point such as owncloud and iCloud and OneDrive and
How is that a problem? The plan was to start off with Dropbox or Google Drive, but that doesn't exclude others as future possibilities. The user working on the PR currently started with Dropbox, but seems to be planning on Google Drive. Would others be necessary? No. Would others be considered? I don't see why not.
As far as all the security implications you seem to think this feature will have, if you don't like it, don't use it. Problem solved. Where do you think storage.sync pulls your data from anyway? If you use Chromium, and sync your DB with Google Drive, you're literally using the same company's servers, only without all the limitations.
We're talking about a style DB here, not your banking passwords. If you don't trust any external storage, don't use it. Export your DB and email to yourself instead. Same thing, slightly less convenient.
⦠there's got to be a better solution than implementing and supporting all of that. I just don't know what it is. That's why using the browser's own sync when available would be best.
The built-in storage.sync is inadequate, and not an option. Talking about how it'd be nice if it was, isn't gonna change that. The reason you're not coming up with any better idea than external storage, is because there is none.
My plan was Dropbox actually, which is totally not encrypted on their servers. Mozilla and Google both encrypt your data because it could be your banking passwords.
When I originally looked for an answer to the sync question, I saw that it was thought not worthwhile to implement. That was some time ago. The thought in my mind was that the more complex this is and the more difficult it is to maintain, the less likely it is to get done or be maintained. One or two solutions people actually use seems sufficient, and both Dropbox and Google Drive have free accounts that'd more than accommodate even the heaviest CSS collections. :)
It's too bad the browser APIs are so limited. But then again, I use multiple browsers, so maybe a solution that works with multiple browsers would be better.
Overall, just happy to see that there's interest from other users and that there's someone actually looking at implementing it. š
@ibrokemypie Chromium does not support chrome sync? That's news to me, I'm in Chromium right now and it syncs everything.
But yes, I second this feature request. Maybe I can look into implementation some times in the future, no promises though.
@Xerus2000 It's not the problem of who implement chrome sync, it's the problem of the api itself, and the quotas (and even more because depending of the browsers).
Just for information, I'm trying to implement Dropbox in an app myself now, but I'm planning an automatic sync in background when the user link his account.
I don't have a precise idea of what is their approbation form anyway.
ViolentMonkey has complete sync support, src can be adopted: https://github.com/violentmonkey/violentmonkey/tree/master/src/background/sync
+1 to this feature request
@yurikhan
What's the disadvantage of xstyles? it looks to be pretty much feature parity with stylus?
@jcklpe I donāt know, itās just⦠ugly?
It tries very hard to fit into the Chrome UI design language. Which, in my Firefox, is really out of place.
It displays code in a selection of fonts, none of which are installed on my machine, nor match my expectation for code editor font. (Which is basically whichever monospaced font I have configured in Firefox preferences, i.e. font-family: monospace.)
If those are not an issue for you, then yes, itās an okay alternative. But Iād rather use a restyling add-on that does not make me want to restyle itself. (Which it cannot do because of WebExtensions restrictions on touching the browser UI.)
Which it cannot do because of WebExtensions restrictions on touching the browser UI.
@yurikhan It's true that WebExtensions are prohibited from affecting the browser UI, and other extensions, but all of these Stylish-for-Chrome based extensions can style their own internal pages. This capability was added years ago. There's many styles for the Stylus UI on USO and elsewhere.
I maintain a dark style with optional compact manager layouts here. Shadowfox seems pretty popular among FF users since the color scheme is familiar. Stylus DeepDark seems buried on USO, but fairly popular as usercss because it has user customizable colors.
Btw, Dropbox sync was implemented quite a while ago. You'll find the option in the import/export dropdowns in the manager. Not sure if you guys are looking for something else, or if you're just unaware that it exists.
I wouldn't exactly call Stylus's import and export to Dropbox a "sync".
If you add any styles to any browser, you must remember go into manage and manually import from dropbox, then manually export to dropbox. Then on all other browsers you use (I have three "users" in my Chromium-based desktop browsers, times two desktops, and somewhat fortunately at the moment no support for my three mobile devices!), you must repeat the manual import/export process in each of those other browsers.
The import/export is necessary because of the possibility that you're already out of sync. If you export without importing first, any styles you don't have on the current browser will be lost. Export is fully a replace-everything affair. Import at least adds and ignores duplicates.
But my point stands: That's not really a sync if the whole process is manual and multi-step for each browser, every time a change is made.
(I also noticed in Chromium based browsers that the Dropbox OAuth is a little fiddlyāit doesn't always authenticate, it gives errors about being unable to authenticate after doing it successfully, and it can pop up a new OAuth randomly on top of random pages, then give you a "too many tries" error⦠I stopped using the dropbox import/export at that point since each browser I use is on a machine with a local Dropbox dir. I just overwrite "~/Dropbox/Apps/Stylus - Userstyles Manager/stylus.json" with a manual export. I don't bother zipping it since the standard file import/export doesn't seem to work with zipā¦)
@jcklpe I donāt know, itās just⦠ugly?
It tries very hard to fit into the Chrome UI design language. Which, in my Firefox, is really out of place.
It displays code in a selection of fonts, none of which are installed on my machine, nor match my expectation for code editor font. (Which is basically whichever monospaced font I have configured in Firefox preferences, i.e.
font-family: monospace.)If those are not an issue for you, then yes, itās an okay alternative. But Iād rather use a restyling add-on that does not make me want to restyle itself. (Which it cannot do because of WebExtensions restrictions on touching the browser UI.)
Ah I actually like the UI but I did experience the same problems as you with the fonts stuff.
Btw, Dropbox sync was implemented quite a while ago. You'll find the option in the import/export dropdowns in the manager. Not sure if you guys are looking for something else, or if you're just unaware that it exists.
Unfortunately don't use Dropbox, and the import export doesn't really meet my needs.
I did however figure out how to use .user.css though and it has the benefit of enabling me to more cleanly use a scss preprocessor etc. I sync all personal files on my computers using my NextCloud server so for now this is a sufficient solution š
Most helpful comment
Support for Firefox Sync would also be appreciated. The existing, third-party extension that adds this capability has stopped workingāfor everyone, judging by the recent reviews. Presumably, it would not work for Stylus in any case.
Some sort of support for third-party cloud storage, as mentioned above, might work, but Firefox Sync support would be preferred for the Firefox extension.