Memoize agent object in AgentPanelBody to prevent WebStreamViewport re-renders on keystroke

This commit is contained in:
Mohamed Boudra
2026-04-12 12:18:51 +07:00
parent 0d340959d7
commit cde10485d4
+5 -2
View File
@@ -483,7 +483,8 @@ function AgentPanelBody({
isPendingCreateForPanel && (!authoritativeStatus || isAuthoritativeBootstrapping);
const canFinalizePendingCreate = Boolean(authoritativeStatus) && !isAuthoritativeBootstrapping;
const agent: AgentScreenAgent | null =
const agent = useMemo<AgentScreenAgent | null>(
() =>
agentState.serverId && agentState.id && agentState.status && agentState.cwd
? {
serverId: agentState.serverId,
@@ -492,7 +493,9 @@ function AgentPanelBody({
cwd: agentState.cwd,
projectPlacement,
}
: null;
: null,
[agentState.serverId, agentState.id, agentState.status, agentState.cwd, projectPlacement],
);
const placeholderAgent: AgentScreenAgent | null = useMemo(() => {
if (!shouldUseOptimisticStream || !agentId) {