Skip to content

frontend: update the UI registry past 3.4.1 - #2659

Merged
SpicyPete merged 1 commit into
masterfrom
registry/update-past-3.4.1
Sep 22, 2026
Merged

SpicyPete merged 1 commit into
masterfrom
registry/update-past-3.4.1

Conversation

@SpicyPete

Copy link
Copy Markdown
Contributor

Summary

The vendored registry under redpanda-ui/ had fallen behind the deployed registry. 137 of 166 files differed, and none of it was cosmetic: upstream landed the import type React pass, refactored useIsMobile onto useMediaQuery, and reworked combobox, multi-select and motion-highlight substantially.

Pulled by fetching the per-item payloads for all 92 installed items and writing the published bytes, then asserting byte-parity for every target. No item carries a cssVars, css or tailwind payload, and no target falls outside the vendored directory, so a direct write is equivalent to a CLI pull and is auditable in a way shadcn add --overwrite is not. bun run lint leaves the tree at parity, checked against a pre-lint snapshot.

What comes with it

  • sanitized-html is new in the dependency closure. code-block, code-tabs and code-block-dynamic all require it now and all three are installed, so without it they break.
  • auto-form/renderers/renderer-types.ts is a new file in the auto-form item.
  • Four console-owned files in that directory are untouched: highlighted-input.tsx, listbox.tsx, stat/index.tsx, and the secret-selector-scopes.test.ts guard test we keep because the registry ships that file untested.

Dependencies

Console was behind the registry on three ranges, so they move to what it asks for:

Package Before After
@base-ui/react ^1.7.0 ^1.8.0
@tanstack/react-table ^9.1.2 ^9.2.3
zod ^4.4.3 ^4.6.1

lottie-web becomes a direct dependency at ^5.13.0. loading-animation.tsx imports it directly and it was only reaching us through lottie-react, so it was a phantom dependency that happened to resolve. dompurify, which sanitized-html needs, was already pinned at exactly the range it asks for. Both lockfiles are regenerated with the pinned bun (1.4.0).

Ranges where console is ahead of the registry are left alone: @bufbuild/protobuf and @tanstack/react-router.

Callsite changes

Link now requires href. The two react-markdown anchor renderers passed string | undefined, since markdown can produce an anchor with no destination, so they render that case as text rather than a dead link.

Theming

style/theme.css looks noisy but is semantically identical: rewrapped --shadow-* values and one font-weight/line-height reorder. All 207 custom properties are unchanged in both name and value, so the token contract with cloud-ui is untouched and this does not need a paired change there.

Testing

type:check, lint, build, and both test suites at 1063 unit and 1602 integration, all matching master's baseline exactly, so the pull is test-neutral. The only type errors the upgrade produced were the two Link callsites above.

Reviewers: the registry files are vendored upstream content, so the diff worth reading is package.json, the two callsites, and the fact that byte-parity is asserted rather than eyeballed.

🤖 Generated with Claude Code

The vendored copies under `redpanda-ui/` had fallen behind the deployed registry:
137 of 166 files differed, none of them cosmetically. Pulled by writing the
published bytes for all 92 installed items, then asserting byte-parity for every
target. No item carries a `cssVars`, `css` or `tailwind` payload and no target
falls outside the vendored directory, so the direct write is equivalent to a CLI
pull. `bun run lint` leaves the result at parity.

Two items arrive with it. `sanitized-html` is new in the closure, required by
`code-block`, `code-tabs` and `code-block-dynamic`, all of which are installed.
`auto-form/renderers/renderer-types.ts` is a new file in the auto-form item.

Dependencies follow the registry where console was behind it: `@base-ui/react`
to ^1.8.0, `@tanstack/react-table` to ^9.2.3 and `zod` to ^4.6.1. `lottie-web` is
promoted to a direct dependency because `loading-animation.tsx` imports it and it
was only reaching us through `lottie-react`. `dompurify`, which `sanitized-html`
needs, was already pinned at the range it asks for.

`Link` now requires `href`, so the two react-markdown anchor renderers render a
destinationless anchor as text instead of a dead link.

`style/theme.css` changes are rewrapped shadow values and one declaration
reorder. All 207 custom properties are unchanged, so the token contract with
cloud-ui is untouched and this needs no paired change there.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

✅ Clean — no registry drift, off-token colours, or ad-hoc classes

App: frontend · Scope: diff vs origin/master · Files: 2

Count
⚠️ Outdated registry components 0
🛠 Locally-modified components 0
❓ Unknown to registry 0
🎨 Off-token palette colours 0
🔢 Ad-hoc utility classes 0

Generated by lookout audit-changes.

@SpicyPete
SpicyPete requested review from a team, c-julin, datamali, jvorcak and sago2k8 and removed request for a team September 22, 2026 16:12
@SpicyPete SpicyPete self-assigned this Sep 22, 2026
@SpicyPete
SpicyPete merged commit 2cf6ee1 into master Sep 22, 2026
17 checks passed
@SpicyPete
SpicyPete deleted the registry/update-past-3.4.1 branch September 22, 2026 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants