diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 00000000..1853ae6c --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,3 @@ +## 2024-05-24 - QuickPick busy state reset +**Learning:** For VS Code extension `QuickPick` elements, if an interaction (e.g. prompt rendering) is short-circuited or handles a terminal modal action (like a confirmation), `quickPick.busy = false` must be explicitly set before presenting the modal, otherwise it will remain visually stuck in the loading state from a previous search. +**Action:** Always verify `quickPick.busy` is cleanly reset before rendering standalone prompts or static confirm/cancel lists within the same UI instance. diff --git a/vscode-extension/src/search-provider.ts b/vscode-extension/src/search-provider.ts index 21e2b6aa..c2b4bc02 100644 --- a/vscode-extension/src/search-provider.ts +++ b/vscode-extension/src/search-provider.ts @@ -510,6 +510,8 @@ export class SearchProvider { * Prompt for confirmation before clearing history */ private promptClearHistory(quickPick: vscode.QuickPick): void { + quickPick.busy = false; + const confirmItem: SearchResultItem = { label: 'Confirm Clear History', detail: 'This cannot be undone',