Fix/issue 17070 (#17242)

Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com>
This commit is contained in:
Ali Muthanna
2026-01-26 19:59:20 +03:00
committed by GitHub
parent 39e91ad633
commit 93c62a2bdc
7 changed files with 112 additions and 68 deletions

View File

@@ -71,8 +71,12 @@ export const Composer = ({ isFocused = true }: { isFocused?: boolean }) => {
/>
)}
{(!uiState.slashCommands || !uiState.isConfigInitialized) && (
<ConfigInitDisplay />
{(!uiState.slashCommands ||
!uiState.isConfigInitialized ||
uiState.isResuming) && (
<ConfigInitDisplay
message={uiState.isResuming ? 'Resuming session...' : undefined}
/>
)}
<QueuedMessageDisplay messageQueue={uiState.messageQueue} />

View File

@@ -15,13 +15,17 @@ import {
import { GeminiSpinner } from './GeminiRespondingSpinner.js';
import { theme } from '../semantic-colors.js';
export const ConfigInitDisplay = () => {
const [message, setMessage] = useState('Initializing...');
export const ConfigInitDisplay = ({
message: initialMessage = 'Initializing...',
}: {
message?: string;
}) => {
const [message, setMessage] = useState(initialMessage);
useEffect(() => {
const onChange = (clients?: Map<string, McpClient>) => {
if (!clients || clients.size === 0) {
setMessage(`Initializing...`);
setMessage(initialMessage);
return;
}
let connected = 0;
@@ -39,12 +43,18 @@ export const ConfigInitDisplay = () => {
const displayedServers = connecting.slice(0, maxDisplay).join(', ');
const remaining = connecting.length - maxDisplay;
const suffix = remaining > 0 ? `, +${remaining} more` : '';
const mcpMessage = `Connecting to MCP servers... (${connected}/${clients.size}) - Waiting for: ${displayedServers}${suffix}`;
setMessage(
`Connecting to MCP servers... (${connected}/${clients.size}) - Waiting for: ${displayedServers}${suffix}`,
initialMessage && initialMessage !== 'Initializing...'
? `${initialMessage} (${mcpMessage})`
: mcpMessage,
);
} else {
const mcpMessage = `Connecting to MCP servers... (${connected}/${clients.size})`;
setMessage(
`Connecting to MCP servers... (${connected}/${clients.size})`,
initialMessage && initialMessage !== 'Initializing...'
? `${initialMessage} (${mcpMessage})`
: mcpMessage,
);
}
};
@@ -53,7 +63,7 @@ export const ConfigInitDisplay = () => {
return () => {
coreEvents.off(CoreEvent.McpClientUpdate, onChange);
};
}, []);
}, [initialMessage]);
return (
<Box marginTop={1}>