Skip to content

feat: [ENG-2898] restore HITL settings panel in WebUI configuration#692

Merged
bao-byterover merged 1 commit into
mainfrom
feat/ENG-2898
May 22, 2026
Merged

feat: [ENG-2898] restore HITL settings panel in WebUI configuration#692
bao-byterover merged 1 commit into
mainfrom
feat/ENG-2898

Conversation

@ncnthien
Copy link
Copy Markdown
Collaborator

Summary

  • Re-adds HitlSettingsPanel ("Agent supervision") under WebUI Configuration → Version control, restoring the agent-review toggle that was orphaned by PR Proj/brv setting #673.
  • Placed under Version control (not General) because the panel lives in features/vc/, pending operations render in the Changes tab, reject restores file snapshots, and HITL is project-scoped like Identity/Remotes (General holds global ~/.brv/settings.json keys).
  • Other panels listed in the ticket (IdentityPanel, RemotesPanel, ConnectorsPanel) were already restored by PR Proj/brv setting #673's new configuration sub-routes — no further action needed.

Test plan

  • npm run typecheck passes
  • npm run lint passes
  • npm run dev:ui → open WebUI → Configuration → Version control: "Agent supervision" appears below Remotes
  • Toggle "Highlight agent edits" off/on; confirm persistence by reloading the page
  • Toggled state matches brv review --enable/--disable from CLI

Closes ENG-2898

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 22, 2026

Claude finished @ncnthien's task in 1m 20s —— View job


Claude PR Review

  • Read changed file and surrounding context
  • Verify HitlSettingsPanel import path and prior placement
  • Check placement rationale (Version control vs General)
  • Run typecheck / lint (skipped — npm install requires network/approval; static review only)
  • Post summary

Summary

Score: 5 / 5

A minimal, correct, low-risk fix that re-mounts an already-implemented panel that PR #673 left orphaned. The diff is two lines (one import, one JSX node) and the placement rationale in the PR description is sound.

praise: Placement under Version control is the right call. The General section (general.tsx) hosts panels backed by the global <BRV_DATA_DIR>/settings.json store (ConcurrencyPanel, LlmPanel, TaskHistoryPanel), whereas HITL is project-scoped — same scoping as the sibling IdentityPanel and RemotesPanel, and the component itself lives under features/vc/. Co-locating with peers also keeps the WebUI consistent with the Changes-tab flow that surfaces review items.

praise: Import order in version-control.tsx:1-3 stays alphabetical (H < I < R), matching the existing style.

note: Verified HitlSettingsPanel had no other render site before this PR (grep -rn "HitlSettingsPanel" src/ returns only the component definition and this new import) — confirming the "orphaned by #673" framing.

nitpick (non-blocking): The component renders three states (loading via the LoaderCircle action, error via SettingsSection.errorFallback, and the switch), but no automated test covers the toggle wiring from this route. Not introduced by this PR — the component shipped without one — but worth a follow-up if you want regression coverage for useReviewSetDisableduseGetReviewDisabled interaction.

suggestion (optional): The test plan still has unchecked boxes (typecheck, lint, manual WebUI smoke). Recommend ticking them off in the PR description (or letting CI do it) before merge so reviewers can confirm the panel renders and the toggle persists end-to-end.

No correctness, security, or code-quality concerns. LGTM.
· feat/ENG-2898

@bao-byterover bao-byterover merged commit e7cb9fd into main May 22, 2026
6 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.

3 participants