fix(themes): serve the Theme Store from GitHub raw, not jsDelivr (#1051)

Theme assets (registry.json, theme CSS, thumbnails) were served from the
jsDelivr CDN's mutable @main edge, which caches up to 12h. The registry is
purged on every themes push so updates were offered promptly — but the theme
CSS could still be served stale, so an update stored pre-update CSS under the
new version label and no further update was offered to correct it (a freshly
animated theme would install without its @keyframes).

Fetch everything from GitHub raw (permissive CORS, ~5-min server cache), which
is always current. jsDelivr is dropped entirely: our request volume does not
need a CDN, and its only real upside here (high-traffic edge serving) does not
apply, while its staleness actively caused the bug.

Rename cdnUrl -> assetUrl to reflect the source.
This commit is contained in:
Psychotoxical
2026-06-09 20:24:43 +02:00
committed by GitHub
parent 316c99ba07
commit 155ef88cc0
13 changed files with 47 additions and 63 deletions
+1 -1
View File
@@ -399,7 +399,7 @@ export const settings = {
themeStoreTitle: 'Theme Store',
themeStoreSubmitText: 'Made your own theme? Share it with the community — more info in the themes repository.',
themeStoreSubmitLink: 'Open the themes repository',
themeStoreNetworkNotice: 'The Theme Store loads its catalogue and previews from external services (the jsDelivr CDN and GitHub). No personal data is sent.',
themeStoreNetworkNotice: 'The Theme Store loads its catalogue and previews from GitHub. No personal data is sent.',
themeStoreStatsNotice: 'Last-changed dates refresh once a day (around 04:17 UTC).',
themeStoreSearchPlaceholder: 'Search themes…',
themeStoreFilterMode: 'Filter by mode',