r.kulbaev
2fe0ece991
fix(upload): scope archive extraction to per-session attachment dir
...
handle_upload_extract() used Path(s.workspace) as the extraction root,
bypassing HERMES_WEBUI_ATTACHMENT_DIR entirely. Route through
_session_attachment_dir(session_id) so archives land alongside
single-file uploads and session cleanup covers them.
Add tests and CHANGELOG entry.
Ref #2247
2026-05-18 21:22:02 +03:00
nesquena-hermes
cec1e87d04
Stage 382: PR #2500 (with whitespace polish on panels.js + ARCHITECTURE.md)
2026-05-18 03:45:02 +00:00
nesquena-hermes
42c677b223
Stage 382: PR #2496
2026-05-18 03:43:59 +00:00
nesquena-hermes
ea1261d03b
Stage 382: PR #2501
2026-05-18 03:43:26 +00:00
nesquena-hermes
eef47ea27b
Stage 381: PR #2484
2026-05-18 01:32:21 +00:00
nesquena-hermes
50d4f4cfb9
Stage 379: PR #2480
...
# Conflicts:
# CHANGELOG.md
2026-05-17 23:35:19 +00:00
nesquena-hermes
6f9cead15e
Stage 379: PR #2479
2026-05-17 23:35:18 +00:00
nesquena-hermes
b861422045
Stage 379: PR #2473
2026-05-17 23:35:18 +00:00
nesquena-hermes
935d9e6402
Stage 379: PR #2461
...
# Conflicts:
# CHANGELOG.md
2026-05-17 23:35:18 +00:00
Frank Song
996942429c
Add session-bound CSRF token checks
2026-05-18 07:14:26 +08:00
Michael Lam
f986507809
fix: align fork-from-here with merged messaging history
2026-05-17 15:01:57 -07:00
Michael Lam
a5385e5859
feat(runtime): route cancel through RuntimeAdapter seam
2026-05-17 13:23:22 -07:00
nesquena-hermes
fa6e939c69
Stage 378: PR #2146
2026-05-17 19:55:09 +00:00
nesquena-hermes
dcf9b0f7f5
Stage 378: PR #2145
2026-05-17 19:55:09 +00:00
ts2111
64db8bd794
fix: support /model alias switch for cross-provider custom models
...
Backend (api/config.py):
- resolve_model_provider(): check custom_providers for prefix match
BEFORE the config_base_url branch. Previously, providers with a
base_url set (e.g. deepseek) would catch all slash-delimited model
ids and return the config provider, preventing custom provider
routing.
- get_available_models(): include model aliases in response so the
frontend can resolve them on /model commands.
Frontend (static/commands.js):
- cmdModel(): resolve aliases by fetching /api/models before fuzzy
matching the dropdown.
- Add bare-model fallback when the alias resolves to a slash-delimited
provider/model id (e.g. "deepseek/deepseek-v4-flash").
- Add cross-provider fallback: when the model is from a custom provider
not in the active provider dropdown, call /api/session/update directly
with the provider/model id and provider override.
2026-05-17 21:22:06 +02:00
nesquena-hermes
a2920c99bc
Stage 376: PR #2466
...
# Conflicts:
# CHANGELOG.md
2026-05-17 16:42:11 +00:00
nesquena-hermes
46810bd4b2
Stage 376: PR #2457
...
# Conflicts:
# CHANGELOG.md
2026-05-17 16:42:10 +00:00
nesquena-hermes
9f09f7e657
Stage 376: PR #2452
...
# Conflicts:
# CHANGELOG.md
2026-05-17 16:42:10 +00:00
nesquena-hermes
dd2f855b9f
Stage 376: PR #2445
...
# Conflicts:
# CHANGELOG.md
2026-05-17 16:42:09 +00:00
nesquena-hermes
c1f0f069da
Stage 376: PR #2444
...
# Conflicts:
# CHANGELOG.md
2026-05-17 16:42:09 +00:00
nesquena-hermes
8f8005eab9
Stage 376: PR #2439
...
# Conflicts:
# CHANGELOG.md
2026-05-17 16:42:09 +00:00
swftwolfzyq
b2ee7e365f
Merge latest origin/master into codex/workspace-prefix-display-fix
2026-05-17 23:44:16 +08:00
swftwolfzyq
3553e63a51
Merge origin/master into codex/workspace-prefix-display-fix
2026-05-17 23:39:12 +08:00
Frank Song
7a53fd4542
Clarify compact activity timeline semantics
2026-05-17 23:03:56 +08:00
starship-s
a48cacec73
fix: evict cleared sessions outside session lock
2026-05-17 05:22:39 -06:00
starship-s
625d8d02fd
fix: preserve memory lifecycle mark ordering
2026-05-17 05:16:46 -06:00
starship-s
eb70a6dc5d
fix: align WebUI memory commits with CLI boundaries
2026-05-17 05:04:57 -06:00
Michael Lam
f56ec1ec35
fix: label email gateway sessions
2026-05-17 02:49:25 -07:00
starship-s
aecad0f427
[verified] Fix WebUI memory session lifecycle commits
2026-05-17 03:30:06 -06:00
Michael Lam
00295a916a
fix: deliver manual cron run results
2026-05-17 01:41:06 -07:00
Frank Song
fe55cf5b9e
Refresh session context metadata on model changes
2026-05-17 13:27:40 +08:00
Michael Lam
cdbb785037
fix: invalidate model cache on catalog changes
2026-05-16 22:24:12 -07:00
Frank Song
4661a5e94e
Recover journal output after core transcript sync
2026-05-17 12:28:05 +08:00
Frank Song
1731232a12
Preserve chat start response shape for adapter path
2026-05-17 12:02:54 +08:00
nesquena-hermes
e9c6b7f06c
Stage 375: PR #2432 — feat(theme): add Catppuccin appearance skin (Latte + Mocha palettes) by @Michaelyklam ( closes #2426 )
...
Co-authored-by: Michael Lam <michael@example.local >
2026-05-17 03:35:19 +00:00
nesquena-hermes
9fec727cf7
Stage 374: PR #2424 — feat(runtime): add default-off RuntimeAdapter seam (HERMES_WEBUI_RUNTIME_ADAPTER=legacy-journal) by @Michaelyklam (refs #1925 )
...
Co-authored-by: Michael Lam <michael@example.local >
2026-05-17 02:49:35 +00:00
nesquena-hermes
8f98465024
Stage 374: PR #2427 — fix(streaming): recover journaled partial assistant output after WebUI restart by @franksong2702 ( fixes #2423 )
...
Co-authored-by: Frank Song <franksong2702@gmail.com >
2026-05-17 02:49:35 +00:00
nesquena-hermes
47c210899e
Stage 374: PR #2421 — fix(cache-tokens): surface provider prompt-cache read/write tokens in WebUI usage by @Michaelyklam ( fixes #2419 )
...
Co-authored-by: Michael Lam <michael@example.local >
2026-05-17 02:49:34 +00:00
nesquena-hermes
b3bf2347e4
Stage 374: PR #2418 — fix(cost-history): provider-specific POSIX file lock for snapshot updates by @Michaelyklam ( fixes #2402 )
...
Co-authored-by: Michael Lam <michael@example.local >
2026-05-17 02:49:15 +00:00
nesquena-hermes
8a950cfbdd
Stage 373: PR #2417 — fix(streaming): stale compaction task resume on fresh greetings ( closes #2308 , supersedes #2309 )
...
Co-authored-by: Frank Song <franksong2702@gmail.com >
2026-05-17 00:22:22 +00:00
nesquena-hermes
54f1a2acae
Stage 373: PR #2415 — fix: ignore provider config flags in model picker by @Michaelyklam ( fixes #2399 )
2026-05-17 00:21:50 +00:00
nesquena-hermes
3480e75e13
Stage 372: PR #2413 — feat(quota-chip): add Settings toggle, flip default to off
2026-05-16 23:05:09 +00:00
nesquena-hermes
9abf17b4f4
Stage 372: PR #2406 — fix: sanitize sync chat history with config by @Michaelyklam ( fixes #2398 )
2026-05-16 23:03:38 +00:00
nesquena-hermes
a4ab7d4d27
Stage 371: PR #2409 — Stuck-PR sweep: salvage RTL chat from #1721 + override quota chip from #2082 by @malulian and @ai-ag2026
...
Co-authored-by: malulian <malulian@users.noreply.github.com >
Co-authored-by: ai-ag2026 <ai-ag2026@users.noreply.github.com >
2026-05-16 22:04:56 +00:00
Hermes Agent
b937cf3583
Stage 370: PR #2390 — Fix live progress Activity grouping by @franksong2702
...
# Conflicts:
# CHANGELOG.md
2026-05-16 20:21:58 +00:00
Hermes Agent
ade7401ae1
Stage 369: PR #2396 — fix(streaming): preserve session agents for credential pools by @starship-s
2026-05-16 20:03:44 +00:00
Hermes Agent
757f63ee27
Stage 369: PR #2195 — Add OpenRouter cost history backend by @Michaelyklam
2026-05-16 20:03:43 +00:00
starship-s
727e3c9c8f
fix(streaming): preserve session agents for credential pools
2026-05-16 13:05:25 -06:00
Hermes Agent
a1da489770
Stage 368: PR #2368 — fix: hybridize background profile env routing by @Michaelyklam
2026-05-16 17:19:07 +00:00
Hermes Agent
57199f16ec
Stage 368: PR #2382 — fix: serve raw chat attachments from inbox by @Michaelyklam
2026-05-16 17:19:06 +00:00