Build info: show the commit message
Status summary: done. Three-file change (stamp script, placeholder, screen row), published to the preview channel as the first live test of the agent-PR → phone flow. Surfaced two publish-flow gotchas, noted below; one has a follow-up task.
The Build info screen shows branch/commit/author/time but not what the commit was. A hash means nothing at a glance; the subject line is the human-readable identity of the bundle. Add it.
- stamp
message(commit subject) inapps/mobile/scripts/write-build-info.mjsviagit log -1 --format=%s, sliced to 200 chars; "" on EAS's .git-less archive like the other fields - add
messageto the checked-in placeholderapps/mobile/src/build-info.json - render a Message row in the Bundle section of
apps/mobile/src/app/build-info.tsxbetween Commit and Built by - publish the branch to the preview channel so the installed app can pull it via Check for update published update
019fcd58-d5e5(runtime37fb004c, matching build50ae8bb1) from commit 4adf339
Implementation notes#
- Metro cache is poisoned across worktrees. The first
eas updateexport failed because ause domentry in the shared cache pointed at the root worktree's absolute path.--clear-cachefixes it; any worktree-hopping publish needs it. eas updaterequires--messagein non-interactive shells. The localupdate:previewscript didn't pass one, so it only works from a TTY. Tried fixing with--message "$(git log -1 --format=%s)"in the script and hit the bigger gotcha:- The runtime fingerprint hashes
package.jsonscripts. Editingupdate:previewchanged the fingerprint from37fb004ctof195c3d2, which would strand every installed binary despite zero native changes. Reverted the script edit from this PR to keep the flow test honest (update019fcd57on the orphaned runtime is harmless). Follow-up: add a fingerprint config withsourceSkipsfor package.json scripts, then land the--messagefix — spawned as a separate task.