aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-26 17:19:47 +0200
committerDanilo M. <danix@danix.xyz>2026-09-26 17:19:47 +0200
commit7b1b0f02ee3a794aea1090a97c523015b2bd59b0 (patch)
tree877a1a9474f6c7a941c6804327b00cb7e463c7bb
parent7b9459c774b986d76107f33ee39276d6fcb251b6 (diff)
downloadfirefly-update-7b1b0f02ee3a794aea1090a97c523015b2bd59b0.tar.gz
firefly-update-7b1b0f02ee3a794aea1090a97c523015b2bd59b0.zip
Validate extract on Vite manifest; v6.7 dropped v1 app.jsHEADmaster
v6.7.x release zips no longer ship public/v1/js/app.js (new layout), so the post-extract check aborted every update. public/build/manifest.json is in both 6.6.x and 6.7.x zips and missing from the composer dist, so it still catches a source-only tree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
-rw-r--r--CLAUDE.md5
-rw-r--r--firefly-update6
2 files changed, 9 insertions, 2 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 4ccf70c..e4b593a 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -12,6 +12,11 @@ Debian. See README.md for usage; this file is the non-obvious context.
pages throw `Vite manifest not found (public/build/manifest.json)` as a
secondary symptom. The zip is prebuilt and is the supported artifact.
+- **v6.7 dropped the legacy `public/v1/js/app.js` bundle** (new layout; only
+ `public/v1/js/ff/*` and `.htaccess` remain). The extract check keys on
+ `public/build/manifest.json` instead, present in 6.6.x and 6.7.x zips and
+ absent from the composer dist. Don't go back to checking `app.js`.
+
- **Release tag carries a leading `v`** (`v6.6.5`). Asset name is
`FireflyIII-<tag>.zip` with the `v` included. `--version` is normalized so
both `6.6.5` and `v6.6.5` work; don't reintroduce a double-`v` bug.
diff --git a/firefly-update b/firefly-update
index 59cfc28..aacb850 100644
--- a/firefly-update
+++ b/firefly-update
@@ -135,7 +135,7 @@ echo "installing firefly-iii $tag"
# Install from the official release zip, NOT composer create-project. The
# composer/Packagist dist ships source only: it lacks the webpack-compiled
-# frontend bundles (public/v1/js/app.js etc.), which breaks the UI (no graphs,
+# frontend bundles (public/build, and public/v1/js before 6.7), which breaks the UI (no graphs,
# broken pages). The release zip is prebuilt and is the artifact Firefly's
# install docs point at. Asset name is FireflyIII-<tag>.zip, tag incl. the "v".
rm -rf "$UPDATED"
@@ -170,7 +170,9 @@ rm -f "$zip"
# Validate the extracted tree before proceeding. A partial extract must not be
# allowed to replace the live install. $OLD does not exist yet at this point,
# so failing here leaves the live instance untouched (ERR trap + set -e).
-for item in artisan bootstrap vendor public/v1/js/app.js; do
+# public/build/manifest.json marks prebuilt frontend in every release (6.7
+# dropped the legacy public/v1/js/app.js bundle); composer dist lacks it.
+for item in artisan bootstrap vendor public/build/manifest.json; do
[ -e "${UPDATED}/${item}" ] || { echo "extracted install incomplete, missing: $item" >&2; exit 1; }
done