-
Notifications
You must be signed in to change notification settings - Fork 12.9k
SDD: deduplicate startup extension warnings #23175
Copy link
Copy link
Open
Labels
area/extensionsIssues related to Gemini CLI extensions capabilityIssues related to Gemini CLI extensions capabilitystatus/possible-duplicateworkstream-rollupLabel used to tag epics and features that are associated with one of the three primary workstreamsLabel used to tag epics and features that are associated with one of the three primary workstreams🔒 maintainer only⛔ Do not contribute. Internal roadmap item.⛔ Do not contribute. Internal roadmap item.
Description
Describe the bug
When starting the CLI, certain extension-related warnings (such as missing configuration settings or the notification that conductor has been replaced by sdd) are displayed twice in the terminal UI.
To Reproduce
- Have an extension installed that has missing required settings.
- OR have both the legacy
conductorextension installed and theexperimental.sddflag enabled. - Start the CLI.
- Observe the warning bubbles in the UI.
Expected behavior
Each distinct warning should only be displayed once.
Root Cause
The CLI startup flow in gemini.tsx calls loadCliConfig twice. Each call instantiates a new ExtensionManager, which triggers loadExtensions(). This results in coreEvents.emitFeedback('warning', ...) being called twice for the same conditions.
Note on Solution
This is a tactical quick fix that introduces a deduplication Set inside the ExtensionManager to suppress the duplicate UI output. A long-term architectural refactor to avoid double-loading extensions entirely is tracked in #23171.
Part of #22685
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area/extensionsIssues related to Gemini CLI extensions capabilityIssues related to Gemini CLI extensions capabilitystatus/possible-duplicateworkstream-rollupLabel used to tag epics and features that are associated with one of the three primary workstreamsLabel used to tag epics and features that are associated with one of the three primary workstreams🔒 maintainer only⛔ Do not contribute. Internal roadmap item.⛔ Do not contribute. Internal roadmap item.
Type
Projects
Status
No status