Anybody else having trouble with v4.5.9?
My test upgrade, upgrading from v4.5.8 and following the non-docker directions from the release notes, failed on the precompile stage with:
$ RAILS_ENV=production bundle exec rails assets:precompile
I, [2026-04-15T17:45:42.657379 #67936] INFO -- : [dotenv] Loaded .env.production
Building with Vite ÿ
yarn run v1.22.19
$ /usr/home/mastodon/live/node_modules/.bin/vite build --mode production
vite v7.3.2 building client environment for production...
transforming...
✓ 1901 modules transformed.
info Visit yarnpkg.com/en/docs/cli/run for documentation about this command.
✗ Build failed in 11.89s
error during build:
[vite-plugin-pwa:build] [plugin vite-plugin-pwa:build] assets/worker-!~{001}~.js (323:31): There was an error during the build:
Could not load /usr/home/mastodon/live/app/javascript/mastodon/features/emoji/worker.ts?worker&inline (imported by app/javascript/mastodon/features/emoji/index.ts): Transform failed with 5 errors:
assets/worker-!~{001}~.js:323:31: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
assets/worker-!~{001}~.js:1133:8: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
assets/worker-!~{001}~.js:5721:13: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
assets/worker-!~{001}~.js:5816:8: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
assets/worker-!~{001}~.js:5817:10: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
Additionally, handling the error in the 'buildEnd' hook caused the following error:
Could not load /usr/home/mastodon/live/app/javascript/mastodon/features/emoji/worker.ts?worker&inline (imported by app/javascript/mastodon/features/emoji/index.ts): Transform failed with 5 errors:
assets/worker-!~{001}~.js:323:31: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
assets/worker-!~{001}~.js:1133:8: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
assets/worker-!~{001}~.js:5721:13: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
assets/worker-!~{001}~.js:5816:8: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
assets/worker-!~{001}~.js:5817:10: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
file: assets/worker-!~{001}~.js:323:31
Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
321 | * @param callbacks Additional callbacks.
322 | */
323 | function openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {
| ^
324 | const request = indexedDB.open(name, version);
325 | const openPromise = wrap(request);
Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
1131 | }
1132 | module.exports = requireCommon()(exports$1);
1133 | const { formatters } = module.exports;
| ^
1134 | formatters.j = function(v) {
1135 | try {
Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
5719 | )
5720 | );
5721 | for (const [locale, loaded] of locales) {
| ^
5722 | if (loaded) {
5723 | loadedLocales.add(locale);
Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
5814 | self.postMessage("ready");
5815 | function handleMessage(event) {
5816 | const {
| ^
5817 | data: { locale, path }
5818 | } = event;
(continued..)
jcrabapple reshared this.

Allen but one of the good ones
in reply to Allen but one of the good ones • • •(continued...)
Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
5815 | function handleMessage(event) {
5816 | const {
5817 | data: { locale, path }
| ^
5818 | } = event;
5819 | void loadData(locale, path);
at getRollupError (file:///usr/home/mastodon/live/node_modules/vite/node_modules/rollup/dist/es/shared/parseAst.js:406:41)
... Show more...at file:///usr/home/mastodon/live/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:23863:39
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async catchUnfinishedHookActions (file:///usr/home/mastodon/live/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:23321:16)
at async rollupInternal (file:///usr/home/mastodon/live/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:23846:5)
at async buildEnvironment (file:///usr/home/mastodon/live/node_modules/vite/dist/node/chunks/config.js:33545:12)
at async Object.build (fil
(continued...)
Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
5815 | function handleMessage(event) {
5816 | const {
5817 | data: { locale, path }
| ^
5818 | } = event;
5819 | void loadData(locale, path);
at getRollupError (file:///usr/home/mastodon/live/node_modules/vite/node_modules/rollup/dist/es/shared/parseAst.js:406:41)
at file:///usr/home/mastodon/live/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:23863:39
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async catchUnfinishedHookActions (file:///usr/home/mastodon/live/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:23321:16)
at async rollupInternal (file:///usr/home/mastodon/live/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:23846:5)
at async buildEnvironment (file:///usr/home/mastodon/live/node_modules/vite/dist/node/chunks/config.js:33545:12)
at async Object.build (file:///usr/home/mastodon/live/node_modules/vite/dist/node/chunks/config.js:33904:19)
at async Object.buildApp (file:///usr/home/mastodon/live/node_modules/vite/dist/node/chunks/config.js:33901:153)
at async CAC.<anonymous> (file:///usr/home/mastodon/live/node_modules/vite/dist/node/cli.js:629:3)
error Command failed with exit code 1.
pid 76814 exit 1
Build with Vite failed! ❌
Allen but one of the good ones
in reply to Allen but one of the good ones • • •Fixed it! Not sure what the actual problem was, but the one common change on all my environments that eventually got it to build successfully was upgrading Node from version 20 to 24.
I don't think the version was the problem - 20 is still supported in mastodon 4.5 - but whatever. I massaged all the instances into successfully upgrading by hand and now it's done.