mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-27 13:34:15 -07:00
fix(cli): clean up slash command IDE listeners (#24397)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
This commit is contained in:
committed by
GitHub
parent
cb289e0724
commit
cb35ee6710
@@ -281,10 +281,16 @@ export const useSlashCommandProcessor = (
|
||||
const listener = () => {
|
||||
reloadCommands();
|
||||
};
|
||||
let isActive = true;
|
||||
let activeIdeClient: IdeClient | undefined;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
||||
(async () => {
|
||||
const ideClient = await IdeClient.getInstance();
|
||||
if (!isActive) {
|
||||
return;
|
||||
}
|
||||
activeIdeClient = ideClient;
|
||||
ideClient.addStatusChangeListener(listener);
|
||||
})();
|
||||
|
||||
@@ -307,11 +313,8 @@ export const useSlashCommandProcessor = (
|
||||
coreEvents.on('extensionsStopping', extensionEventListener);
|
||||
|
||||
return () => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
||||
(async () => {
|
||||
const ideClient = await IdeClient.getInstance();
|
||||
ideClient.removeStatusChangeListener(listener);
|
||||
})();
|
||||
isActive = false;
|
||||
activeIdeClient?.removeStatusChangeListener(listener);
|
||||
removeMCPStatusChangeListener(listener);
|
||||
coreEvents.off('extensionsStarting', extensionEventListener);
|
||||
coreEvents.off('extensionsStopping', extensionEventListener);
|
||||
|
||||
Reference in New Issue
Block a user