buttercup-browser-extension
buttercup-browser-extension copied to clipboard
Safari support
Add support for Safari: https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/SafariExtensionsConversionGuide/Chapters/Chrome.html
So where is this available at?
@muellmaa What do you mean? The status is "Available", as in yet-to-be-implemented.
Things to do to make this work:
- ~~Remove the persistent link between tabs for state sharing. This is not supported in Safari and could easily just be
sendMessage()
~~ (completed in #166) - Polyfill, on Safari only, some API calls: https://github.com/kritollm/chrome-extension-api-for-safari-and-firefox/blob/master/chromeAPISafari/chromeAPIForSafari.js
Hi, is anyone interested or currently developing the safari extension for buttercup? If not I would love to try a stab at if anyone else doesn't object. or already is building a solution currently that I'm not aware of.
@agustif That’d be swell! It’s not currently in development. It should be extended off of the current extension repo, perhaps using another webpack entry point if needed.
We’d really appreciate the help!
Is the Safari support still planned? It's the only thing that prevents me from trying Buttercup! :)
Is the Safari support still planned? It's the only thing that prevents me from trying Buttercup! :)
For me the same.
Any update here?
This issue might become irrelevant in its current form when it's possible to port web extensions to the new Safari (article). I don't think we'll bother supporting older versions of Safari if this is possible.
Converting an existing web extension is easy with the Xcode cli tool safari-web-extension-converter
: https://developer.apple.com/documentation/safariservices/safari_web_extensions/converting_a_web_extension_for_safari
A great thing about Safari extensions based on web extensions is that the directory for the macOS code can be kept in the same repo as the extension without holding duplicate JS/manifest/other extension files. The project.pbxproj
file is set up with references to the extension files when the cli converter tool is used in the repo, like so: https://github.com/david-shortman/readable/blob/main/Readable/Readable.xcodeproj/project.pbxproj#L64