BL-17032: Help button in the new Collection Settings dialog

Preflight on 2026-10-23. Config-R #29 is merged and published as 1.0.0-alpha.30, and Bloom now uses it. Nothing is waiting on you.

Ready for review Mergeable into master Bots: Devin done on both PRs No decisions waiting

What this PR is about

Problem

The new (React) Collection Settings dialog had no Help button. The old WinForms dialog opened a help topic for the tab showing. Config-R, which draws the dialog's pages, could not tell the dialog which page was showing, and could not switch pages while the dialog stayed open.

What the PR does

  • Config-R (sillsdev/config-r#29): ConfigrPane reports the showing page (onTopLevelPageChange), and a ref on it shows another page as clicking its tab does, keeping the user's edits (selectTopLevelPage(pageKey)). initiallySelectedTopLevelPageKey works as before. BL-16734 will use the ref to replace its remount workaround.
  • Bloom (#8489): a Help button at the bottom left opens the topic for the showing page. Languages, Front & Back Matter and Subscription keep the old tabs' topics. The other four pages open the general Settings topic.
  • Bloom moves to @sillsdev/config-r 1.0.0-alpha.30, the release #29 produced. Only Config-R's lockfile entry changes.

Quality gate

CheckResult
TypeScript typecheck and lint (Bloom UI, e2e)pass
Vitest, Bloom front end (full suite)pass 1607 passed on the published alpha.30, after merging master
Vitest, Config-R (new)pass 5 passed, plus type-check, lint, build
Real Bloom, by hand over CDP and UI Automationpass Help opened the right topic in the help viewer on all seven pages; Restart still relabels OK. Found the old help bug below.
C# testsnot run: no C# in the diff
Repo check: e2e specs at the nightly window sizepass the new Help spec 3 runs in a row, then again with the other Collection Settings specs (6 passed)
Merge with base (BL-16736)up to date, clean

What changed this run

Moved Bloom to the published Config-R 1.0.0-alpha.30, merged master twice, and re-ran every check. Earlier in this run: the Config-R API and its tests, the Help button with unit and e2e tests, both PRs opened as drafts, Notion test case 850, the card's test ideas, the plan doc. Config-R's page switch then became a ref method, which is simpler than the first prop design. It was then cut down further, leaving three edge cases that no current client hits. Testing in real Bloom turned up an old help bug, now BL-17033. Bloom commits ยท Config-R commits

Reviewer outcomes

ReviewerOutcome
Local review (light sub-agent pass)One finding: the unpublished Config-R version. Escalated as the decision on the right.
Devin on #8489Complete. Its one finding, the unpublished Config-R version, is fixed by the alpha.30 bump and its thread is resolved.
Devin on config-r #29Complete, seven rounds, the last on the simplified code (122d057). Each finding is fixed, or one of three gaps left on purpose: selecting doesn't end a search, the handle is remade each render, and a disabled initial page is reported briefly. Each gap is recorded on its resolved thread and in a code comment.
CI on #8489Only pr-automation runs (pass); no build check fires for a PR whose base is not master, so CI cannot show the missing version.
CI on config-r #29None on PRs: Config-R's workflow runs on pushes to master, where it now runs the tests before releasing.
Other botsNone active on either PR.

Worth knowing

  • An old Bloom bug is now easy to reach: after about six Help presses, help stops opening and other requests stall until Bloom restarts. It is not caused by this PR, and it is tracked as BL-17033. The card's test ideas warn testers.
  • The BL-16734 session has been told about the ref method and how to build against it locally.

Decisions

None open. Config-R #29 was merged and published, and Bloom now uses alpha.30.