Commit Graph
5809 Commits
Author SHA1 Message Date
Frank Song 70b019f710 feat: let extension skins declare base scheme 2026-06-30 18:17:40 +08:00
nesquena-hermes 7c96296bf5 Merge pull request #5267 from nesquena/rebase-5251
Release v0.51.764 — continue /goal after gateway turns (#5251, @rodboev)
2026-06-29 22:17:15 -07:00
nesquena-hermes 73ac59ebed docs(changelog): continue /goal after gateway turns (#5251, #5092) 2026-06-30 05:12:20 +00:00
Rod Boev 51a0fca24a fix(#5092): continue WebUI goals after gateway turns 2026-06-30 05:04:32 +00:00
nesquena-hermes 1f85da54e9 Merge pull request #5265 from nesquena/rebase-5198
Release v0.51.763 — enforce active profile on request-supplied session IDs (#5198, @starship-s)
2026-06-29 21:54:18 -07:00
nesquena-hermes e87ed43557 docs(changelog): enforce active profile on request-supplied session IDs (#5198) 2026-06-30 04:43:42 +00:00
nesquena-hermesandstarship-s 468b61e513 fix(auth): release STREAM_SESSION_OWNERS on worker early-return + stale-run prune
Gate hardening for #5198: the new stream-owner map leaked entries on three
paths that bypass the teardown finally — worker early-return when the stream
was cancelled before startup (streaming.py, gateway_chat.py) and the direct
ACTIVE_RUNS stale-zombie prune (routes.py). Each now calls unregister_stream_owner.
Adds a regression test proving the early-return path no longer leaks.

Co-authored-by: starship-s <starship-s@users.noreply.github.com>
2026-06-30 04:39:00 +00:00
Hermes Agent fabd461dcd fix(auth): guard profile-owned stream IDs 2026-06-30 04:28:15 +00:00
Hermes Agent a993fee060 docs(auth): document request session guard scope 2026-06-30 04:28:15 +00:00
Hermes Agent f26896f96a refactor(auth): remove unreachable chat retag branch 2026-06-30 04:28:15 +00:00
Hermes Agent a397b5e078 test(auth): align chat retag fixture with active profile 2026-06-30 04:28:15 +00:00
Hermes Agent 9e861b5651 fix(auth): tolerate query-less route inputs 2026-06-30 04:28:15 +00:00
Hermes Agent c068dbc39b fix(auth): enforce active-profile session IDs 2026-06-30 04:28:15 +00:00
nesquena-hermes 95f1486567 Merge pull request #5263 from nesquena/rebase-5179
Release v0.51.762 — file-manager active-profile enforcement (#5179, @Hinotoi-agent)
2026-06-29 21:25:48 -07:00
nesquena-hermes 741973ce7a docs(changelog): enforce active profile for file-manager session workspaces (#5179) 2026-06-30 04:22:11 +00:00
hinotoi-agent 41ec8238ba chore: log file manager profile denials 2026-06-30 04:12:27 +00:00
hinotoi-agent 40679f2af8 test: isolate file manager profile checks 2026-06-30 04:12:27 +00:00
hinotoi-agent beb39f1ef2 fix: scope file manager sessions to active profile 2026-06-30 04:12:27 +00:00
nesquena-hermes 2d9da824fe Merge pull request #5259 from nesquena/rebase-5240
Release v0.51.761 — preserve visible transcript on terminal stream failure (#5240, @rodboev)
2026-06-29 21:09:35 -07:00
nesquena-hermes fda16b754f docs(changelog): preserve visible transcript on terminal stream failure (#5240, #5224) 2026-06-30 03:52:51 +00:00
Rod Boev eb3c5a26bd Clarify terminal marker replacement semantics 2026-06-30 03:33:55 +00:00
Rod Boev ae67cd3428 test(chat): refresh restore guard source-shape assertions (#5224) 2026-06-30 03:33:55 +00:00
Rod Boev 494d137082 fix(chat): scope transcript preserve to the current terminal tail (#5224) 2026-06-30 03:33:55 +00:00
Rod Boev fd35d8c9ab fix(chat): narrow transcript preservation to stale-prefix restores (#5224) 2026-06-30 03:33:55 +00:00
Rod Boev 42cc02634a test(chat): refresh terminal recovery source-shape guards (#5224) 2026-06-30 03:33:55 +00:00
Rod Boev c17f222427 fix(chat): preserve visible transcript on terminal stream failure (#5224) 2026-06-30 03:33:55 +00:00
nesquena-hermes ae8f42ec13 Merge pull request #5249 — fail closed on ambiguous truncate matches (#5212, @rodboev)
Release v0.51.760 — fail closed on ambiguous truncate matches (#5212, @rodboev)
2026-06-29 18:50:35 -07:00
nesquena-hermes 2f7fca5b40 docs(changelog): fail closed on ambiguous truncate matches, preserve kept turn + tool rows (#5212) 2026-06-30 01:47:41 +00:00
Rod Boev 07a8c7dc6f fix(session): preserve kept tool rows on ambiguous truncate (#5134) 2026-06-30 01:40:07 +00:00
Rod Boev e9387f8aa5 fix(session): fail closed on ambiguous truncate context matches (#5134) 2026-06-30 01:40:07 +00:00
Rod Boev 02a3750488 fix(session): keep truncate rewind on complete turns (#5134) 2026-06-30 01:40:07 +00:00
Rod Boev 3627c9e5d8 fix(session): drop interleaved tool rows after mid-history truncate (#5134) 2026-06-30 01:40:07 +00:00
nesquena-hermes edc20875fe Merge pull request #5247 — repair bare custom-provider suffix on resolver slow path (#5246, @claw-io)
Release v0.51.759 — repair bare custom-provider suffix on resolver slow path (#5246, @claw-io)
2026-06-29 18:16:55 -07:00
nesquena-hermes 15492b9f29 docs(changelog): repair bare custom-provider suffix on resolver slow path (#5246) 2026-06-30 01:13:48 +00:00
b3nwandb3nw da43de72b8 fix(model): repair bare custom-provider suffix on resolver slow path (#5225)
Mirror the #5128 fast-path suffix repair when profile context is present
but requested_provider is omitted, which async delegation completion can
trigger via process_wakeup.

Co-authored-by: b3nw <b3nw@users.noreply.github.com>
2026-06-30 01:01:17 +00:00
nesquena-hermes c229243f6d Merge pull request #5243 — gate settled anchor fallbacks by raw index (#5242, @franksong2702)
Release v0.51.758 — gate settled anchor fallbacks by raw index (#5242, @franksong2702)
2026-06-29 17:22:52 -07:00
nesquena-hermes de433e583b docs(changelog): gate settled anchor fallbacks by raw index (#5242) 2026-06-30 00:19:54 +00:00
Frank Song eff01bf322 Gate settled anchor fallbacks by raw index 2026-06-30 08:00:54 +08:00
nesquena-hermes dd4d4b2e90 Merge pull request #5241 — page archived sidebar rows + archived-search refetch (#5200, @santastabber)
Release v0.51.757 — page archived sidebar rows + archived-search refetch (#5200, @santastabber)
2026-06-29 15:38:06 -07:00
nesquena-hermes b753a11895 docs(changelog): page archived sidebar rows + archived-search refetch (#5200) 2026-06-29 22:35:32 +00:00
Jamie (Hermes) 0674a0198c perf(sessions): page archived sidebar rows 2026-06-29 22:24:35 +00:00
nesquena-hermes 61f07f6005 Merge pull request #5238 — collapse post-restart config reload stampede (#5235, @rodboev)
Release v0.51.756 — collapse post-restart config reload stampede (#5235, @rodboev)
2026-06-29 14:01:13 -07:00
nesquena-hermes 2add66f66d docs(changelog): collapse post-restart config reload stampede (#5235) 2026-06-29 20:58:04 +00:00
Rod Boev affdb40a1c fix(config): route stale model reads through shared reload gate (#5220) 2026-06-29 20:50:34 +00:00
Rod Boev 6653b7bd2f fix(config): collapse post-restart config reload stampede (#5220) 2026-06-29 20:50:34 +00:00
nesquena-hermes 45dabb2e15 Merge pull request #5236 — Neuralwatt provider env-var mapping (#4810, @b-yelverton)
Release v0.51.755 — Neuralwatt provider env-var mapping (#4810, @b-yelverton)
2026-06-29 13:49:08 -07:00
nesquena-hermes cd67e67af1 docs(changelog): add Neuralwatt provider env-var mapping (#4810) 2026-06-29 20:42:54 +00:00
Brett Yelverton 6c73e417e0 test: add regression coverage for neuralwatt provider env-var mapping
Mirrors test_issue2025_xiaomi_env_key.py pattern:
- _PROVIDER_ENV_VAR['neuralwatt'] == 'NEURALWATT_API_KEY'
- _provider_has_key('neuralwatt') with env var set
- _provider_has_key('neuralwatt') without env var
- model group appears in get_available_models() when config lists models
2026-06-29 20:41:16 +00:00
Brett Yelverton 0c338711df feat: add Neuralwatt provider support (env var mapping) 2026-06-29 20:41:16 +00:00
nesquena-hermes 31000a9ec1 Merge pull request #5234 — configurable voice silence timeout + continuous recognition (#5176, @ChonSong)
Release v0.51.754 — configurable voice silence timeout + continuous recognition (#5176, @ChonSong)
2026-06-29 13:37:37 -07:00