Skip to content

Feature chathistory#278

Merged
olasunkanmi-SE merged 3 commits intodevelopmentfrom
feature-chathistory
Jul 27, 2025
Merged

Feature chathistory#278
olasunkanmi-SE merged 3 commits intodevelopmentfrom
feature-chathistory

Conversation

@olasunkanmi-SE
Copy link
Owner

No description provided.

Olasunkanmi Oyinlola added 3 commits July 25, 2025 01:02
This commit introduces a worker-based architecture for managing chat history to prevent blocking the main VS Code thread. It enhances the AgentService with asynchronous chat history operations using SQLite for persistent storage.

- Implemented ChatHistoryWorker for non-blocking database operations
- Integrated ChatHistoryWorker into AgentService for managing chat history
- Added support for saving, retrieving, clearing, and adding chat messages asynchronously
- Implemented optimized retrieval of recent chat history with limit
- Added background cleanup operations for old chat history across all agents
- Included comprehensive tests for worker operations, concurrency, and error handling
- Added documentation for the new architecture in
…Documentation

Refactor ChatHistoryWorker to use an enum (ChatHistoryWorkerOperation) for operation types, improving type safety.
Add comprehensive JSDoc-style comments to ChatHistoryWorker, detailing its purpose, architecture, and usage.
Create new documentation files (SETTIMEOUT_EXPLANATION.md and WEBWORKER_BLOCKERS_VSCODE.md) to explain the rationale behind using setTimeout and the limitations of web workers in VS Code extensions.
- Integrates WASM SQLite for chat history storage via chat history worker.
- Adds sql-wasm.wasm file.
- Implements fallback mechanism to file storage for backward compatibility.
- Optimizes recent chat history retrieval using the worker.
@olasunkanmi-SE olasunkanmi-SE merged commit 9de27e9 into development Jul 27, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant