mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-05-01 05:00:46 +00:00
fix: clear retry error messages promptly after auto-retry succeeds
Previously, when an auto-retry countdown elapsed and the server sent a Retry event (without retryInfo) to signal the actual retry attempt, the error message was not cleared because `pendingRetryCountdownItemRef` was still set. This caused stale error messages to persist in the UI until the user manually initiated a new request. Additionally, when the user pressed Ctrl+Y to retry, the error was committed to history (without hint) instead of being discarded. This was inconsistent with the auto-retry behavior where errors are silently cleared on success. Changes: - Always call clearRetryCountdown() when a Retry event without retryInfo is received, removing the flawed guard condition - Remove error-to-history commit in retryLastPrompt for consistent UX - Add test covering the countdown-elapsed retry scenario Closes #2310 Made-with: Cursor
This commit is contained in:
parent
e181cfc097
commit
d951e30cfa
2 changed files with 110 additions and 14 deletions
|
|
@ -1034,7 +1034,8 @@ export const useGeminiStream = (
|
|||
// Show retry info if available (rate-limit / throttling errors)
|
||||
if (event.retryInfo) {
|
||||
startRetryCountdown(event.retryInfo);
|
||||
} else if (!pendingRetryCountdownItemRef.current) {
|
||||
} else {
|
||||
// The retry attempt is starting now, so any prior retry UI is stale.
|
||||
clearRetryCountdown();
|
||||
}
|
||||
break;
|
||||
|
|
@ -1075,7 +1076,6 @@ export const useGeminiStream = (
|
|||
setThought,
|
||||
pendingHistoryItemRef,
|
||||
setPendingHistoryItem,
|
||||
pendingRetryCountdownItemRef,
|
||||
],
|
||||
);
|
||||
|
||||
|
|
@ -1301,24 +1301,13 @@ export const useGeminiStream = (
|
|||
return;
|
||||
}
|
||||
|
||||
// Commit the error to history (without hint) before clearing
|
||||
const errorItem = pendingRetryErrorItemRef.current;
|
||||
if (errorItem) {
|
||||
addItem({ type: errorItem.type, text: errorItem.text }, Date.now());
|
||||
}
|
||||
clearRetryCountdown();
|
||||
|
||||
await submitQuery(lastPrompt, {
|
||||
isContinuation: false,
|
||||
skipPreparation: true,
|
||||
});
|
||||
}, [
|
||||
streamingState,
|
||||
addItem,
|
||||
clearRetryCountdown,
|
||||
submitQuery,
|
||||
pendingRetryErrorItemRef,
|
||||
]);
|
||||
}, [streamingState, addItem, clearRetryCountdown, submitQuery]);
|
||||
|
||||
const handleApprovalModeChange = useCallback(
|
||||
async (newApprovalMode: ApprovalMode) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue