Repository navigation
Commit 9a48ae8
chore(console): move the objectui pin 0d12e95361b2 → 5fef032b1ada, so the 18.1.0 console makes one request per open for a nav entry and a page element bound to the same read (#25358)
<!-- claude-projects-attribution: {"github_login":"os-elon-musk"} -->
_Requested by **Elon** · [project
thread](https://claude.ai/code/project/chan_01WedDzV26nniwxv7jC88B9D?thread=cmsg_01WedDzV26nniwxv7jC88B9DEbu6pfMmLe6FjmMsBRoDAg)_
Fixes #25353
Clause-②: no
Metadata-protocol: none
This PR moves the console pin from `0d12e95361b2` to `5fef032b1ada`:
objectui `main` at `5fef032b1ada5b86bad640637e7331e26ee5da6e`, its tip
when this PR was opened. It is the pin move the maintainer's 18.1.0
ruling puts before the release cut ("卡 5 同意", 5a-B): move the pin first,
then cut 18.1.0. With it, the 18.1.0 console carries objectui#13323: a
navigation entry's API `dataSource` and a page element bound to the same
read make one request per console open instead of two.
Branch name: the harness assigned `claude/project-thread-wyb8o7`, not
the repo's `claude/issue-25353-…` convention; the card's `Claim:` names
this branch. No other open PR moves `.objectui-sha`.
## The diff
The same four files as the precedent pin moves #25262 and #25193. The
repo's own tooling wrote each one; none was edited by hand.
- `.objectui-sha` and `.changeset/console-5fef032b1ada.md`:
`OBJECTUI_ROOT=/home/claude/objectui OBJECTUI_NO_DEEPEN=1 bash
scripts/bump-objectui.sh 5fef032b1ada5b86bad640637e7331e26ee5da6e
--no-commit`, exit 0. It printed "0d12e95361b2..5fef032b1ada walks
completely", "1 releasing changeset(s), 0 breaking", "objectui declared
`minor`, recorded as `patch`" and "(on origin/main)".
- `scripts/sdui-manifest.record.json`: `pnpm objectui:build`, then `node
scripts/gen-sdui-manifest-node.mjs`, exit 0. It reported 107 components
and sha256 `d1fde278ffd6…`, the same as at the old pin, so the tracked
`sdui.manifest.json` is byte-identical and only its provenance record
moves. `node scripts/check-sdui-manifest.mjs` passes at the new pin.
- `packages/sdui-parser/objectui-lockstep.json`:
`OBJECTUI_ROOT=.cache/objectui-5fef032b1ada pnpm gen:sdui-lockstep`. It
reported "214 region line(s), blob 0131f27cf86d, 25 diagnostic code(s)".
Only `rev`, `revDate` and `recordedAgainstPin` changed, and `pnpm
check:sdui-lockstep` passes.
One build note: the first `pnpm objectui:build` in this container died
with `JavaScript heap out of memory` in `@object-ui/app-shell`'s `tsc`
(node's default heap, 2 GB). It was re-run with
`NODE_OPTIONS=--max-old-space-size=6144` and finished with "dist ready …
from objectui@5fef032b1ada"; the manifest was regenerated from that
complete build.
## The changeset
`scripts/objectui-changeset-digest.mjs` derived it from the changesets
objectui added over the range. Under ruling A (#25105) a console refresh
is `patch` with `Metadata-protocol: none`, whatever objectui declared.
objectui declared `minor` here (the new `ElementApiOpenScope` /
`useElementApiOpen` exports of `@object-ui/react`), and the digest
recorded `patch`.
The range holds two non-merge objectui commits: objectui#13328
(`b911ebb4e`, the objectui#13323 fix) and objectui#13329 (`5fef032b1`, a
CI gate fix that carries a release-nothing changeset).
## Choosing the pin
`5fef032b1ada` is objectui `origin/main`'s tip, and `0d12e95361b2` is
its ancestor. objectui CI on `5fef032b1ada`, read when this PR was
opened:
- Push runs Lint 39840220823, Repo Gates 39840220731, Changeset Guard
39840220743 and Changeset Release 39840220678: `success`.
- Push `CI` 39840220761: `failure`, on its `Test` aggregation job alone.
All 16 test shards concluded `success`; the gate read shard 15/16 (job
120038970141, completed `success` at 19:35:14Z) as still `in_progress`
from the jobs API for its whole re-read window (19:39–19:45Z) and
refused. That stale-read class is exactly what objectui#13329, the
commit pinned here, fixes.
- Scheduled `CI` on the same sha, after that run: 39872395655,
39881943452 and 39885608893, all `success`.
## Spot-check of objectui#13323 on the built console
**Verdict: PASS.** One `GET` per console open for a nav entry and a page
element bound to the same read, and the element draws that answer.
Setup: this branch at `67d8b675`, framework built (`pnpm build
--concurrency=2`, 76/76 tasks), console built at the pin
(`packages/console/dist/.objectui-sha` =
`5fef032b1ada5b86bad640637e7331e26ee5da6e`). Stock
`examples/app-showcase` booted with `pnpm dev -- --fresh -p 38517` and
signed in as the seeded admin; headless Chromium (Playwright 1.63) drove
it and counted every request to the probe URL. The showcase declares no
API-bound nav entry, so a throwaway fixture added two lines to the
working tree for the run and was restored afterwards (`git status`
clean, nothing committed):
- nav entry `nav_probe_13323`, first in `showcase_app`'s navigation:
`type: 'page'`, `pageName: 'showcase_contact_form'`, `visible:
'data.total >= 0'`, `dataSource: { provider: 'api', read: { url:
'/api/v1/data/showcase_inquiry' } }`;
- on `showcase_contact_form`, an `element:text` with the same
`dataSource` and content `PROBE total=${data.total}`.
| step | URL after | `GET /api/v1/data/showcase_inquiry` | element shows
| nav entry |
|---|---|---|---|---|
| A. open `/_console/apps/showcase_app` (the landing `replace`s onto the
probe page) | `…/page/showcase_contact_form` | **1** | `PROBE total=3` |
drawn |
| B. fresh load straight onto the probe page |
`…/page/showcase_contact_form` | **1** | `PROBE total=3` | drawn |
| C. `PUSH` to Capability Map through the nav |
`…/page/showcase_capability_map` | 0 | n/a | drawn |
| D. Back to the probe page (`POP`, a new open) |
`…/page/showcase_contact_form` | **1** | `PROBE total=3` | drawn |
The nav gate needs the read to draw the entry and the element needs it
to draw `3`; both drew on one request in A, B and D, so the element took
the answer the nav read already held. D reads again, as objectui#13323
specifies for a `POP`. Not run here: a control at the old pin (the
two-request baseline), which objectui#13328's own ablations cover.
## Out of scope
- No objectui source changed here, and nothing was written to objectui.
- No product code, `.github/workflows/**`, `scripts/build-console.sh` or
`content/docs/releases/` is in the diff. This PR is not a release act
and does not touch the Version Packages PR #24876, which the release
seat refreshes after this lands.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01RVrmCeThcAT38hSxtChLz4
---
_Generated by [Claude
Code](https://claude.ai/code/session_01RVrmCeThcAT38hSxtChLz4)_
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 8a49e37 commit 9a48ae8
4 files changed
Lines changed: 20 additions & 7 deletions
File tree
- .changeset
- packages/sdui-parser
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
| 9 | + | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
0 commit comments