From 6dc1750bfabbbff0febec5156159788412f25bb0 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 27 Jul 2026 05:02:01 +0000 Subject: [PATCH] chore: refresh the vendored console to 2cb8d78e24ad + fix the refresh bump type (#3528) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `@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 Claude-Session: https://claude.ai/code/session_01LX9ut3MK3KykE11S9bJmv5 --- .changeset/console-2cb8d78e24ad.md | 44 ++++++++++++++++++++++++++++++ .objectui-sha | 2 +- scripts/bump-objectui.sh | 12 ++++++-- 3 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 .changeset/console-2cb8d78e24ad.md diff --git a/.changeset/console-2cb8d78e24ad.md b/.changeset/console-2cb8d78e24ad.md new file mode 100644 index 000000000..9ad553701 --- /dev/null +++ b/.changeset/console-2cb8d78e24ad.md @@ -0,0 +1,44 @@ +--- +"@objectstack/console": minor +--- + +Console (objectui) refreshed to `2cb8d78e24ad`. Frontend changes in this range: + +- fix(console): dispatch flow actions from every surface + cover the screen-flow round trip (framework#3528) (#2833) +- feat(approvals): typed output pickers, quick-path guard, expression completion (framework#3447, #2829) (#2831) +- fix(console): make a paused screen flow completable, and stop the runner from tearing down its host (framework#3528) (#2830) +- feat(fields): adopt the file-as-reference value shape — ObjectStack ADR-0104 D3 wave 2 (PR-7) (#2828) +- fix(console): resolve a modal action's `target` as a page, not an object (#3530) (#2826) +- feat(approvals): dynamic decision-output fields + expression approver editing (framework#3447 P2) (#2827) +- feat: render the server's effective API operation set (#3391 PR-4) (#2823) +- fix(console): approval timeline attachment chip shows its name and opens (#2820) (#2821) +- fix(i18n): localize FileField upload widget + approvals snapshot field labels (#2819) +- feat(report)!: drop SpecReportColumn/SpecReportGrouping re-exports + retire the legacy ReportViewer chart fallback (#3463) (#2816) +- feat(plugin-grid): "Import as historical data" option in the Import Wizard (framework #3479) (#2815) +- feat(app-shell): toast when a save silently dropped read-only fields (framework #3431/#3455) (#2814) +- fix(app-shell): remove never-firing `record-change` option from the flow trigger picker (#3427) (#2812) +- fix(form): scroll+focus the first errored field on invalid submit (#2793) (#2813) +- feat(approvals): label pending-approver chips with their group (objectui#2807) (#2811) +- feat(approvals): label pending-approver chips with their group (objectui#2807) (#2811) +- fix(approvals): surface the admin override for a stuck request in the inbox (#3424) (#2810) +- feat(studio): first-class notify flow node in the Studio palette + inspector (#2808) +- feat(app-shell): Studio flow start node offers a "Record created or updated" trigger (#3427) (#2809) +- fix: read spec-canonical keys for dashboard header title and field length rules (#2806) +- fix(kanban): surface off-column records in an Uncategorized lane (#2792) (#2804) +- fix(approvals): Approval Center density + amount emphasis (#2762 P2) (#2805) +- fix(i18n): 补齐记录详情审批按钮与弹窗的国际化文案 (#2791) +- fix(approvals): Approval Center triage + drawer readability pass (#2762 P1-2/3/4/5, P2) (#2803) +- feat(app-shell): surface step warnings in the Flow Runs panel (#3407) (#2802) +- feat(studio): surface the enable.searchable toggle in ObjectSettingsPanel (#2800) (#2801) +- feat(app-shell): localize the automations flow designer & inspector (en-US + zh-CN) (#2796) +- feat(form): consume spec-aligned FormView buttons/defaults in ObjectForm (#2790) +- fix(approvals): Approval Center UX pass — badge nowrap, approve confirm, progress bar, localized declared actions (#2762) (#2789) +- feat(app-shell): group/coalesce repeat notifications in the message center (#2765) (#2788) +- fix(app-shell): 首页与消息中心的未国际化文案 (#2787) +- fix(app-shell): give inline `lookup` action params a real record picker (#3405) (#2786) +- fix(app-shell): map raw sys_activity rows in the inbox Activity tab (#2781) (#2782) +- fix(app-shell): i18n the "Switch Object" breadcrumb dropdown label (#2783) +- fix(data-table): keep right-pinned action column header sticky on horizontal scroll (#2785) +- fix(app-shell): keep list-origin back link when switching detail tabs (#2775) + +objectui range: `cf2d56e32a11...2cb8d78e24ad` diff --git a/.objectui-sha b/.objectui-sha index 3ebf6bc8a..1f04c6846 100644 --- a/.objectui-sha +++ b/.objectui-sha @@ -1 +1 @@ -cf2d56e32a118d83316083169b32299be353ffb2 +2cb8d78e24ad720af986666faa30b023c9d817d0 diff --git a/scripts/bump-objectui.sh b/scripts/bump-objectui.sh index d71a633f6..785c8ea02 100755 --- a/scripts/bump-objectui.sh +++ b/scripts/bump-objectui.sh @@ -92,8 +92,16 @@ if [[ "$NO_CHANGESET" -eq 0 ]]; then BUMP="${CONSOLE_BUMP:-}" if [[ -z "$BUMP" ]]; then - if [[ "$RANGE_OK" -eq 1 ]] && \ - git -C "$OBJECTUI_ROOT" log --format=%s "${OLD_SHA}..${NEW_SHA}" | grep -qiE '^feat'; then + # NOTE: count, don't `grep -q`. Under `set -o pipefail`, `grep -q` exits on + # the first match and the still-writing `git log` takes SIGPIPE, so the + # pipeline returns 141 and this test ALWAYS took the else branch — every + # refresh was silently stamped `patch`, feature ranges included. `grep -c` + # drains its input, so no signal and a truthful count. + FEAT_COUNT=0 + if [[ "$RANGE_OK" -eq 1 ]]; then + FEAT_COUNT="$(git -C "$OBJECTUI_ROOT" log --format=%s "${OLD_SHA}..${NEW_SHA}" | grep -ciE '^feat' || true)" + fi + if [[ "$FEAT_COUNT" -gt 0 ]]; then BUMP=minor else BUMP=patch