Web client version still shows 0.0.0 — app.json not stamped in the container build #291

Closed
opened 2026-06-26 22:05:35 +00:00 by james · 0 comments
Owner

Follow-up to #289 / PR #290.

The v0.0.1-rc.16 build (which does include #290) still shows the version as 0.0.0 in the web/PWA settings footer.

Cause

PR #290's release.yml stamp step writes the tag version into apps/api/package.json and the root package.json, but not apps/client/app.json. The container build (Dockerfile) builds the web client bundle with pnpm -F @carol/client export:web (Dockerfile line ~79), which bakes app.json's expo.version into the bundle. The settings footer reads that at runtime via expo-constants. Since app.json was never stamped, the web bundle ships expo.version: 0.0.0 → footer shows Carol 0.0.0.

The server /api/health is correct (apps/api/package.json was stamped), and the Android APK is correct (release-android.yml stamps app.json before prebuild). Only the web client version was missed — and on web the footer shows just the client version, so the user sees 0.0.0.

Fix

Extend release.yml's "Stamp build version" step to also set apps/client/app.json expo.version (string only — versionCode is Android-only and handled by release-android.yml) before docker build.

Follow-up to #289 / PR #290. The `v0.0.1-rc.16` build (which **does** include #290) still shows the version as `0.0.0` in the web/PWA settings footer. ## Cause PR #290's `release.yml` stamp step writes the tag version into `apps/api/package.json` and the root `package.json`, but **not** `apps/client/app.json`. The container build (`Dockerfile`) builds the web client bundle with `pnpm -F @carol/client export:web` (Dockerfile line ~79), which bakes `app.json`'s `expo.version` into the bundle. The settings footer reads that at runtime via `expo-constants`. Since `app.json` was never stamped, the web bundle ships `expo.version: 0.0.0` → footer shows `Carol 0.0.0`. The server `/api/health` is correct (`apps/api/package.json` was stamped), and the Android APK is correct (`release-android.yml` stamps `app.json` before prebuild). Only the **web client version** was missed — and on web the footer shows just the client version, so the user sees `0.0.0`. ## Fix Extend `release.yml`'s "Stamp build version" step to also set `apps/client/app.json` `expo.version` (string only — `versionCode` is Android-only and handled by `release-android.yml`) before `docker build`.
james closed this issue 2026-06-26 22:24:28 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
james/carol#291
No description provided.