Skip to content

Carry eks-manager, webkit and configboard to the current SDKs - #223

Merged
bgrant0607 merged 2 commits into
mainfrom
chore/sdk-0410-breaking-changes
Sep 8, 2026
Merged

bgrant0607 merged 2 commits into
mainfrom
chore/sdk-0410-breaking-changes

Conversation

@bgrant0607

@bgrant0607 bgrant0607 commented Sep 8, 2026

Copy link
Copy Markdown
Member

The weekly bumps took the rest of the repo to sdk v0.4.10 (#221) and js-sdk 0.4.4 (#222), and left three examples on the old releases because each needed a code change first. This makes those changes, bumps the three, and carries the two consoles the bots wrongly reported as updated.

eks-manager: cubapi.GetRevisionByNum is gone

It lived in the SDK's apply.go, which was deleted whole when the file-based apply went away. The helper was not apply-specific and went with it; eks-manager was its only caller in this repo, in the plan/replace disruption check that joins a Unit's released revision against its head.

The endpoint it wrapped is untouched, so internal/cub resolves a revision number to its RevisionID itself. RevisionDocs now parses the space and unit ids once instead of twice.

Every console: login and logout take options

login gained returnTo and an organization hint; logout gained endSession and its redirect, and its return type went from void to Promise<void>. Neither is assignable to onClick any more. Eight buttons across four packages were passing them straight through; they call them instead.

Nothing about these apps' behaviour changes: the defaults are exactly what they already relied on — the current path to return to, the remembered organization, and a logout that forgets the token in this tab without ending the IdP session.

That is every consumer. Of the nine packages depending on @confighub/react-auth, four reach login/logout directly (webkit, configboard, cost-management-app, pilot-example-addons-manager), five go through webkit's AppShell, and cost-estimator takes only status. The rest of the API surface is compatible: getToken and client survive, and ConfigHubAuthProviderProps only gained optional fields.

Why the bots missed two of them

update-js-sdk.sh runs lint, build and test, skipping any step a package does not define. cost-management-app and pilot-example-addons-manager define only test, and those tests match the app source as text — they cannot see a type error. Both now define lint, so the next bump typechecks them.

Turning the check on found what it was always going to find: their tsconfig had no vite/client, leaving import.meta.env untyped in main.tsx. Nothing had ever run tsc over these apps to say so.

These two are still outside the js-apps.yml matrix, which keys on a per-app package-lock.json that neither has. Bringing them in is a larger change than a dependency bump and is not attempted here.

Verified

  • eks-manager: go build ./..., go vet ./..., go test ./... all pass.
  • webkit: npm run lint clean, 29 tests pass.
  • configboard/app: npm run lint clean, npm run build succeeds, 166 tests pass.
  • cost-management-app, pilot-example-addons-manager: npm run lint clean, npm run ui:build succeeds, full npm test suites pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KGek5d9soyovnouhNXJRDF

bgrant0607 and others added 2 commits September 8, 2026 10:51
The weekly bumps took the rest of the repo to sdk v0.4.10 (#221) and
js-sdk 0.4.4 (#222) and left these three behind, because each needs a
code change the bots will not make. This makes those changes and bumps
the three, so no example is on an older SDK than its neighbours.

cubapi.GetRevisionByNum is gone. It lived in the SDK's apply.go, which
was deleted whole when the file-based apply went away; the helper was
not apply-specific and went with it. eks-manager was its only caller, in
the disruption check that joins a Unit's released revision against its
head. The endpoint it wrapped is untouched, so internal/cub now resolves
a revision number to its RevisionID itself, which also lets RevisionDocs
parse the space and unit ids once instead of twice.

login and logout now take an options bag -- returnTo and the
organization hint, endSession and its redirect. That makes them
(options?) => Promise<void>, no longer assignable to onClick, so the
three buttons that were passing them straight to MUI call them instead.
The defaults are what these apps already relied on: the current path to
return to, the remembered organization, and a logout that forgets the
token in this tab without ending the IdP session.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KGek5d9soyovnouhNXJRDF
cost-management-app and pilot-example-addons-manager pass login and
logout to onClick the same way webkit and configboard did, so the same
change applies: call them instead of handing the click event in as the
options bag.

The bots reported both as updated because neither defined a lint script.
The verifier runs lint, build and test and skips any step a package does
not define; these two define only test, whose assertions match the app
source as text and cannot see a type error. Both now define lint, so the
next bump typechecks them.

Turning the check on found what it was always going to find: the
tsconfig had no vite/client, so import.meta.env in main.tsx was untyped.
Nothing had ever run tsc over these apps to say so.

That is every consumer. Of the nine packages that depend on
react-auth, five reach login and logout through webkit's AppShell, and
cost-estimator takes only status.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KGek5d9soyovnouhNXJRDF
@bgrant0607
bgrant0607 merged commit 5e684ac into main Sep 8, 2026
7 checks passed
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.

1 participant