fix: UI glitch: config is not visible#94325
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 21, 2026, 11:08 PM ET / 03:08 UTC. Summary PR surface: Source +8. Total +8 across 1 file. Reproducibility: yes. at source level. Current main resets Review metrics: none identified. Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land one canonical Control UI fix that resets the Raw-mode scroller while preserving sensitive-value reveal behavior, with focused regression coverage if maintainers require it. Do we have a high-confidence way to reproduce the issue? Yes, at source level. Current main resets Is this the best way to solve the issue? Yes. This is the best-supported current candidate because it targets the retained AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against a1828110704f. Label changesLabel justifications:
Evidence reviewedPR surface: Source +8. Total +8 across 1 file. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
… into single definition
|
@clawsweeper automerge |
|
🦞✅ Source: Why human review is needed: What the maintainer can do as a next step: I added |
|
@clawsweeper approve |
|
@clawsweeper automerge |
|
ClawSweeper 🐠 reef update Thanks for the contribution here. ClawSweeper tried the original lane first, but branch permissions blocked the push, so a replacement PR is carrying the fix forward. Why replacement: ClawSweeper could not update the source PR branch directly; GitHub did not grant sufficient push rights to the bot for that branch.
fish notes: reasoning high; reviewed against a6ea91e. |
Permissions have been updated, you can push to my original branch now. |
Summary
.config-contentcontainer retained scroll position from Form mode, so the textarea rendered above the scrolled viewport.renderConfig()and reset.config-contentscroll to top.Fixes #94202
Real behavior proof (required for external PRs)
Behavior addressed: Raw config textarea is visible immediately after switching from Form to Raw mode.
Real setup tested:
Exact steps or command run after fix:
After-fix evidence:
{"ok":true,"status":"live"}Observed result after the fix: Raw config textarea renders in the visible viewport (y=273.8 in 720px-high window). No manual scroll needed after switching from Form to Raw mode.
What was not tested: Other settings sections — same
.config-contentcontainer, scroll reset applies uniformly. Non-Chromium browsers not explicitly tested but the scroll API is standard.Tests and validation
node scripts/run-vitest.mjs run ui/src/ui/views/config.browser.test.ts— 26/26 passChange details
ui/src/ui/views/config.ts(+21/-32 lines):Before/after data flow:
Risk checklist
Did user-visible behavior change? (
No) — Scroll-position reset only.Did config, environment, or migration behavior change? (
No)Did security, auth, secrets, network, or tool execution behavior change? (
No)What is the highest-risk area?
resetContentScrollusesglobalThis.document?.querySelector. In SSR contexts withoutdocument, the??fallback returns early (safe no-op).How is that risk mitigated?
undefinedwhendocumentabsent.lastFormModeForScroll !== nullguard prevents spurious scroll on initial render.Current review state
What is the next action?
What is still waiting on author, maintainer, CI, or external proof?