fix(ops): KB panel must not fetch groups while deactivated - #58
Merged
Conversation
- the plan-106 gate stopped RENDERING the library while off, but the
kbGroups useAsync lived in KbPanel itself and hooks fire on mount
regardless of what is returned — the doomed request still went out
(503) exactly as before; caught by the live browser drive, which
asserts on the network log, not the DOM
- the library (groups fetch + selection state + Documents/Graph) moves
to a child KbPanelBody mounted only when the KB is enabled, so the
request cannot exist while off
- full activation-flow drive against a real gateway + probe mock now
passes: off shows the activation card with NO kb/groups call from the
panel, bad key surfaces the probe 400 inline and persists nothing,
good key activates and mounts the library (groups 200), deactivate
keeps the credential, reactivate is one click, remove-key returns to
the empty inputs
- the remaining page-load kb/groups 503 comes from console-shell's
chat KB selector prefetch, which is deliberately fail-soft
(.catch(() => {})) and renders no error — out of this fix's scope
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Found by the release-verification browser drive (the pass queued in #56): the plan-106 gate stopped rendering the library while off, but
useAsync(kbGroups)lived inKbPanelitself — hooks fire on mount regardless of the early return, so the doomed 503 request still went out. The drive asserts on the network log, not the DOM, which is how it surfaced.Change
Library (groups fetch + selection state + Documents/Graph chrome) moves to a child
KbPanelBodymounted only when the KB is enabled — the request cannot exist while off.Live drive evidence (real gateway + auth-aware probe mock, chromium)
Panel-originated
kb/groupswhile off: none. The one remaining page-load 503 is console-shell's chat-KB-selector prefetch — deliberately fail-soft (.catch(() => {})), renders nothing; out of scope.Validation:
next buildclean · full flow driven end-to-end as above.Risk: component split only · Rollback: revert