diff --git a/apps/server/src/agent/gemini-agent.ts b/apps/server/src/agent/gemini-agent.ts index 5ca1e3d5..97fdb5c3 100644 --- a/apps/server/src/agent/gemini-agent.ts +++ b/apps/server/src/agent/gemini-agent.ts @@ -397,8 +397,7 @@ ${message} // Inject previous conversation if resuming (no server-side history) let fullMessage = userQuery - const hasHistory = this.client.getHistory().length > 0 - if (previousConversation && !hasHistory) { + if (previousConversation) { fullMessage = ` The user is resuming a previous conversation. Here is the conversation history for context: diff --git a/apps/server/src/api/services/chat-service.ts b/apps/server/src/api/services/chat-service.ts index 9cd2ddcb..711bfd5b 100644 --- a/apps/server/src/api/services/chat-service.ts +++ b/apps/server/src/api/services/chat-service.ts @@ -99,13 +99,14 @@ export class ChatService { isScheduledTask: request.isScheduledTask, } + const isNewSession = !sessionManager.has(request.conversationId) const agent = await sessionManager.getOrCreate(agentConfig, mcpServers) await agent.execute( request.message, rawStream, abortSignal, request.browserContext, - request.previousConversation, + isNewSession ? request.previousConversation : undefined, ) }