Files
Termix/public
e152bacc7c fix(sw): stamp __TERMIX_SW_BASE_PATH__ and cache version into sw.js at build time (#1618)
* fix(sw): stamp __TERMIX_SW_BASE_PATH__ and version into sw.js at build time

vite copies public/ verbatim, so the placeholder in public/sw.js reached
dist/sw.js untouched. The service worker then requested
__TERMIX_SW_BASE_PATH__/favicon.ico and friends, its install promise
rejected, and it never activated - while a worker from an older release
kept serving its cached frontend against a newer backend.

scripts/stamp-sw-build-info.cjs now runs right after vite build and
replaces both placeholders in dist/sw.js:

- __TERMIX_SW_BASE_PATH__ -> the base path the build used (VITE_BASE_PATH,
  or root-relative by default, matching vite.config.ts)
- __TERMIX_CACHE_VERSION__ -> package.json version, so CACHE_NAME changes
  per release and the activate handler evicts the previous build's cache

Closes #1617

* chore: format stamp-sw-build-info.cjs to prettier style

* fix: preserve runtime service worker base paths

---------

Co-authored-by: inontz <inontz@users.noreply.github.com>
Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
2026-10-14 08:17:40 +08:00
..
2025-10-08 23:55:33 -05:00
2026-10-12 11:35:48 -05:00
2026-10-10 14:58:27 -05:00
2026-10-12 11:35:48 -05:00
2026-10-12 11:35:48 -05:00
2026-10-12 11:35:48 -05:00
2026-10-10 14:58:27 -05:00
2026-10-12 11:35:48 -05:00
2026-10-12 11:35:48 -05:00
2026-10-12 11:35:48 -05:00
2026-10-10 14:58:27 -05:00
2026-10-10 14:58:27 -05:00
2025-10-01 15:40:10 -05:00