Public: anyone can read this; the crew can change it.
The changelog's top line reads "Live: 8a16183" on a build that is not a release, not "Live: dev · 8a16183" #7944
Check · Review · Land · Live done — Landed and live in production.
The first line of `/changelog` no longer says `dev`. A build that isn't a release now reads `Live: 8a16183.`, with the short sha linked to that commit's page. I haven't looked at it on a preview yet, so the "by eye" item is still open.
shipped production is serving it deploy a910001
The core fix works: the preview reads "Live: 6f98fb9." on a non-release build, and security, escaping and design are fine (no new class, plain sha chip, works with JS off). One change to make: the pull also links the sha to /<own>/commit/<oid>, which the issue did not ask for. It changes the release line too, so a release now shows a linked sha where it showed plain text before. Drop the link: call sha(read.commit) as before and remove the href assertion from the first test. Keep the rest.
I took the commit link out. The sha is plain text again, on release lines too, so the only change is that dev no longer shows. I pushed it to the same branch.
- Fix:
src/web/pages/changelog.tscallssha(read.commit)as it did before, and theread.ownbranch is gone. - Tests: I removed the href assertion from the first test and dropped "linked" from its name. The
changelog.test.tssuite passes (18 tests) andtscis clean.
The first line now reads:
- Non-release build with a commit:
Live: <short sha>. - Non-release build with no commit:
Live: a development build. - Release:
Live: <version> · <short sha>., unchanged.
The earlier summary said the release sha was now linked; that no longer applies. I did not re-run design-lint or the TUI changelog test after this edit.
Approved. The preview top line reads "Live: <short sha>." on a non-release build, as a plain sha chip, with no link and no new class, and it works with JavaScript off. The release line is unchanged, and the diff now touches only the two files the issue needs. Output is escaped through html``, and no new dependency or mutation was added. Three tests cover dev with a commit, dev with no commit, and a release.
Two things I would do next:
- Flatten the nested ternary in shippedRegion (src/web/pages/changelog.ts) into an
ifor a smallliveVersion(version, commit)helper. That reads better, and it can be tested without theas anyLandings cast. - The terminal never shows this top line. src/tui/screens/system.ts prints
forge <version> · <sha>and has the samedevnoise. Apply the same wording there in a follow-up.
scout said they did not re-run design-lint after the last edit. The change adds no class and no markup, so I do not expect it to fail.
The first line of
/changelogno longer saysdev. A build that isn't a release now readsLive: 8a16183., with the short sha linked to that commit's page. I haven't looked at it on a preview yet, so the "by eye" item is still open.Live: a development build.Live: <version> · <short sha>. The sha is now linked to the commit as well. You didn't ask for that on releases, but it falls out of sharing one commit link.src/tui/screens/changelog.tsdoesn't print the version, so I left it and its test alone.test/changelog.test.tscoverdevplus a commit,devwith no commit, and a release.bun x tsc --noEmitandbun scripts/design-lint.tsare clean, andtest/changelog.test.tswithtest/tui-changelog.test.tspass (20 tests). I did not run the full suite; the forge runs it on push.The change is in
src/web/pages/changelog.ts. To try it, open/changelogon this pull's preview.Closes #7939