Skip to content

chore: refresh the vendored console to 2cb8d78e24ad + fix the refresh bump type (#3528)#3558

Merged
os-zhuang merged 1 commit into
mainfrom
claude/screen-flow-submit-resume-v9dqjx
Jul 27, 2026
Merged

chore: refresh the vendored console to 2cb8d78e24ad + fix the refresh bump type (#3528)#3558
os-zhuang merged 1 commit into
mainfrom
claude/screen-flow-submit-resume-v9dqjx

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Ships the #3528 screen-flow fixes to actual users, and fixes a silent bug in the refresh tooling found while doing it.

Why this is needed

@objectstack/console publishes a prebuilt objectui SPA pinned by .objectui-sha: the release pipeline clones objectui at that commit, builds it, and ships the dist alongside the framework. So a merged objectui fix reaches nobody until the pin moves.

The screen-flow fixes for #3528 landed in objectui (objectui#2830, objectui#2833) and were stranded there. This is not hypothetical — it is the exact trap I hit while investigating the issue: the console source was already correct while the running console at /_console served an older build, which is why the first repro looked like the bug was somewhere else entirely.

Pin: cf2d56e32a112cb8d78e24ad (objectui main), which carries both screen-flow PRs plus everything else merged frontend-side since the last refresh. The generated changeset lists the full range.

The tooling bug

scripts/bump-objectui.sh picks the changeset bump type — minor if the objectui range contains any feat, else patch. It tested that with:

git -C "$OBJECTUI_ROOT" log --format=%s "${OLD_SHA}..${NEW_SHA}" | grep -qiE '^feat'

Under set -o pipefail (line 32), grep -q exits on the first match, the still-writing git log takes SIGPIPE, and the pipeline returns 141. The test therefore always took the else branch: every refresh has been silently stamped patch, feature ranges included. Demonstrated on this very range:

$ (set -euo pipefail; git log --format=%s cf2d56e..2cb8d78 | grep -qiE '^feat') ; echo $?
141
$ git log --format=%s cf2d56e..2cb8d78 | grep -ciE '^feat'
23

Counting with grep -c drains the input, so there is no signal and the count is truthful. With the fix, the same invocation now writes "@objectstack/console": minor — as the script's own documented rule always intended.

Test plan

  • Ran the real tooling, not a hand-edit: OBJECTUI_ROOT=… scripts/bump-objectui.sh 2cb8d78e24ad --no-commit produced both .objectui-sha and .changeset/console-2cb8d78e24ad.md.
  • Before the fix that same command wrote patch; after it, minor. Both observed.
  • pnpm check:console-sha → passes (no dist in this checkout, so nothing to drift against).
  • The pinned commit is objectui main, which its own CI builds (Build & E2E runs the console vite build, Bundle Analysis runs the full tsc && vite build and reported the entry at 28.0 KB / 350 KB budget) on every PR — so the pin is known-buildable without re-running the ~15-minute console build here.

Note the changeset is minor where recent console refreshes read patch; that is the corrected behavior, not a deliberate escalation for this range.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LX9ut3MK3KykE11S9bJmv5


Generated by Claude Code

… bump type (#3528)

`@objectstack/console` ships a PREBUILT objectui SPA pinned by `.objectui-sha`,
so a merged objectui fix is not live for anyone until that pin moves — the
release pipeline clones objectui at the pin, builds it, and publishes the dist
alongside the framework. The screen-flow fixes for #3528 landed in objectui
(#2830, #2833) and were stranded there. This bumps the pin from cf2d56e32a11 to
2cb8d78e24ad so they ship, along with everything else merged frontend-side
since the last refresh.

Also fixes the bump-type detection in scripts/bump-objectui.sh, which decides
whether a refresh is a minor or a patch. It tested the range with
`git log --format=%s A..B | grep -qiE '^feat'`, but under `set -o pipefail`
`grep -q` exits on the first match and the still-writing `git log` takes
SIGPIPE, so the pipeline returned 141 and the test ALWAYS fell to the else
branch. Every refresh was silently stamped `patch`, feature ranges included —
this range has 20+ `feat` commits and was about to be stamped `patch` too.
Counting with `grep -c` drains the input, so there is no signal and the count
is truthful.

Verified: with the fix the same invocation now writes
`"@objectstack/console": minor`. `check:console-sha` passes (no dist in this
checkout — nothing to drift against); the pinned commit is objectui `main`,
which its own CI builds on every PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LX9ut3MK3KykE11S9bJmv5
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Jul 27, 2026 5:02am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation tooling size/s labels Jul 27, 2026
@os-zhuang
os-zhuang marked this pull request as ready for review July 27, 2026 05:10
@os-zhuang
os-zhuang merged commit b96c11b into main Jul 27, 2026
15 checks passed
@os-zhuang
os-zhuang deleted the claude/screen-flow-submit-resume-v9dqjx branch July 27, 2026 05:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants