Refactor message handling and remove result limit in vault indexing

This commit is contained in:
2026-05-06 22:45:03 +02:00
parent ea792b0034
commit 0920e0959e
2 changed files with 9 additions and 13 deletions
+9 -9
View File
@@ -287,14 +287,16 @@ export class ChatView extends ItemView {
context = context.substring(0, MAX_CONTEXT_LENGTH) + '\n\n... (truncated)'; context = context.substring(0, MAX_CONTEXT_LENGTH) + '\n\n... (truncated)';
} }
const systemContent = context
? `You are a helpful assistant.\n\nRelevant vault context:\n${context}`
: 'You are a helpful assistant.';
const systemMessage: OllamaMessage = { const systemMessage: OllamaMessage = {
role: 'system', role: 'system',
content: 'You are a helpful assistant.', content: systemContent,
}; };
const userContent = context ? `${context}\n\n${userMessage}` : userMessage;
const userMessageWithContext: OllamaMessage = { const userMessageWithContext: OllamaMessage = {
role: 'user', role: 'user',
content: userContent, content: userMessage,
}; };
const messages: OllamaMessage[] = [ const messages: OllamaMessage[] = [
@@ -439,13 +441,11 @@ export class ChatView extends ItemView {
} }
} }
// Update last message immutably — only if no tool calls were processed // Update assistant message immutably — only if no tool calls were processed
if (toolCalls.length === 0) { if (toolCalls.length === 0) {
const lastMessageIndex = this.messages.length - 1; this.updateMessageById(assistantMessageId, {
if (lastMessageIndex >= 0) { isStreaming: false,
const lastMessage = { ...this.messages[lastMessageIndex], isStreaming: false }; });
this.messages = [...this.messages.slice(0, lastMessageIndex), lastMessage];
}
} }
// Limit conversation history to prevent memory issues // Limit conversation history to prevent memory issues
-4
View File
@@ -102,10 +102,6 @@ class VaultIndexer {
(result): result is NonNullable<typeof result> => result !== null (result): result is NonNullable<typeof result> => result !== null
); );
results.push(...validResults); results.push(...validResults);
if (results.length >= 50) {
break;
}
} }
return results; return results;