From 642a6945280344af19458d163d6180e21384e6c8 Mon Sep 17 00:00:00 2001 From: Minh Vu Date: Sun, 26 Jul 2026 00:39:58 +0200 Subject: [PATCH] Remember dismissed setup picker --- docs/architecture/agentConfigurationManager.md | 4 ++-- src/utils/agentConfigurationManager.ts | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/architecture/agentConfigurationManager.md b/docs/architecture/agentConfigurationManager.md index 8cd43c2..89ed003 100644 --- a/docs/architecture/agentConfigurationManager.md +++ b/docs/architecture/agentConfigurationManager.md @@ -71,7 +71,7 @@ url = "http://localhost:3001/mcp" ### Popup State -Uses VS Code's `globalState` to track whether the onboarding popup has been shown, preventing repeated prompts on every activation. +Uses VS Code's `globalState` to track whether the onboarding popup has been shown or dismissed, preventing repeated prompts on every activation. Users can still reopen setup from the Command Palette. ### Skill delivery — standard skills directories @@ -100,7 +100,7 @@ This fixes issue #105: earlier builds copied the skill next to each agent's conf 3. If not, display multi-select dialog with supported agents 4. For each selected agent, write/update config file 5. Show success message with option to open config file -6. Mark popup as shown +6. Mark popup as shown after it is accepted or dismissed The bundled `debug-live` skill is installed into the standard skills directories (`~/.agents/skills/`, plus `~/.copilot/skills/` when present) during step 4, so every skills-compatible harness discovers it from one shared location. diff --git a/src/utils/agentConfigurationManager.ts b/src/utils/agentConfigurationManager.ts index af23a90..e7a0102 100644 --- a/src/utils/agentConfigurationManager.ts +++ b/src/utils/agentConfigurationManager.ts @@ -589,7 +589,10 @@ export class AgentConfigurationManager { quickPick.canSelectMany = true; quickPick.ignoreFocusOut = true; + let accepted = false; + quickPick.onDidAccept(async () => { + accepted = true; const selectedItems = quickPick.selectedItems; quickPick.hide(); @@ -610,7 +613,12 @@ export class AgentConfigurationManager { await this.context.globalState.update(this.POPUP_SHOWN_KEY, true); }); - quickPick.onDidHide(() => quickPick.dispose()); + quickPick.onDidHide(async () => { + quickPick.dispose(); + if (!accepted) { + await this.context.globalState.update(this.POPUP_SHOWN_KEY, true); + } + }); quickPick.show(); }