mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-25 04:24:51 -07:00
(fix): appcontainer should not poll and footer should use currentModel from ui state (#11923)
This commit is contained in:
@@ -33,8 +33,19 @@ export interface UserFeedbackPayload {
|
||||
error?: unknown;
|
||||
}
|
||||
|
||||
/**
|
||||
* Payload for the 'fallback-mode-changed' event.
|
||||
*/
|
||||
export interface FallbackModeChangedPayload {
|
||||
/**
|
||||
* Whether fallback mode is now active.
|
||||
*/
|
||||
isInFallbackMode: boolean;
|
||||
}
|
||||
|
||||
export enum CoreEvent {
|
||||
UserFeedback = 'user-feedback',
|
||||
FallbackModeChanged = 'fallback-mode-changed',
|
||||
}
|
||||
|
||||
export class CoreEventEmitter extends EventEmitter {
|
||||
@@ -66,6 +77,15 @@ export class CoreEventEmitter extends EventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies subscribers that fallback mode has changed.
|
||||
* This is synchronous and doesn't use backlog (UI should already be initialized).
|
||||
*/
|
||||
emitFallbackModeChanged(isInFallbackMode: boolean): void {
|
||||
const payload: FallbackModeChangedPayload = { isInFallbackMode };
|
||||
this.emit(CoreEvent.FallbackModeChanged, payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* Flushes buffered messages. Call this immediately after primary UI listener
|
||||
* subscribes.
|
||||
@@ -82,6 +102,10 @@ export class CoreEventEmitter extends EventEmitter {
|
||||
event: CoreEvent.UserFeedback,
|
||||
listener: (payload: UserFeedbackPayload) => void,
|
||||
): this;
|
||||
override on(
|
||||
event: CoreEvent.FallbackModeChanged,
|
||||
listener: (payload: FallbackModeChangedPayload) => void,
|
||||
): this;
|
||||
override on(
|
||||
event: string | symbol,
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
@@ -94,6 +118,10 @@ export class CoreEventEmitter extends EventEmitter {
|
||||
event: CoreEvent.UserFeedback,
|
||||
listener: (payload: UserFeedbackPayload) => void,
|
||||
): this;
|
||||
override off(
|
||||
event: CoreEvent.FallbackModeChanged,
|
||||
listener: (payload: FallbackModeChangedPayload) => void,
|
||||
): this;
|
||||
override off(
|
||||
event: string | symbol,
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
@@ -106,6 +134,10 @@ export class CoreEventEmitter extends EventEmitter {
|
||||
event: CoreEvent.UserFeedback,
|
||||
payload: UserFeedbackPayload,
|
||||
): boolean;
|
||||
override emit(
|
||||
event: CoreEvent.FallbackModeChanged,
|
||||
payload: FallbackModeChangedPayload,
|
||||
): boolean;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
override emit(event: string | symbol, ...args: any[]): boolean {
|
||||
return super.emit(event, ...args);
|
||||
|
||||
Reference in New Issue
Block a user