fix(tui): forward the clear promise from App, so AuthTab can actually await it (#2144)
Copilot review round 12, and the best catch of the review.
`onClearOAuth` was wired as `() => { void handleClearOAuth(); }`, so the
promise `AuthTab` awaits resolved instantly. Everything round 6 through 9 built
on that await was therefore inert in production while still passing its own
tests: the pending line never showed, the repeat lock released immediately, and
a rejection went unhandled instead of reaching the failure line.
Passed directly now. The regression test drives the real App rather than
`AuthTab` in isolation — the wiring is the contract, and only an App-level test
can see it. Verified it fails when the void-ing arrow is put back.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177mPHAdECD18nLLCTwR5rh
Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
parent
e2cbf0de6d
commit
c0bcdc7e4a
1 changed files with 39 additions and 3 deletions
|
|
@ -1899,9 +1899,12 @@ function App({
|
|||
focused={
|
||||
focus === "tabContentList" || focus === "tabContentDetails"
|
||||
}
|
||||
onClearOAuth={() => {
|
||||
void handleClearOAuth();
|
||||
}}
|
||||
// Passed directly, NOT wrapped in a `void`-ing arrow: AuthTab
|
||||
// awaits this to hold its pending state, keep its repeat lock,
|
||||
// and route a rejection to the failure line. Dropping the
|
||||
// promise here would resolve it instantly and make all three
|
||||
// inert while revocation was still running (#2144).
|
||||
onClearOAuth={handleClearOAuth}
|
||||
connectionStatus={inspectorStatus}
|
||||
/>
|
||||
) : null}
|
||||
|
|
|
|||
Loading…
Reference in a new issue