Eric Zhang and GitHub
3292da09f6
ui: fix ETag truncation with MSVC compiler ( #23917 )
2026-05-31 11:21:23 +02:00
d749821db3
webui: add custom CSS injection via config ( #23904 )
...
* webui: add custom CSS injection via config
register a customCSS setting in the Developer section under Custom JSON,
syncable so it rides the existing ui-config pass through. inject the value
into a single style element in the head, reactive on the setting. lets an
operator theme a prebuilt binary through --ui-config without rebuilding,
and lets a user set it from the settings panel.
* ui: address review from @niutech and @allozaur, rename custom JSON key and CSS field
* ui: address review from @allozaur, move custom CSS injection to a style tag in svelte:head
* ui: inject custom CSS through a svelte action instead of a bound element
move the textContent write into a use: action on the head style node.
the action is the idiomatic way to touch a node, so the no-dom-manipulating
lint rule is satisfied without a disable. value stays text through
textContent, never parsed as HTML.
* Update tools/ui/src/lib/constants/settings-keys.ts
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com >
* ui: address review from @allozaur, rename custom config key to customJson with migration
rename the custom config key to customJson across the type, the chat
request builder, the settings save check and the custom tools reader,
keeping the custom API param name unchanged. add a non destructive
migration that copies the legacy custom key to customJson at startup.
only render the head style tag when custom CSS is set.
---------
Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com >
2026-05-30 23:49:31 +02:00
Pascal and GitHub
d38d50e7ff
ui: exclude generated build dirs from prettier and eslint so lint errors stop being masked ( #23910 )
2026-05-30 16:50:54 +02:00
ValdikSS and GitHub
22d66b567e
ui: handle audio/vnd.wave as audio WAV file ( #23754 )
...
Firefox on Linux uses this MIME type
2026-05-29 21:41:35 +02:00
ValdikSS and GitHub
2f6c815dc4
ui: fix audio and video modality detection ( #23756 )
...
When model props are fetched asynchronously from the server,
modelPropsVersion is incremented to trigger reactivity, but
only the vision effect was listening to it.
2026-05-28 17:36:10 +02:00
d205df6812
server, ui : Add support for HTTP ETags in llama-server ( #23701 )
...
* allow caching of ui elements in llama-server
* use fnv_hash
* Update tools/server/server-http.cpp
etag has to be set always
Co-authored-by: Xuan-Son Nguyen <thichthat@gmail.com >
---------
Co-authored-by: Xuan-Son Nguyen <thichthat@gmail.com >
2026-05-28 12:21:24 +02:00
Pascal and GitHub
5a4126adc1
ui: fix stop/continue during an agentic loop ( #23356 )
2026-05-25 14:18:59 +02:00
Saba Fallah and GitHub
b96487645c
ui: media attachments before text ( #23467 )
...
* ui: media attachments before text
* fix prettier formatting
2026-05-25 08:50:41 +02:00
Aldehir Rojas and GitHub
63248fc3e3
cmake : fix ui build ( #23592 )
...
* cmake/ui : add -fPIC to llama-ui static lib
* cmake : rename host compiled embed helper
2026-05-24 02:37:28 -05:00
Aldehir Rojas and GitHub
b22ff4b7b4
cmake/ui : refactor the build ( #23352 )
2026-05-23 17:08:22 -04:00
5e932a1c8d
ui: Improve Git Hooks for UI development ( #23403 )
...
* refactor: Improve Git Hooks for UI development
* fix: Address review comments
* fix: Use absolute git path for `/hooks`
Co-authored-by: Pascal <admin@serveurperso.com >
---------
Co-authored-by: Pascal <admin@serveurperso.com >
2026-05-21 08:27:50 +02:00
stduhpf and GitHub
3a479c9132
ui: Add max image size option ( #22849 )
...
* webui: Add max image size option
* remove magic numbers
* support all image formats
* use const
* Move regex to match b64 images to constants
* use SETTINGS_KEYS to get max image resolution setting
* Do not touch the image if already under the size threshold
2026-05-21 00:00:09 +02:00
Aleksander Grygier and GitHub
6ce96713de
feat: Add WAV MIME type variants and improve audio format detection ( #23396 )
2026-05-20 16:55:24 +02:00
Aleksander Grygier and GitHub
e6b4acfe86
refactor: Move text attachments up before the message content in chat completions payload ( #23406 )
2026-05-20 13:04:01 +02:00
Aleksander Grygier and GitHub
5028447384
ui: Refactor isMobile as reactive value in viewport store ( #23330 )
...
* refactor: `isMobile` as reactive value in `viewport` store
* refactor: Use Svelte media query for the viewport store
2026-05-20 10:52:00 +02:00
Aleksander Grygier and GitHub
585080d310
fix: Div wrapper no pointer events on hidden ( #23390 )
2026-05-20 09:46:31 +02:00
Aleksander Grygier and GitHub
67ace021da
refactor: Chat Screen UI rendering ( #23333 )
2026-05-19 22:38:42 +02:00
Aleksander Grygier and GitHub
6db130445d
ui: Bump packages + address build warnings ( #23300 )
...
* chore: Update vulnerable packages
* chore: Formatting
* refactor: Update Tailwind CSS imports
* ci: Use `ubuntu-latest` for Unit/E2E UI tests
* chore: Bump package
* fix: Add missing tag
* refactor: Enums files naming
2026-05-19 10:16:04 +02:00
Aleksander Grygier and GitHub
3a9c1b854d
ui: Update KaTeX package and clean up logs from sass warnings ( #23275 )
...
* ui: migrate katex imports to @use to resolve SCSS deprecation warnings
* ci: Use `ubuntu-slim` for CI (UI) workflow
2026-05-18 16:26:01 +02:00
Aleksander Grygier and GitHub
b9a2170fce
feat: add scroll-to-bottom button to chat + prevent forced scroll down ( #23270 )
2026-05-18 16:17:21 +02:00
Aleksander Grygier and GitHub
1ff0fc1384
ui: Refactor models store, MCP service, and gate logs behind VITE_DEBUG ( #23236 )
...
* refactor: Scope console logs to `DEV` + `VITE_DEBUG` env vars
* refactor: skip MCP proxy probe when no server requires it
* refactor: suppress expected disconnect errors during MCP client shutdown
* refactor: Deduplicate requests
* refactor: deduplicate model fetching across ROUTER and MODEL modes
* refactor: Clean up models logic
* chore: Add `.env.example` file
* refactor: replace client-side CORS proxy probe with server status flag
* refactor: Post-review fixes
* test: add vitest client setup with API fetch mocks
2026-05-18 16:09:40 +02:00
Aleksander Grygier and GitHub
a135ec0baa
ui: Centralize monospace font styles in app.css ( #23272 )
2026-05-18 15:10:14 +02:00
Martin Andersson and GitHub
232f466583
webui: fix Tailwind v4 utility classes missing when built via cmake ( #23253 )
2026-05-18 14:08:02 +02:00
Aldehir Rojas and GitHub
87589042ca
cmake : fix LLAMA_BUILD_UI logic ( #23190 )
2026-05-17 14:42:26 -04:00
Judd and GitHub
4f13cb7424
webui: support video files as input ( #22830 )
2026-05-17 02:13:44 +02:00
Aleksander Grygier and GitHub
0253fb21f5
ui: Add request timeout for MCP tool calls ( #23138 )
...
* feat: Add request timeout for MCP tool calls in llama-ui
* feat: MCP Settings tab with max timeout setting
2026-05-16 15:20:27 +02:00
Holger Voormann and GitHub
25b1bc9c2f
ui: Correct links in tools/ui/README.md [no ci] ( #23139 )
...
In `tools/ui/README.md`, update the relative links, now that the `README.md` file has been moved from `tools/server/webui/` to `tools/ui/`.
See https://github.com/ggml-org/llama.cpp/commit/59778f0196a82db32580bb649d5d839355d6d7bf .
2026-05-16 14:42:38 +02:00
b81c2cdd74
ui: Fix handling of MCP resource template parameters ( #23117 )
...
* Fix handling of MCP resource template parameters
* Fix formatting for uri-template.test.ts
---------
Co-authored-by: kuba <kuba@laptop.local.net >
2026-05-16 13:25:41 +02:00
viggy and GitHub
1428004808
webui : [ChatFormActionAdd][a11y] fix accessibility issues in add menu trigger and items ( #22736 )
...
* fix tab order on attach button, and dont focus on disabled mennu item
* add a11y tests
2026-05-16 12:00:46 +02:00
Pascal and GitHub
366c5e2a3b
ui: untrack settings sync in props effect to prevent reactive loop ( #23127 )
2026-05-16 11:25:34 +02:00
59778f0196
ui: Restructure repo to use tools/ui folder and ui / UI / llama-ui / LLAMA_UI naming ( #23064 )
...
* webui: Move static build output from `tools/server/public` to `build/ui` directory
* refactor: Move to `tools/ui`
* refactor: rename CMake variables and preprocessor defines
- Rename LLAMA_BUILD_WEBUI -> LLAMA_BUILD_UI (old kept as deprecated)
- Rename LLAMA_USE_PREBUILT_WEBUI -> LLAMA_USE_PREBUILT_UI (old kept as deprecated)
- Backward compat: old vars auto-forward to new ones with DEPRECATION warning
- Rename internal vars: WEBUI_SOURCE -> UI_SOURCE, WEBUI_SOURCE_DIR -> UI_SOURCE_DIR, etc.
- Rename HF bucket: LLAMA_WEBUI_HF_BUCKET -> LLAMA_UI_HF_BUCKET
- Emit both LLAMA_BUILD_WEBUI and LLAMA_BUILD_UI preprocessor defines
- Emit both LLAMA_WEBUI_DEFAULT_ENABLED and LLAMA_UI_DEFAULT_ENABLED
* refactor: rename CLI flags (--webui -> --ui) with backward compat
- Add --ui/--no-ui (old --webui/--no-webui kept as deprecated aliases)
- Add --ui-config (old --webui-config kept as deprecated alias)
- Add --ui-config-file (old --webui-config-file kept as deprecated alias)
- Add --ui-mcp-proxy/--no-ui-mcp-proxy (old --webui-mcp-proxy kept as deprecated)
- Add new env vars: LLAMA_ARG_UI, LLAMA_ARG_UI_CONFIG, LLAMA_ARG_UI_CONFIG_FILE, LLAMA_ARG_UI_MCP_PROXY
- C++ struct fields: params.ui, params.ui_config_json, params.ui_mcp_proxy added alongside old fields
- Backward compat: old fields synced to new ones in g_params_to_internals
* refactor: update C++ server internals with backward compat
- Rename json_webui_settings -> json_ui_settings (both kept in server_context_meta)
- Rename params.webui usage -> params.ui (both synced, old still works)
- JSON API emits both "ui"/"ui_settings" and "webui"/"webui_settings" keys
- Server routes use params.ui_mcp_proxy || params.webui_mcp_proxy
- Preprocessor guards use #if defined(LLAMA_BUILD_UI) || defined(LLAMA_BUILD_WEBUI)
* refactor: rename CI/CD workflows, artifacts, and build script
- Rename webui-build.yml -> ui-build.yml; artifact webui-build -> ui-build
- Rename webui-publish.yml -> ui-publish.yml; var HF_BUCKET_WEBUI_STATIC_OUTPUT -> HF_BUCKET_UI_STATIC_OUTPUT
- Rename server-webui.yml -> server-ui.yml; job webui-build/checks -> ui-build/checks
- Update server.yml: job/artifact refs webui-build -> ui-build
- Update release.yml: all webui-build/publish refs -> ui-build/publish; HF_TOKEN_WEBUI_STATIC_OUTPUT -> HF_TOKEN_UI_STATIC_OUTPUT
- Update server-self-hosted.yml: webui-build -> ui-build
- Update build-self-hosted.yml: HF_WEBUI_VERSION -> HF_UI_VERSION
- Rename webui-download.cmake -> ui-download.cmake (internal refs updated)
- Update labeler.yml: server/webui -> server/ui path label
* docs: update CODEOWNERS and server README docs
- Update CODEOWNERS: team ggml-org/llama-webui -> ggml-org/llama-ui, path /tools/server/webui/ -> /tools/ui/
- Update server README.md: CLI tables show --ui flags with deprecated --webui aliases
- Update server README-dev.md: "WebUI" -> "UI", paths updated to tools/ui/
* fix: Small fixes for UI build
* fix: CMake.txt syntax
* chore: Formatting
* fix: `.editorconfig` for llama-ui
* chore: Formatting
* refactor: Use `APP_NAME` in Error route
* refactor: Cleanup
* refactor: Single migration service
* make llama-ui a linkable target
* fix: UI Build output
* fix: Missing change
* fix: separate llama-ui npm build output into build/tools/ui/dist subfolder + use cmake npm build instead of downloading ui-build.yml artifacts in CI
* refactor: UI workflows cleanup
---------
Co-authored-by: Xuan Son Nguyen <son@huggingface.co >
2026-05-16 02:02:40 +02:00