227ed28e12
webui: MCP Diagnostics improvements ( #21803 )
...
* Add MCP Connection diagnostics and CORS hint to web-ui
* tidy up test
* webui: Refactor and improve MCP diagnostic logging
---------
Co-authored-by: evalstate <1936278+evalstate@users.noreply.github.com >
2026-04-13 07:58:38 +02:00
Aleksander Grygier and GitHub
9e209c5aee
fix: Proper messages rendering for "Show raw output" ( #21672 )
2026-04-12 13:08:11 +02:00
Aleksander Grygier and GitHub
f989a6e39e
webui: Static build output improvements ( #21667 )
...
* refactor: Build improvements
* chore: Formatting + package lock update
2026-04-10 11:49:47 +02:00
Aleksander Grygier and GitHub
9949ad08f6
fix: Model Selector choice sync ( #21628 )
2026-04-09 09:46:27 +02:00
Aleksander Grygier and GitHub
75511a8d7e
webui: Add option to pre-encode conversation for faster next turns ( #21034 )
2026-04-09 09:10:18 +02:00
Aleksander Grygier and GitHub
3bd9aa1f92
chore: Update labeler to have separate labels for server/webui and server changes ( #21567 )
2026-04-08 10:35:31 +02:00
Aleksander Grygier and GitHub
ece522f98c
chore: Remove legacy files ( #21606 )
2026-04-08 09:55:08 +02:00
Aleksander Grygier and GitHub
ecce0087da
fix: Detect streaming state in reasoning content blocks ( #21549 )
2026-04-07 12:04:41 +02:00
Aleksander Grygier and GitHub
12dbf1da95
server: Bypass API Key validation for WebUI static bundle assets ( #21269 )
...
* fix: Bypass API Key validation for static bundle assets
* refactor: All bypassed routes in `public_endpoints`
* test: Update static assets API Key test
2026-04-01 21:32:15 +02:00
Aleksander Grygier and GitHub
0fcb3760b2
fix: Use lower-case proxy headers naming ( #21235 )
2026-03-31 17:47:46 +02:00
Aleksander Grygier and GitHub
389c7d4955
webui: Fix branching logic on edit message ( #21175 )
...
* fix: Branching logic + small refactor
* chore: update webui build output
2026-03-30 14:40:50 +02:00
Aleksander Grygier and GitHub
51a84efc53
webui: Conversation forking + branching improvements ( #21021 )
...
* refactor: Make `DialogConfirmation` extensible with children slot
* feat: Add conversation forking logic
* feat: Conversation forking UI
* feat: Update delete/edit dialogs and logic for forks
* refactor: Improve Chat Sidebar UX and add MCP Servers entry
* refactor: Cleanup
* feat: Update message in place when editing leaf nodes
* chore: Cleanup
* chore: Cleanup
* chore: Cleanup
* chore: Cleanup
* chore: Cleanup
* chore: Cleanup
* refactor: Post-review improvements
* chore: update webui build output
* test: Update Storybook test
* chore: update webui build output
* chore: update webui build output
2026-03-28 13:38:15 +01:00
Aleksander Grygier and GitHub
e6f6770515
webui: Improve Chat Messages initial scroll + auto-scroll logic + add lazy loading with transitions to content blocks ( #20999 )
...
* refactor: Always use agentic content renderer for Assistant Message
* feat: Improve initial scroll + auto-scroll logic + implement fade in action for content blocks
* chore: update webui build output
2026-03-27 17:01:36 +01:00
Aleksander Grygier and GitHub
69e0ecef06
webui: Fix editing assistant message without branching ( #20944 )
...
* fix: Editing assistant response without branching
* chore: update webui build output
2026-03-25 12:47:33 +02:00
Aleksander Grygier and GitHub
11fb11b901
webui: Improve chat form positioning ( #20901 )
2026-03-23 14:30:55 +01:00
512bba6ee0
webui: Improve model parsing logic + add unit tests ( #20749 )
...
* add tests for model id parser
* add test case having activated params
* add structured tests for model id parser
* add ToDo
* feat: Improve model parsing logic + tests
* chore: update webui build output
---------
Co-authored-by: bluemoehre <bluemoehre@gmx.de >
2026-03-19 12:25:50 +01:00
Aleksander Grygier and GitHub
7ab321d40d
webui: Fix duplicated messages on q param ( #20715 )
...
* fix: Remove duplicate message sending on `?q` param
* chore: update webui build output
2026-03-18 10:32:43 +01:00
Aleksander Grygier and GitHub
67a2209fab
webui: Add MCP CORS Proxy detection logic & UI ( #20167 )
...
* refactor: MCP store cleanup
* feat: Add MCP proxy availability detection
* fix: Sidebar icon
* chore: update webui build output
* chore: Formatting
* chore: update webui build output
* chore: Update package lock
* chore: update webui build output
* chore: update webui build output
* chore: update webui build output
2026-03-16 13:05:36 +01:00
Aleksander Grygier and GitHub
f6235a41ef
webui: Agentic Loop + MCP Client with support for Tools, Resources and Prompts ( #18655 )
2026-03-06 10:00:39 +01:00
Aleksander Grygier and GitHub
5e335ba113
webui: Improvements for Models Selector UI ( #20066 )
2026-03-05 08:52:22 +01:00
Aleksander Grygier and GitHub
5eb0ea32f0
feat: Add code blocks full height setting to parameter sync service ( #19835 )
2026-02-23 22:30:13 +01:00
Aleksander Grygier and GitHub
9051663d5d
webui: Add setting to have full height Code Blocks in Chat Messages ( #19829 )
2026-02-23 14:16:50 +01:00
Aleksander Grygier and GitHub
03fd9d3bb4
webui: Fix Attachments not being included in completion request ( #19731 )
...
* fix: Add missing argument
* chore: update webui build output
2026-02-19 10:27:38 +01:00
Aleksander Grygier and GitHub
ea003229d3
Pre-MCP UI and architecture cleanup ( #19689 )
2026-02-18 12:02:02 +01:00
Aleksander Grygier and GitHub
afa6bfe4f7
Pre-MCP UI and architecture cleanup ( #19685 )
...
* webui: extract non-MCP changes from mcp-mvp review split
* webui: extract additional pre-MCP UI and architecture cleanup
* chore: update webui build output
2026-02-17 13:47:45 +01:00
Aleksander Grygier and GitHub
baa12f3831
webui: Architecture and UI improvements ( #19596 )
2026-02-14 09:06:41 +01:00
5174d7206f
webui: UI and routing fixes ( #19586 )
...
* chore: update webui build output
* chore: update webui build output
* fix: Scroll issues in DropdownMenuSearchable
* webui: fix redirect to root ignoring base path
* fix: Word wrapping
* fix: remove obsolete modality UI tests causing CI failures
- Remove VisionModality/AudioModality test stories
- Remove mockServerProps usage and imports
- Simplify Default test (remove dropdown interaction checks)
- Simplify FileAttachments test (remove mocks)
* feat: Improve formatting performance time
---------
Co-authored-by: Pascal <admin@serveurperso.com >
2026-02-13 12:31:00 +01:00
Aleksander Grygier and GitHub
4c61875bf8
webui: Add switcher to Chat Message UI to show raw LLM output ( #19571 )
2026-02-12 19:55:51 +01:00
Aleksander Grygier and GitHub
4d688f9ebb
(webui) FEATURE: Enable adding or injecting System Message into chat ( #19556 )
...
* feat: Enable adding System Prompt per-chat
* fix: Save draft message in Chat Form when adding System Prompt from new chat view
* fix: Proper system message deletion logic
* chore: Formatting
* chore: update webui build output
2026-02-12 13:56:08 +01:00
Aleksander Grygier and GitHub
f486ce9f30
(webui) REFACTOR: UI primitives and polish ( #19551 )
...
* webui: UI primitives and polish (non-MCP)
* chore: update webui build output
2026-02-12 12:21:00 +01:00
Aleksander Grygier and GitHub
38adc7d469
WebUI Architecture Cleanup ( #19541 )
...
* webui: architecture foundation (non-MCP core refactors)
* chore: update webui build output
2026-02-12 11:22:27 +01:00
Aleksander Grygier and GitHub
acb73d8340
webui: Add editing attachments in user messages ( #18147 )
...
* feat: Enable editing attachments in user messages
* feat: Improvements for data handling & UI
* docs: Update Architecture diagrams
* chore: update webui build output
* refactor: Exports
* chore: update webui build output
* feat: Add handling paste for Chat Message Edit Form
* chore: update webui build output
* refactor: Cleanup
* chore: update webui build output
2025-12-19 11:14:07 +01:00
9ce64aed7d
webui: Fix selecting generated output issues during active streaming ( #18091 )
...
* draft: incremental markdown rendering with stable blocks
* refactor: Logic improvements
* refactor: DRY Markdown post-processing logic
* refactor: ID generation improvements
* fix: Remove runes
* refactor: Clean up & add JSDocs
* chore: update webui static output
* fix: Add tick to prevent race conditions for rendering Markdown blocks
Suggestion from @ServeurpersoCom
Co-authored-by: Pascal <admin@serveurperso.com >
* chore: Run `npm audit fix`
* chore: update webui static output
* feat: Improve performance using global counter & id instead of UUID
* refactor: Enhance Markdown rendering with link and code features
* chore: update webui static output
* fix: Code block content extraction
* chore: update webui static output
* chore: update webui static output
---------
Co-authored-by: Pascal <admin@serveurperso.com >
2025-12-18 11:13:52 +01:00
Aleksander Grygier and GitHub
3034836d36
webui: Improve copy to clipboard with text attachments ( #17969 )
...
* feat: Create copy/paste user message including "pasted text" attachments
* chore: update webui build output
* chore: update webui static output
* fix: UI issues
* chore: update webui static output
* fix: Decode HTML entities using `DOMParser`
* chore: update webui build output
* chore: update webui static output
2025-12-16 07:38:46 +01:00
Aleksander Grygier and GitHub
a20979d433
webui: Add setting to always show sidebar on Desktop ( #17809 )
...
* feat: Add setting to always show Sidebar on Desktop
* chore: update webui build output
* feat: Add auto-show sidebar setting
* fix: Mobile settings dialog UI
* chore: update webui build output
* feat: UI label update
* chore: update webui build output
* chore: update webui build output
* chore: update webui build output
* refactor: Cleanup
* chore: update webui build output
2025-12-16 07:31:37 +01:00
Aleksander Grygier and GitHub
12280ae905
webui: Fix parsing non-LaTeX occurrencies of \( or \) ( #17810 )
...
* fix: Improve latex protection logic to prevent turning non-latex `\(` into `$`
* chore: update webui build output
2025-12-12 15:13:36 +01:00
Aleksander Grygier and GitHub
a28e3c7567
webui: Stop generation from chat sidebar ( #17806 )
...
* feat: Add stop generation button for Conversation Item
* chore: update webui build output
2025-12-06 13:29:15 +01:00
Aleksander Grygier and GitHub
e31b5c55c3
webui: Fix context available value in Multi-model Router mode ( #17804 )
...
* fix: Use context size from `/props?model=...` in ROUTER mode
* chore: update webui build output
2025-12-06 13:23:29 +01:00
Aleksander Grygier and GitHub
21f24f27a9
webui: Per-conversation system message with UI displaying, edition & branching ( #17275 )
...
* feat: Per-conversation system message with optional display in UI, edition and branching (WIP)
* chore: update webui build output
2025-12-06 13:19:05 +01:00
Aleksander Grygier and GitHub
e9f9483464
Use OpenAI-compatible /v1/models endpoint by default ( #17689 )
...
* refactor: Data fetching via stores
* chore: update webui build output
* refactor: Use OpenAI compat `/v1/models` endpoint by default to list models
* chore: update webui build output
* chore: update webui build output
2025-12-03 20:49:09 +01:00
Aleksander Grygier and GitHub
cee92af553
Add context info to server error ( #17663 )
...
* fix: Add context info to server error
* chore: update webui build output
2025-12-02 09:20:57 +01:00
Aleksander Grygier and GitHub
4c91f2633f
Improved file naming & structure for UI components ( #17405 )
...
* refactor: Component iles naming & structure
* chore: update webui build output
* refactor: Dialog titles + components namig
* chore: update webui build output
* refactor: Imports
* chore: update webui build output
2025-11-20 14:07:31 +01:00
Aleksander Grygier and GitHub
99c53d6558
webui: Add a "Continue" Action for Assistant Message ( #16971 )
...
* feat: Add "Continue" action for assistant messages
* feat: Continuation logic & prompt improvements
* chore: update webui build output
* feat: Improve logic for continuing the assistant message
* chore: update webui build output
* chore: Linting
* chore: update webui build output
* fix: Remove synthetic prompt logic, use the prefill feature by sending the conversation payload ending with assistant message
* chore: update webui build output
* feat: Enable "Continue" button based on config & non-reasoning model type
* chore: update webui build output
* chore: Update packages with `npm audit fix`
* fix: Remove redundant error
* chore: update webui build output
* chore: Update `.gitignore`
* fix: Add missing change
* feat: Add auto-resizing for Edit Assistant/User Message textareas
* chore: update webui build output
2025-11-19 14:39:50 +01:00
Aleksander Grygier and GitHub
22e1ce2f81
webui: Fix clickability around chat processing statistics UI ( #17278 )
...
* fix: Better pointer events handling in chat processing info elements
* chore: update webui build output
2025-11-15 22:41:41 +01:00
Aleksander Grygier and GitHub
f1bad23f88
Better UX for handling multiple attachments in WebUI ( #17246 )
2025-11-14 01:19:08 +01:00
Aleksander Grygier and GitHub
8e878f0cb4
Update packages + upgrade Storybook to v10 ( #17201 )
...
* chore: Update packages + upgrade Storybook to v10
* fix: Increase timeout for UI tests
2025-11-12 19:01:48 +01:00
Aleksander Grygier and GitHub
e7da30b584
fix: Viewing multiple PDF attachments ( #16974 )
2025-11-03 18:53:26 +01:00
Aleksander Grygier and GitHub
d8b860a219
Add a setting to display message generation statistics ( #16901 )
...
* feat: Add setting to display message generation statistics
* chore: build static webui output
2025-11-01 15:35:57 +01:00
Aleksander Grygier and GitHub
c9c1972e2c
Handle legacy 'context' attachments ( #16687 )
2025-10-20 19:49:02 +02:00
Aleksander Grygier and GitHub
79068501fa
Prevent premature submission on IME input ( #16673 )
...
* fix: Prevent premature submission on IME input
* chore: update webui static build
* refactor: Put IME completion checker in a helper function and add checking for `KeyboardEvent.eventKey === 229`
* chore: update webui static build
* chore: update webui static build
* chore: update webui static build
2025-10-20 14:21:12 +02:00
0e4a0cf2fa
Import/Export UX improvements ( #16619 )
...
* webui : added download action (#13552 )
* webui : import and export (for all conversations)
* webui : fixed download-format, import of one conversation
* webui : add ExportedConversations type for chat import/export
* feat: Update naming & order
* chore: Linting
* feat: Import/Export UX improvements
* chore: update webui build output
* feat: Update UI placement of Import/Export tab in Chat Settings Dialog
* refactor: Cleanup
chore: update webui build output
* feat: Enable shift-click multiple conversation items selection
* chore: update webui static build
* chore: update webui static build
---------
Co-authored-by: Sascha Rogmann <github@rogmann.org >
2025-10-20 13:29:14 +02:00
Aleksander Grygier and GitHub
13f2cfad41
Enable per-conversation loading states to allow having parallel conversations ( #16327 )
...
* feat: Per-conversation loading states and tracking streaming stats
* chore: update webui build output
* refactor: Chat state management
Consolidates loading state management by using a global `isLoading` store synchronized with individual conversation states.
This change ensures proper reactivity and avoids potential race conditions when updating the UI based on the loading status of different conversations. It also improves the accuracy of statistics displayed.
Additionally, slots service methods are updated to use conversation IDs for per-conversation state management, avoiding global state pollution.
* feat: Adds loading indicator to conversation items
* chore: update webui build output
* fix: Fix aborting chat streaming
Improves the chat stream abortion process by ensuring that partial responses are saved before the abort signal is sent.
This avoids a race condition where the onError callback could clear the streaming state before the partial response is saved. Additionally, the stream reading loop and callbacks are now checked for abort signals to prevent further processing after abortion.
* refactor: Remove redundant comments
* chore: build webui static output
* refactor: Cleanup
* chore: update webui build output
* chore: update webui build output
* fix: Conversation loading indicator for regenerating messages
* chore: update webui static build
* feat: Improve configuration
* feat: Install `http-server` as dev dependency to not need to rely on `npx` in CI
2025-10-20 12:41:13 +02:00
Aleksander Grygier and GitHub
f9fb33f263
Add server-driven parameter defaults and syncing ( #16515 )
2025-10-15 16:22:20 +02:00
Aleksander Grygier and GitHub
84c8e305e8
Fix missing messages on sibling navigation ( #16408 )
...
* fix: resolve message disappearing issue when navigating between regenerated siblings by using current leaf nodes instead of cached sibling IDs
* chore: update webui build output
* chore: update webui build output
2025-10-03 12:51:40 +02:00
Aleksander Grygier and GitHub
77233277c9
Capture model name only after first token (streaming) or completed request ( #16405 )
...
* feat: Capture model name only after first token (streaming) or completed request (non-streaming)
* chore: update webui build output
* chore: update webui build output
2025-10-03 11:30:39 +02:00
Aleksander Grygier and GitHub
136bda78c5
webui : Fix messages payload sent to chat completions ( #16402 )
...
* fix: Include just the currently active message branches instead of all in chat completions request
* chore: Build webui static output
* chore: Formatting
* chore: update webui build output
2025-10-03 10:11:34 +03:00
Aleksander Grygier and GitHub
764799279f
Conversation action dialogs as singletons from Chat Sidebar + apply conditional rendering for Actions Dropdown for Chat Conversation Items ( #16369 )
...
* fix: Render Conversation action dialogs as singletons from Chat Sidebar level
* chore: update webui build output
* fix: Render Actions Dropdown conditionally only when user hovers conversation item + remove unused markup
* chore: Update webui static build
* fix: Always truncate conversation names
* chore: Update webui static build
2025-10-01 18:18:10 +02:00
Aleksander Grygier and GitHub
2a9b63383a
Improve code block color theming ( #16325 )
...
* feat: Improve code block theming
* chore: update webui build output
* chore: Update webui static build
2025-10-01 15:54:42 +02:00
Aleksander Grygier and GitHub
4f1575921c
Add optional setting for showing "Model used:" information ( #16337 )
...
* feat: Add a setting to include model name used to generate the message
* feat: UI improvements
* feat: Save model info along with the database message entry creation
* chore: Build webui static output
2025-10-01 12:08:16 +02:00
Aleksander Grygier and GitHub
aa9538a63a
webui: Remove running llama-server within WebUI dev.sh script ( #16363 )
2025-10-01 08:40:26 +03:00
3a2bdcda0b
Improve Mobile UI for dialogs and action dropdowns ( #16222 )
...
* fix: Always show conversation item actions
* feat: Improve Alert Dialog and Dialog mobile UI
* feat: Add settings reset to default confirmation
* fix: Close Edit dialog on save
* chore: update webui build output
* webui: implement proper z-index system and scroll management
- Add CSS variable for centralized z-index control
- Fix dropdown positioning with Settings dialog conflicts
- Prevent external scroll interference with proper event handling
- Clean up hardcoded z-index values for maintainable architecture
* webui: ensured the settings dialog enforces dynamic viewport height on mobile while retaining existing desktop sizing overrides
* feat: Use `dvh` instead of computed px height for dialogs max height on mobile
* chore: update webui build output
* feat: Improve Settings fields UI
* chore: update webui build output
* chore: update webui build output
---------
Co-authored-by: Pascal <admin@serveurperso.com >
2025-09-29 10:37:20 +02:00
Aleksander Grygier and GitHub
4807e8f96a
Show message actions by default ( #16289 )
2025-09-27 19:56:40 +02:00
Aleksander Grygier and GitHub
807e8c6d31
Enhance text file detection logic for file attachments ( #16199 )
...
* feat: Enhances text file detection logic
* chore: Build static `webui` output
* chore: update webui build output
2025-09-26 19:25:29 +02:00
1a18927894
Allow viewing conversations even when llama server is down ( #16255 )
...
* webui: allow viewing conversations and sending messages even if llama-server is down
- Cached llama.cpp server properties in browser localStorage on startup, persisting successful fetches and reloading them when refresh attempts fail so the chat UI continues to render while the backend is unavailable.
- Cleared the stored server properties when resetting the store to prevent stale capability data after cache-backed operation.
- Kept the original error-splash behavior when no cached props exist so fresh installs still surface a clear failure state instead of rendering stale data.
* feat: Add UI for `props` endpoint unavailable + cleanup logic
* webui: extend cached props fallback to offline errors
Treat connection failures (refused, DNS, timeout, fetch) the same way as
server 5xx so the warning banner shows up when cache is available, instead
of falling back to a full error screen.
* webui: Left the chat form enabled when a server warning is present so operators can keep sending messages
e.g., to restart the backend over llama-swap, even while cached /props data is in use
* chore: update webui build output
---------
Co-authored-by: Pascal <admin@serveurperso.com >
2025-09-26 18:35:42 +02:00
Aleksander Grygier and GitHub
5d0a40f390
Always show message actions for mobile UI + improvements for user message sizing ( #16076 )
2025-09-26 15:59:07 +02:00
Aleksander Grygier and GitHub
4067f07fc5
feat: Improve mobile UI for Settings Dialog ( #16084 )
...
* feat: Improve mobile UI for Settings Dialog
* chore: update webui build output
* fix: Linting errors
* chore: update webui build output
2025-09-19 09:52:27 +02:00
Aleksander Grygier and GitHub
a7a98e0fff
SvelteKit-based WebUI ( #14839 )
2025-09-17 19:29:13 +02:00