chore(web): address Copilot review on #2130
Three findings, all valid on verification. `onToggleConnection` and `onDisconnect` do not own every rejection, so a bare `void` on them turns an ordinary Connect/Disconnect click into a global unhandled rejection with nothing shown to the user. The toggle has three escape paths outside its own try/catch — awaiting `initialConfigSettledRef`, constructing the client via `setupClientForServer`, and the already-connected disconnect branch, whose `try/finally` runs `finalizeExplicitDisconnect()` and then lets a failed transport close propagate — and `onDisconnect` is that same `try/finally` on its own. Both are now terminated with a `.catch` that toasts the failure. The blanket comment claiming all seven wrappers own their failures was wrong. The five command handlers (`onCallTool`, `onGetPrompt`, `onReadResource`, `onCancelTask`, `onOpenApp`) do each end in a `catch`, so `void` stays correct for them; the comment now splits the two groups and says which is which. Adds the two tests the review asked for, covering the rejected-close path through both the toggle and the explicit Disconnect. Each fails against the previous `void` code, so they pin the fix rather than merely passing. The `InspectorView` double grows a `disconnect` button, since the standalone `onDisconnect` was otherwise unreachable from it. Also restores the `PropOverrides` doc example, which the scripted regrouping had rewritten inside its own JSDoc into a triple-nested shape that would not type-check if copied. Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
parent
aacfef3ee2
commit
37add967cd
1 changed files with 103 additions and 13 deletions
|
|
@ -61,11 +61,7 @@ const noopBridgeFactory: BridgeFactory = () =>
|
|||
|
||||
/**
|
||||
* Per-bundle overrides. Each key takes a `Partial` of that bundle, so a test
|
||||
* names only the field it cares about — `makeProps({
|
||||
tools: {
|
||||
tools: { tools: [t] },
|
||||
},
|
||||
})`
|
||||
* names only the field it cares about — `makeProps({ tools: { tools: [t] } })`
|
||||
* — and inherits the rest of the bundle's defaults.
|
||||
*/
|
||||
type PropOverrides = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue