Commit Graph

10656 Commits

Author SHA1 Message Date
Aleksander Grygier edd8b98a02 ui : apply ESLint formatting to models discover components
Assisted-by: Claude
2026-08-25 15:54:15 +02:00
Aleksander Grygier 393c8ca1d8 feat: WIP 2026-08-25 15:54:15 +02:00
Aleksander Grygier caef7df650 feat: WIP 2026-08-25 15:54:15 +02:00
Aleksander Grygier 21c61123a9 feat: WIP 2026-08-25 15:54:15 +02:00
Aleksander Grygier 73a07248c9 feat: WIP 2026-08-25 15:54:15 +02:00
Aleksander Grygier efd24db298 fix: layout 2026-08-25 15:54:15 +02:00
Aleksander Grygier 9a02b89cee feat: WIP 2026-08-25 15:54:15 +02:00
Aleksander Grygier a3d04fa1e8 feat: WIP 2026-08-25 15:54:15 +02:00
Aleksander Grygier 44be2a6db8 feat: WIP 2026-08-25 15:54:15 +02:00
Aleksander Grygier 4d2d1c2437 chore: Format 2026-08-25 15:50:54 +02:00
Aleksander Grygier 0b24f4a36c ui: move dialog close button to the sticky header
Assisted-by: pi
2026-08-25 15:37:25 +02:00
Aleksander Grygier 515b993632 ui: show modality icons instead of file submenu in chat add menu
Assisted-by: pi
2026-08-25 15:37:25 +02:00
Aleksander Grygier c390ec891b fix(ui): adjust MCP dialogs for new base sizing and close add sheet before opening settings 2026-08-25 15:37:25 +02:00
Aleksander Grygier 3d7ca1a82a refactor(ui): remove settings route and URL-based settings navigation 2026-08-25 15:36:24 +02:00
Aleksander Grygier 8573111704 feat(ui): open settings as dialog from sidebar 2026-08-25 15:36:18 +02:00
Aleksander Grygier 29776f6a48 refactor(ui): switch SettingsChat to in-app section navigation 2026-08-25 15:36:18 +02:00
Aleksander Grygier d72e57944a feat(ui): add DialogSettingsChat dialog 2026-08-25 15:36:14 +02:00
Aleksander Grygier dcbf990808 feat(ui): make base dialog responsive and support sticky headers 2026-08-25 15:36:14 +02:00
Aleksander Grygier 553f3bc944 ui: replace per-conversation MCP overrides with per-conversation tool policy
MCP server enabled state is now global (server.enabled); per-conversation
control moves to disabled tool keys and categories seeded into each new
conversation. Aligns the add sheet with the dropdown options and flattens
MCP tool groups in the tools submenu.

Assisted-by: pi
2026-08-25 15:36:05 +02:00
Aleksander Grygier 45b0c1756a chore: Format 2026-08-25 15:35:49 +02:00
Aleksander Grygier a8aef5d05e ui : remove unused MCP servers submenu component
The submenu was replaced by the MCP servers dialog, so delete the component
and its export.

Assisted-by: pi
2026-08-25 15:35:49 +02:00
Aleksander Grygier c2ef793ea3 ui : remove mcp-servers route and sidebar entry
MCP servers are now managed in a dialog, so drop the dedicated route and the
sidebar icon that navigated to it.

Assisted-by: pi
2026-08-25 15:35:43 +02:00
Aleksander Grygier b9c3bb6ec5 ui : browse MCP resources from the server card
Make the Resources capability badge clickable so it opens the MCP resources
browser dialog, and drop the page-only chrome from SettingsMcpServers.

Assisted-by: pi
2026-08-25 15:35:43 +02:00
Aleksander Grygier 20ec1c9539 ui : open MCP servers in a dialog from the chat form
Replace the MCP servers submenu with a single "MCP Servers" item that opens
a new DialogMcpServers dialog instead of navigating to the /mcp-servers route.

Assisted-by: pi
2026-08-25 15:35:00 +02:00
Aleksander Grygier c68470019d ui : fix eslint issues in chat form and model selector 2026-08-25 15:34:56 +02:00
Aleksander Grygier dfd6ed8564 feat: Enable microphone input as default for audio models 2026-08-25 15:34:19 +02:00
Aleksander Grygier 7af64f3a29 ui : add raw model id tooltip to model selector options 2026-08-25 15:34:19 +02:00
Aleksander Grygier 8961962316 ui : make model option hover and focus highlight override the active state 2026-08-25 15:34:06 +02:00
Aleksander Grygier 2fab2f41b2 ui : move model list into a submenu within the model selector 2026-08-25 15:34:06 +02:00
Aleksander Grygier 4d6874bbda ui : add show-org-name-in-trigger display setting 2026-08-25 15:34:01 +02:00
Aleksander Grygier 3d0da6f4eb ui : keep reasoning submenu visible regardless of model state 2026-08-25 15:34:01 +02:00
Aleksander Grygier 2190337d6c ui : show reasoning and modality icons on model options and search by modality 2026-08-25 15:33:42 +02:00
Aleksander Grygier 7c8ece9a3a ui : strip trailing container-format segments from parsed model names 2026-08-25 15:33:37 +02:00
Aleksander Grygier f1357e4998 ui: ESLint config updates (#27700)
* chore: Spacing between sibling elements in html markup

* chore: Formatting and linting rules
2026-08-25 14:34:34 +02:00
Yuri Khrustalev 3737e41370 metal : null-check buffer alloc to fix OOM crash (#25371)
* metal : null-check ggml_metal_buffer_init result to avoid OOM crash

ggml_backend_metal_buffer_type_alloc_buffer used the result of
ggml_metal_buffer_init without checking for NULL. ggml_metal_buffer_init
returns NULL when the underlying Metal allocation fails (e.g. an
out-of-memory condition), and the following ggml_metal_buffer_is_shared(res)
call dereferences it, turning a recoverable allocation failure into a hard
crash (EXC_BAD_ACCESS). This is easy to hit on memory-constrained devices
such as iOS when a model/context exceeds the available Metal budget.

Log the failure using the existing GGML_LOG_ERROR convention and return
NULL so the allocator surfaces a diagnosable error up the stack instead of
crashing.

* cont : fix log

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
b10622
2026-08-25 14:35:39 +03:00
Georgi Gerganov c1d0e7a004 llama.cpp : bump version to 0.3.0 (#27696)
* llama.cpp : bump version to 0.3.0

* ci : update release default desc

* scripts : add prompt for generating release summary
v0.3.0 b10621
2026-08-25 12:42:21 +03:00
Georgi Gerganov 81191affa5 sync : ggml b10620 2026-08-25 11:51:14 +03:00
Georgi Gerganov 93882361f1 ggml : bump version to 0.22.0 (ggml/1607)
* ggml : bump version to 0.22.0

* scripts : update default release desc
2026-08-25 11:51:14 +03:00
Saad Ali eb25b7263e grammar : parse \- in char classes as literal hyphen (#27591)
* grammar : accept "\-" escape in character classes

gbnf_escape_char_class() escapes '-' as "\-" but parse_char() rejected
that escape, so generated tool-call grammars failed to parse.

Assisted-by: Claude Code <claude@anthropic.com>

* tests : add parser test for "\-" in char classes

Assisted-by: Claude Code <claude@anthropic.com>

* tests : add integration test for "\-" in char classes

Assisted-by: Claude Code <claude@anthropic.com>

* tests : drop integration and parser tests
b10618
2026-08-25 09:05:24 +03:00
Neo Zhang 814d84bc9d sycl : mark tq2_0 as not supported (#27660) b10617 2026-08-25 09:04:58 +03:00
fairydreaming 5ea87ddad2 webgpu : fix handling of infinity values during ARGSORT and TOP_K (#27538)
Co-authored-by: Stanisław Szymczyk <sszymczy@gmail.com>
2026-08-25 08:08:06 +03:00
YiChen Lv f280b26983 metal : per-device tuned (Q, NE) for flash-attn vec (#26570)
* metal : per-device tuned (Q, NE) for flash-attn vec (#25750)

* rebase Q-generic FA vec body from 01dc93607 (#23114)

* add 53 f16 (Q,NE) flash-attn vec instantiations (vec 80 -> 133)

* add FA vec (Q,NE) tuning table + dispatch wiring + SMEM cap fallback

* add  FA vec (Q,NE) perf sweep

* fill tuning result

* fold family table into a per-family representative SKU

* refactor tuning result format

* extend FA vec tuning to quantized KV caches

* sync fa vec tuner bucketing with runtime, use pointwise tuning regret

* update tuned table

* format and cleanup

* prefix fa_vec tuning procs with ggml_backend_metal_tuning_, drop unused fa_vec_override_active

* add device id -> token lookup for the offline tuning tool

* add ggml-metal-tuning skeleton

* add op-agnostic perf cell + median timing for the tuner

* add FA-vec graph build + tensor init to the tuner

* tools : add FA-vec (Q,NE) sweep, compression and table emit

* cool down and re-measure the dirty window on thermal drift

* test-backend-ops : replace the FA vec tune mode with a bounded (Q,NE) slice

* tools : document the Metal tuner, point the table comment at it

* abort on unknown KV type, single-source fa_vec_legal_ne

* cleanup

* honor -o in the FA vec (Q,NE) slice

* retune FA-vec (Q, NE) under a pointwise no-harm gate

* cont : add fa-vec tunings for M1 Pro, M2 Ultra, M5 Max

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
b10615
2026-08-24 19:22:27 +03:00
YiChen Lv b615f5b4bd metal: per-op source split + parallel compile (#26561)
* metal : per-op source split + parallel compile (#24021)

* preliminary extract common header

* op source split

* split metallib into 8 libs && load in parallel

* derive kernel->library routing from functionNames

* x-macro lib list + underscore filenames, dedup QK_NL, MRC fixes

* op source split 8 to 20

* improve robustness of source fallback

* clean up

* change bool -> atomic_bool

* only prepend headers that source actually includes

* no semaphore, use GCD global queue

* dedup library compile path, fix NSError lifetime, rename gla

* relocate upstream concat/rope_back/repeat kernel changes into split files

* move ggml-common.h from common.h into dequantize.h to shrink binary size

---------

Co-authored-by: lvyichen <lvyichen@stepfun.com>

* metal: add col2im_1d op (f32/f16/bf16) (#25176)

* metal : add set_rows with src0 f16 (#25434)

* metal : add CONV_2D_DW (depthwise convolution) support (#21565)

* metal : add Q2_0 support (#25419)

* metal: fuse snake activation (mul, sin, sqr, mul, add) (#25459)

* ggml-metal: FWHT kernel for metal backend (#25924)

* metal : port new kernels into the split sources

Move the kernels added on master after the split (lightning indexer,
DSv4 hyper-connections, silu_back, f16 bin ops, TQ2_0, the flash-attn KV
dequantization pass, rope offset/inplace, ssm_scan rollback, packed q8_0
dequantization and the tensor-API mat-mat K clamp) into the corresponding
kernels/*.metal sources. Copied verbatim, no functional change.

---------

Co-authored-by: lvyichen <lvyichen@stepfun.com>
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
b10614
2026-08-24 19:16:13 +03:00
Tarek Dakhran b3c3b96a13 misc : read repetition_penalty from generation_config.json (#27659)
`repetition_penalty` is standard HF key for repetion penalty.

Currently, only `penalty_repeat` is mapped, read `repetition_penalty`
and map it to `metadata.sampling_penalty_repeat`.
2026-08-24 17:01:35 +03:00
fairydreaming 7584430716 tests : disable DOTS3NOTE arch test for WebGPU (#27654)
Co-authored-by: Stanisław Szymczyk <sszymczy@gmail.com>
b10612
2026-08-24 13:39:31 +03:00
jacekpoplawski 71cc86fa41 convert: fix GLM regression in index_tensors (#27655) 2026-08-24 13:21:00 +03:00
Georgi Gerganov a14dba686a ggml : shorten virtual device naming in CUDA and Metal (#27608)
* ggml : shorten virtual device naming in CUDA and Metal

Assisted-by: llama.cpp:DeepSeek-V4-Flash-0731

* ggml-metal : build device description at init

Assisted-by: llama.cpp:DeepSeek-V4-Flash-0731

* cont : naming
b10610
2026-08-24 12:35:08 +03:00
fairydreaming c1c766da59 webgpu : reorder includes since V that appears in common_decls.tmpl may be defined as K in flash_attn_decls.tmpl if KV_OVERLAP (#27545)
Co-authored-by: Stanisław Szymczyk <sszymczy@gmail.com>
2026-08-24 10:07:12 +02:00
Xuan-Son Nguyen 160c6b0bdd mtmd: video: fix moov atom at the end of file (#27596)
* mtmd: video: fix moov at the end of file

Co-authored-by: rkfg <rkfg@rkfg.me>

* fix SIGPIPE

* windows: handle broken pipe case

---------

Co-authored-by: rkfg <rkfg@rkfg.me>
b10608
2026-08-24 09:59:04 +02:00
Georgi Gerganov 985b14912b ci : apply ccache-clear with older/min/dry-run to all ccache jobs (#27602)
* ci : apply ccache-clear with older/min/dry-run to all ccache jobs

Assisted-by: llama.cpp:DeepSeek-v4-Flash-0731

* ci : install gh in ccache-clear if missing (container jobs)

The ccache-clear action relies on the gh CLI, which is not present in
container-based jobs. Install it on demand so those jobs can clear caches.

Assisted-by: llama.cpp:DeepSeek-v4-Flash-0731

* ci : install gh via apt repo in ccache-clear

The install.sh script used previously is no longer served (404). Switch to
the official GitHub CLI apt repository, which is still available.

Assisted-by: llama.cpp:DeepSeek-v4-Flash-0731

* ci : pass --repo to gh cache commands in ccache-clear

In container jobs gh cannot auto-detect the repository from git, so
gh cache list/delete fail with 'failed to run git: not a git repository'.
Pass the repository explicitly via --repo using GITHUB_REPOSITORY.

Assisted-by: llama.cpp:DeepSeek-v4-Flash-0731

* ci : drop -new suffix from vulkan ccache key

The -new suffix was only needed to force a fresh cache. With
ccache-clear now evicting stale caches, the original key can be used
again. The old ccache-vulkan-ubuntu-24.04-arm-new entries still match
the ccache-clear key prefix and are cleaned up automatically.

Assisted-by: llama.cpp:DeepSeek-v4-Flash-0731

* ci : fix ccache-clear date parsing on macOS (BSD date)

macOS ships BSD date, which has no -d option. The older cutoff check
was silently disabled there: 'date: illegal option -- d' errors in the
log and the loop was only stopped by the min limit, risking deletion
of caches not older than the cutoff (e.g. saved by a concurrent job).

Parse the ISO-8601 timestamps with GNU date when available and fall
back to BSD date otherwise (TZ=UTC, fractional seconds dropped).

Assisted-by: llama.cpp:DeepSeek-v4-Flash-0731

* ci : extract ccache-clear logic into scripts/ccache-clear.sh

The composite action now consists of a dedicated step that installs the
GitHub CLI when missing (e.g. in container jobs) and a thin step that
calls the new script. The script follows the make-release-checks.sh
conventions (usage/env header, set -euo pipefail, CLI flags) and only
checks that gh is available. The action inputs are unchanged, so the
workflow steps are untouched.

Assisted-by: llama.cpp:DeepSeek-v4-Flash-0731

* ci : remove unused apple ccaches
2026-08-24 10:49:20 +03:00