Skip to content

[enh] Safari support - initial proof of concept#46

Draft
ellieayla wants to merge 1 commit intoasciimoo:masterfrom
ellieayla:safari
Draft

[enh] Safari support - initial proof of concept#46
ellieayla wants to merge 1 commit intoasciimoo:masterfrom
ellieayla:safari

Conversation

@ellieayla
Copy link
Copy Markdown

@ellieayla ellieayla commented Feb 15, 2026

The chrome manifest v3 can be converted automatically to a Safari Web Extention with safari-web-extension-packager, though it uses default icons and description. Effort is needed to package it up pretty. Safari doing fetch() demands CORS headers on the POST /add, and a pre-flight OPTIONS /add request. Safari web extensions appear to have a similar behaviour to Firefox, with the Origin header url containing a UUID unique to the installation.

Commit a44a471 is a minimal change to implement support, hopefully to serve as the basis for a proper implementation.

Draft: this is likely not the best way to add CORS headers, this PR is just a POC to demonstrate the possibility.

The chrome manifest v3 can be converted automatically to a Safari Web Extention with safari-web-extension-packager, though it uses default icons and description. Effort is needed to package it up pretty. The safari web extension appears to have a similar behaviour to firefox, with the Origin url containing a UUID unique to the installation.
@ellieayla ellieayla marked this pull request as draft February 15, 2026 04:06
@ellieayla
Copy link
Copy Markdown
Author

(Writing the safari extension into ext/xc-project/ without building or packaging it is also a quick & dirty hack for local testing. It may be that a safari extension should be built in a separate repo anyway.)

@ellieayla ellieayla mentioned this pull request Feb 15, 2026
@asciimoo asciimoo force-pushed the master branch 4 times, most recently from c97e843 to 2ab8377 Compare February 25, 2026 17:22
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

Successfully merging this pull request may close these issues.

1 participant