Aleksander Grygier
6c61742d54
refactor: Cleanup
2026-02-13 14:05:07 +01:00
Aleksander Grygier
5871923ffe
refactor: Cleanup
2026-02-13 14:05:07 +01:00
Aleksander Grygier
394c012a58
refactor: Cleanup
2026-02-13 14:02:25 +01:00
Aleksander Grygier
626bb47e9d
refactor: Cleanup
2026-02-13 14:02:25 +01:00
Aleksander Grygier
f2fcfcd394
refactor: Cleanup
2026-02-13 14:01:41 +01:00
Aleksander Grygier
48a757bc0a
refactor: Cleanup
2026-02-13 14:01:41 +01:00
Aleksander Grygier
c591b45399
refactor: Cleanup
2026-02-13 14:00:06 +01:00
Pascal
2bbfd6537f
chore: update webui build output
2026-02-13 14:00:06 +01:00
Pascal
401c53fa2e
Update tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsList.svelte
...
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAttachmentsDropdown.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActions.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActions.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker/ChatFormPromptPicker.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker/ChatFormPromptPicker.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker/ChatFormPromptPickerArgumentForm.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessages.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageStatistics.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/index.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/index.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/chat/index.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/content/CollapsibleContentBlock.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/content/CollapsibleContentBlock.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/dialogs/DialogMcpResources.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpServerCard/McpServerCardDeleteDialog.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpCapabilitiesBadges.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpConnectionLogs.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpResourcePreview.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpResourcePreview.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpResourcePreview.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpServerForm.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpServerSelector.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpServersSettings.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpServersSettings.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpServersSettings.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/mcp/McpServersSettings.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/misc/index.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/misc/TruncatedText.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/misc/TruncatedText.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/components/app/misc/TruncatedText.svelte
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/services/mcp.service.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/services/mcp.service.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/services/mcp.service.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/services/mcp.service.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/services/mcp.service.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/services/mcp.service.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/services/mcp.service.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Update tools/server/webui/src/lib/services/mcp.service.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
Load more...
2026-02-13 14:00:06 +01:00
Pascal
52ee296e20
chore: update webui build output
2026-02-13 14:00:06 +01:00
Pascal
c81732e4d7
webui: add early exit for unchanged content in markdown processing
...
Skip redundant processing when coalesced chunks result in identical
content. During rapid streaming, multiple chunks may arrive and coalesce
into pendingMarkdown while processing is ongoing. When the final
coalesced content equals what was just processed, we can skip entirely.
Also clarify the RAF yield comment: the key insight is that chunks
arriving during the yield naturally coalesce, so we always render
the latest state without explicitly tracking what to skip.
2026-02-13 14:00:06 +01:00
Pascal
023dd54b57
chore: update webui build output
2026-02-13 14:00:06 +01:00
Pascal
9d3818ed7a
webui: remove artificial cache limit, let GC handle cleanup on conversation change
2026-02-13 14:00:06 +01:00
Pascal
e61a2c235d
chore: update webui build output
2026-02-13 14:00:06 +01:00
Pascal
1c9085c9a6
webui: fix UI freeze at high token rates with RAF yield
...
The markdown coalescing loop was processing chunks back-to-back without
yielding to the browser's paint cycle. At high token rates (250+ tok/s),
this caused complete UI freeze as the main thread was perpetually busy.
Add a requestAnimationFrame yield between processing batches. This allows
the browser to paint at screen FPS regardless of token throughput. Chunks
arriving during the yield are coalesced and processed together, so we
skip intermediate states and jump straight to the latest content.
Before: Chunk->process->Chunk->process->... (browser never paints = freeze)
After: Chunk->process->[RAF]->coalesced chunks->process->[RAF]->... (screen FPS)
Tested with 250 tok/s streams on 50K+ token contexts: smooth scrolling
and responsive UI throughout.
2026-02-13 14:00:06 +01:00
Pascal
e4bb6fdbf1
chore: update webui build output
2026-02-13 14:00:06 +01:00
Pascal
e7140051b7
webui: incremental MDAST transform caching for streaming performance
...
Replace full AST re-transformation with per-block caching strategy.
Previously, each streaming chunk triggered processor.run() on the entire
document (12 rehype/remark plugins including KaTeX and highlight.js).
Now transforms individual MDAST nodes and caches results by position hash.
In append-only streaming mode, stable blocks are reused directly from cache,
only the unstable trailing block is re-transformed.
- Add SvelteMap FIFO cache (5000 blocks, evicts oldest 1000 on overflow)
- Add getMdastNodeHash() for MDAST node fingerprinting by position
- Add isAppendMode() to detect streaming append patterns
- Add transformMdastNode() for single-node transformation with cache lookup
- Remove stringifyProcessedNode() (dead code after refactor)
Reduces streaming complexity from O(N × transforms) to O(1) for stable blocks.
Targets 200K token contexts without UI degradation on mobile devices.
2026-02-13 14:00:06 +01:00
Pascal
6eeb611d51
chore: update webui build output
2026-02-13 14:00:05 +01:00
Pascal
feb1565914
feat: render images inline below attachment markers in tool results
...
Parse tool results line-by-line to display images immediately after their
[Attachment saved: xxx.png] markers. Fixes previous commit where all images
from all tool calls were shown in every section. Each tool call now displays
only its own images.
Uses Svelte derived for memoization to avoid re-parsing on every streaming
chunk. Parsing only occurs when section.toolResult or message.extra changes
2026-02-13 14:00:05 +01:00
Pascal
62965b4717
feat: render images below attachment markers in tool results
2026-02-13 14:00:05 +01:00
Pascal
1fbf50713e
chore: update webui build output
2026-02-13 14:00:05 +01:00
Pascal
8a00e70064
fix: also skip image attachments in message history for non-vision backends
2026-02-13 14:00:05 +01:00
Pascal
46aad7fad0
chore: update webui build output
2026-02-13 14:00:05 +01:00
Pascal
441d6b8d64
fix: skip sending image attachments to non-vision backends
2026-02-13 14:00:05 +01:00
Pascal
26bc18d7e3
chore: update webui build output
2026-02-13 14:00:05 +01:00
Pascal
2f97e59e25
fix: responsive MCP server cards, prioritize server name over version
2026-02-13 14:00:05 +01:00
Pascal
7da99d3c77
fix: responsive MCP server cards for mobile viewports
2026-02-13 14:00:05 +01:00
Pascal
ea44b276a5
chore: update webui build output
2026-02-13 14:00:05 +01:00
Pascal
3b549e6015
webui: adaptive model selector dropdown width
...
Make model selector dropdown responsive:
- Mobile: full width (w-full max-w-[100vw])
- Desktop: adapts to longest model name (sm:w-max)
- Replace TruncatedText with responsive span (truncate on mobile, full text on desktop via sm:overflow-visible sm:whitespace-nowrap)
- Center status icons in fixed 24px wrapper to prevent layout shifts
- Add sm:pr-2 padding between text and icon zone on desktop
Fixes dropdown cutting off long model names on desktop while maintaining full-width display on mobile with proper text truncation
2026-02-13 14:00:05 +01:00
Aleksander Grygier
4ec405441c
chore: update webui build output
2026-02-13 14:00:05 +01:00
Aleksander Grygier
8fbed10bf6
refactor: Use CORS Proxy for favicons calls
2026-02-13 14:00:05 +01:00
Aleksander Grygier
c9ba41f540
refactor: Proxy utility
2026-02-13 14:00:05 +01:00
Aleksander Grygier
670f5fa6bf
chore: update webui build output
2026-02-13 14:00:05 +01:00
Aleksander Grygier
be09ff9f4a
feat: Integrate with `llama-server` proxy + improve MCP Server Edit Form
2026-02-13 14:00:05 +01:00
Xuan Son Nguyen
93378a5a5f
https working
2026-02-13 14:00:05 +01:00
Xuan Son Nguyen
7df625f8f8
fix
2026-02-13 14:00:05 +01:00
Xuan Son Nguyen
a145e44838
demo cors proxy
2026-02-13 14:00:05 +01:00
Aleksander Grygier
e2534783c2
chore: update webui build output
2026-02-13 14:00:05 +01:00
Aleksander Grygier
c4e2ccdff7
fix: Checking for capabilities from store
2026-02-13 14:00:05 +01:00
Aleksander Grygier
874de71573
refactor: Cleanup
2026-02-13 14:00:05 +01:00
Aleksander Grygier
59d5da4541
chore: update webui build output
2026-02-13 14:00:05 +01:00
Aleksander Grygier
a47b9e4d99
fix: Linter errors
2026-02-13 14:00:05 +01:00
Aleksander Grygier
aa4fb786a2
refactor: Refine Chat Message Processing State Display
2026-02-13 14:00:05 +01:00
Aleksander Grygier
6047da3f72
feat: Chat logic improvements
2026-02-13 13:59:23 +01:00
Aleksander Grygier
2ee54f431a
feat: Integrate Resource Attachments into Chat Form UI
2026-02-13 13:59:23 +01:00
Aleksander Grygier
d5644c58ab
feat: MCP Resources UI
...
feat: Implement MCP Resource Selection Dialog
2026-02-13 13:59:23 +01:00
Aleksander Grygier
c6e1a3f22f
feat: Integrate Resource Store into Main MCP Store
2026-02-13 13:59:23 +01:00
Aleksander Grygier
db72dcaf27
feat: MCP Resources Svelte Store
2026-02-13 13:59:23 +01:00
Aleksander Grygier
2a036580ff
refactor: Use constants
2026-02-13 13:59:23 +01:00
Aleksander Grygier
f956e6351d
feat: Introduce MCP Resource Types and Service Methods
2026-02-13 13:59:23 +01:00
Aleksander Grygier
0894c1fbb6
refactor: Componentize HorizontalScrollCarousel
2026-02-13 13:59:23 +01:00
Aleksander Grygier
1bf2cb751b
fix: Code Preview sandbox
2026-02-13 13:59:23 +01:00
Aleksander Grygier
f4db63749b
refactor: Reuse MCP connections for health checks
2026-02-13 13:59:23 +01:00
Aleksander Grygier
d6b9f54e79
chore: update webui build output
2026-02-13 13:59:23 +01:00
Aleksander Grygier
6b58e32eaa
fix: Sync streaming content to active messages
2026-02-13 13:59:23 +01:00
Aleksander Grygier
fc2dfc1170
refactor: Go back to simpler Stores + Services architecture
2026-02-13 13:59:23 +01:00
Aleksander Grygier
51da906a1e
feat: Introduce BaseClient for common store integration
...
refactor(agentic-client): Extend BaseClient for store integration
refactor(chat-client): Extend BaseClient for store integration
refactor(conversations-client): Extend BaseClient for store integration
2026-02-13 13:59:23 +01:00
Aleksander Grygier
34330d884e
feat: Introduce centralized API fetch utilities
...
refactor(models): Use new API fetch utilities
refactor(props): Use new API fetch utilities
2026-02-13 13:59:23 +01:00
Aleksander Grygier
93c774ab4a
fix: Missing tool call handling
2026-02-13 13:58:58 +01:00
Aleksander Grygier
b9e08737e1
refactor: Improves abort signal handling
2026-02-13 13:58:58 +01:00
Aleksander Grygier
38e33f063b
chore: update webui build output
2026-02-13 13:58:58 +01:00
Aleksander Grygier
538e5367b2
refactor: Create shared ActiveConversationStore to avoid circular dependency between ChatStore and ConversationsStore
2026-02-13 13:58:58 +01:00
Aleksander Grygier
1679f00026
chore: update webui build output
2026-02-13 13:58:58 +01:00
Aleksander Grygier
f5c8638ae3
feat: Enhance ChatMessageMcpPromptContent display
2026-02-13 13:58:58 +01:00
Aleksander Grygier
41b1840e38
feat: Disable server card toggle when in error state
2026-02-13 13:58:58 +01:00
Aleksander Grygier
c09e429306
feat: Add auto-resizing textarea to KeyValuePairs component
2026-02-13 13:58:58 +01:00
Aleksander Grygier
1f9f9e295b
chore: update webui build output
2026-02-13 13:58:58 +01:00
Aleksander Grygier
321ca8d6f2
refactor: Remove unused `getChatActionsContext` import
2026-02-13 13:58:58 +01:00
Aleksander Grygier
3a4cc8cc07
feat: Implement inactive chat conversation state cleanup
2026-02-13 13:58:58 +01:00
Aleksander Grygier
83a2faee97
refactor: Use TTL cache for model properties in ModelsStore
2026-02-13 13:58:58 +01:00
Aleksander Grygier
9f9fccd55d
feat: Implement generic TTL cache utility
2026-02-13 13:58:57 +01:00
Aleksander Grygier
b04cd272a8
feat: Add cache configuration constants
2026-02-13 13:58:29 +01:00
Aleksander Grygier
952960ca9e
chore: update webui build output
2026-02-13 13:58:29 +01:00
Aleksander Grygier
1d15e29185
refactor: Adapt message child components to MessageEditContext
2026-02-13 13:58:29 +01:00
Aleksander Grygier
ed6ecf7747
refactor: Encapsulate message editing state and actions in ChatMessage.svelte
2026-02-13 13:58:29 +01:00
Aleksander Grygier
05566cc82e
refactor: Centralize chat-wide actions in ChatMessages.svelte
2026-02-13 13:58:29 +01:00
Aleksander Grygier
8873c43e76
chore: update webui build output
2026-02-13 13:57:25 +01:00
Aleksander Grygier
033af9f648
refactor: Components
2026-02-13 13:57:25 +01:00
Aleksander Grygier
579c2892df
refactor: Improve styling and overflow handling for ChatMessageMcpPromptContent
2026-02-13 13:57:25 +01:00
Aleksander Grygier
88a161ce12
feat: Add support for pasting MCP prompt attachments in ChatForm
2026-02-13 13:57:25 +01:00
Aleksander Grygier
9f5bcf0b02
feat: Implement clipboard serialization/deserialization for MCP prompts
2026-02-13 13:57:25 +01:00
Aleksander Grygier
ed7f18ac30
feat: Introduce clipboard types for MCP prompt attachments
2026-02-13 13:57:25 +01:00
Aleksander Grygier
5e96dbc279
fix: Edit Mode with MCP Prompt in message
2026-02-13 13:57:25 +01:00
Aleksander Grygier
5e441b4d77
refactor: Use Popover for Chat Form Prompt Picker
2026-02-13 13:57:25 +01:00
Aleksander Grygier
ec9f6ed0d4
feat: UI improvements
2026-02-13 13:57:25 +01:00
Aleksander Grygier
6a9fa4c8dc
chore: update webui build output
2026-02-13 13:57:25 +01:00
Pascal
b0bb4d673a
webui: remove unused sessionId, SDK handles it automatically
2026-02-13 13:57:25 +01:00
Pascal
c7553fb750
webui: remove unused sessionId, SDK handles it automatically
2026-02-13 13:57:25 +01:00
Aleksander Grygier
81a41046dc
chore: update webui build output
2026-02-13 13:57:25 +01:00
Aleksander Grygier
0e8a4ccfee
refactor: Components
2026-02-13 13:57:25 +01:00
Aleksander Grygier
d4bd13245d
refactor: Utils
2026-02-13 13:54:06 +01:00
Aleksander Grygier
1aa837aba0
chore: update webui build output
2026-02-13 13:53:25 +01:00
Aleksander Grygier
3cc3a0f8b8
fix: Wait for all MCP Servers Health Checks to load
2026-02-13 13:53:25 +01:00
Aleksander Grygier
e3fb8e6744
refactor: Cleanup
2026-02-13 13:53:25 +01:00
Aleksander Grygier
feeba12875
refactor: Cleanup
...
refactor: Cleanup
refactor: Cleanup
refactor: Cleanup
2026-02-13 13:53:25 +01:00
Aleksander Grygier
5b66bec3d4
chore: update webui build output
2026-02-13 13:53:25 +01:00
Aleksander Grygier
b33048f42f
feat: Mcp Server Selector
2026-02-13 13:53:25 +01:00
Aleksander Grygier
e0b61fa8a1
fix: Scroll issues in DropdownMenuSearchable
2026-02-13 13:53:25 +01:00
Aleksander Grygier
03a926114f
chore: update webui build output
2026-02-13 13:53:25 +01:00
Aleksander Grygier
5a939b2aea
feat: Improve Code blocks rendering + add auto scroll + improve global scroll bar behavior
2026-02-13 13:53:25 +01:00