Commit Graph

90 Commits

Author SHA1 Message Date
Pascal cc752d0d21 fix: MCP WebSocket reconnection race conditions 2026-02-05 15:31:08 +01:00
Pascal bba8f64e0f fix: handle MCP WebSocket disconnections with auto-reconnect (SDK provides no native reconnection) 2026-02-04 20:56:56 +01:00
Aleksander Grygier 67e04c92db refactor: Cleanup 2026-02-03 16:10:02 +01:00
Aleksander Grygier 3120a9fc94 refactor: Cleanup 2026-02-03 14:48:45 +01:00
Aleksander Grygier 16f333e4ec refactor: Cleanup 2026-02-03 14:42:42 +01:00
Aleksander Grygier 70efc41eb1 refactor: Cleanup 2026-02-03 14:27:39 +01:00
Aleksander Grygier bb4253ae20 refactor: Cleanup 2026-02-03 14:27:39 +01:00
Pascal 893dbb058a fix: skip sending image attachments to non-vision backends 2026-02-01 03:20:36 +01:00
Aleksander Grygier 536c6866e3 feat: Integrate with `llama-server` proxy + improve MCP Server Edit Form 2026-01-29 14:59:28 +01:00
Aleksander Grygier 6793c7daac fix: Checking for capabilities from store 2026-01-29 12:45:10 +01:00
Aleksander Grygier 2aa704b821 refactor: Cleanup 2026-01-29 11:44:08 +01:00
Aleksander Grygier 5a176d1893 feat: Chat logic improvements 2026-01-28 18:31:37 +01:00
Aleksander Grygier 1623547e2b feat: Integrate Resource Store into Main MCP Store 2026-01-28 18:31:36 +01:00
Aleksander Grygier dc2076a77c feat: MCP Resources Svelte Store 2026-01-28 18:31:36 +01:00
Aleksander Grygier 192c920d73 refactor: Use constants 2026-01-28 18:31:35 +01:00
Aleksander Grygier bdae58ceb8 refactor: Reuse MCP connections for health checks 2026-01-27 17:13:09 +01:00
Aleksander Grygier fcb7d1f899 fix: Sync streaming content to active messages 2026-01-27 16:46:19 +01:00
Aleksander Grygier aff13cc085 refactor: Go back to simpler Stores + Services architecture 2026-01-27 15:57:12 +01:00
Aleksander Grygier f40b377e34 refactor: Improves abort signal handling 2026-01-27 14:55:35 +01:00
Aleksander Grygier 7ba1b458d5 refactor: Create shared ActiveConversationStore to avoid circular dependency between ChatStore and ConversationsStore 2026-01-27 14:27:13 +01:00
Aleksander Grygier d43895d706 feat: Implement inactive chat conversation state cleanup 2026-01-27 13:10:24 +01:00
Aleksander Grygier 2281ac50c6 refactor: Use TTL cache for model properties in ModelsStore 2026-01-27 13:10:24 +01:00
Aleksander Grygier 717a868c23 feat: Mcp Server Selector 2026-01-26 15:03:05 +01:00
Aleksander Grygier ee9efae203 refactor: Enums 2026-01-25 13:37:08 +01:00
Aleksander Grygier b58b823b57 refactor: Types 2026-01-25 01:39:49 +01:00
Aleksander Grygier 5dfc520d67 refactor: Cleanup 2026-01-25 00:48:21 +01:00
Aleksander Grygier 372202632e refactor: Cleanup 2026-01-25 00:31:49 +01:00
Aleksander Grygier d938994395 refactor: Cleanup 2026-01-24 23:38:37 +01:00
Aleksander Grygier 13f756421c refactor: Enums 2026-01-24 18:37:43 +01:00
Aleksander Grygier 2601bf0f59 fix: Save draft message in Chat Form when adding System Prompt from new chat view 2026-01-24 13:32:49 +01:00
Aleksander Grygier 8428741034 feat: MCP Prompts WIP 2026-01-24 01:26:17 +01:00
Aleksander Grygier 9c391d8e0d feat: UI improvements 2026-01-23 15:21:03 +01:00
Aleksander Grygier 6018f85c65 feat: Architectural improvements 2026-01-22 18:19:37 +01:00
Aleksander Grygier c02e83c32a feat: Per-conversation agentic loop state 2026-01-22 17:38:51 +01:00
Aleksander Grygier 8a95ec3ea6 feat: Improve MCP Server selection UI + lazy load health checks 2026-01-19 19:01:32 +01:00
Aleksander Grygier 54192b05fb feat: Simplify MCP server enabling logic per chat
Refactors MCP server enabling logic to remove the dependency on global settings.

This simplifies the logic by directly checking the per-chat override status, and removes the need to pass the global enabled state as a parameter.

Additionally:
- Only shows MCP servers that are enabled in settings in the selector.
- Sorts the servers by whether they are enabled for the current chat.
2026-01-19 16:43:53 +01:00
Pascal d8af98f1ed refactor: remove multimodal validation from model selector
Remove all frontend validation logic that prevented users from selecting
models based on multimodal capabilities. This refactoring removes
restrictive UI code while maintaining full functionality

- Vision models can describe images as text
- That text remains useful for non-vision models
- Chaining vision -> non-vision is a valid workflow
- Users know their use case better than the UI
- Users can return to vision models when needed
2026-01-18 10:42:01 +01:00
Pascal fca7177eae fix: ignore assistant attachments (MCP) for modality detection 2026-01-17 18:36:41 +01:00
Pascal 506da17931 refactor: eliminate MCP circular dependency
- Change architecture from mcpStore <-> mcpClient to mcpClient -> mcpStore
- Remove bidirectional callback pattern (set*Callback, notify* methods)
- Add updateState/updateHealthCheck public methods in mcpStore
- Replace callback calls with direct mcpStore method calls
- Remove unused imports (browser, HealthCheckState) and constructor
- Fixes CI: ReferenceError Cannot access mcpClient before initialization
2026-01-17 16:30:42 +01:00
Aleksander Grygier 0009c0c300 refactor: MCP types and health check 2026-01-12 18:12:08 +01:00
Aleksander Grygier 60ef752d0f refactor: Architecture improvements 2026-01-12 14:45:24 +01:00
Aleksander Grygier 58ab834b18 refactor: MCP state management + stores/clients relationship 2026-01-12 14:17:06 +01:00
Aleksander Grygier 144148125b refactor: Cleanup 2026-01-12 10:28:59 +01:00
Aleksander Grygier 6f7750489e refactor: Types 2026-01-08 14:45:47 +01:00
Aleksander Grygier 223c6333e9 refactor: Cleanup 2026-01-08 12:46:10 +01:00
Aleksander Grygier 2d6020b574 feat: Enable adding System Prompt per-chat 2026-01-05 14:30:11 +01:00
Pascal fc7218ae11 webui: split raw output into backend parsing and frontend display options 2026-01-05 09:01:31 +01:00
Pascal 4f9d9d41b9 webui: remove legacy wrapper and restore WebSocket transport 2026-01-05 09:01:31 +01:00
Aleksander Grygier f755673c6f feat: Enhance MCP server dropdown with search, popularity sorting, and per-chat overrides 2026-01-05 09:01:31 +01:00
Aleksander Grygier 81ad2d5569 feat: Add per-chat MCP server overrides 2026-01-05 09:01:31 +01:00