fix ClidePane notifying focus listeners during build
test / unit + widget + golden + a11y (push) Failing after 34s
test / integration_test (xvfb) (push) Has been skipped
test / bundle smoke (xvfb 5s) (push) Has been skipped
test / daemon subprocess + web WASM smoke (push) Has been skipped
test / dart doc (lib API) (push) Failing after 28s

ClidePane.didChangeDependencies/didUpdateWidget run in the build phase and
called FocusTracker.setStatusWidget -> notifyListeners() synchronously,
rebuilding the focus-listening status-bar item mid-build — Flutter threw
"markNeedsBuild called during build" on every frame once a Claude pane was
focused. The convey now defers to a post-frame callback when mid-build
(re-checking focus then) and applies immediately otherwise. The T-150
widget tests missed this because no focus listener was in their tree;
added a regression test with PaneContextStatusItem present.

T-159.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-24 10:54:26 +02:00
co-authored by Claude Opus 4.7
parent 6e4f357c09
commit b8168d8ffe
5 changed files with 56 additions and 2 deletions
+4
View File
@@ -145,6 +145,10 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
### Fixed
- Claude pane no longer floods the console with "markNeedsBuild called
during build" (T-159) — a focused pane surfacing its status-bar widget
now defers the notification out of the build phase instead of rebuilding
the status item mid-build.
- The git / tickets / decisions / pql / problems tabs no longer log
`i18n: namespace not registered` on boot (T-155). An extension's
localized tab title is now loaded automatically on activation, and the