Commit Graph

2445 Commits

Author SHA1 Message Date
nesquena-hermes ccea8ed66f Stage 376: PR #2455
# 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 54297bdda7 Stage 376: PR #2450
# 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 d15dfdbef4 Stage 376: PR #2441
# 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
nesquena-hermes 9453046f65 Stage 376: PR #2438 2026-05-17 16:41:44 +00:00
Frank Song bd9a4924bf fix: clear stale active session spinner 2026-05-17 17:34:43 +08:00
Michael Lam 00295a916a fix: deliver manual cron run results 2026-05-17 01:41:06 -07:00
Michael Lam 87e3b4e88e fix: cap stream fade done drain 2026-05-17 00:27:54 -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
Michael Lam 8ba16ab294 fix: reuse compact live thinking card 2026-05-16 21:44:18 -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 603183a301 Merge pull request #2437 from nesquena/stage-375
Release BF: stage-375 (v0.51.82) — 2-PR batch — table renderer pipe protection + Catppuccin appearance skin
v0.51.82
2026-05-16 20:56:34 -07:00
nesquena-hermes 403e9582af Stamp CHANGELOG for v0.51.82 (Release BF / stage-375) 2026-05-17 03:53:50 +00:00
nesquena-hermes 573b1e12ad Stage 375: PR #2428 stage-fix #2 — drop angle brackets from pipe-protect set (Opus catch)
Opus advisor review of stage-375 flagged that the protected-bracket set including `<` and `>` caused tables containing comparison operators across adjacent columns to mis-collapse: `| x < 5 | y > 10 |` matched `< ... >` as a bracket pair and stashed the inner pipe, producing one cell instead of two.

Real LLM table output uses angle brackets as comparison operators far more often than as content-grouping pairs, so the safer default is to NOT treat them as a matched pair. Dropped `<` from the opener class and `>` from both closer classes.

Three regression tests added (`TestComparisonOperatorsAcrossColumns` class): `< … >` across columns, `<` alone, `>` alone.
2026-05-17 03:53:29 +00:00
nesquena-hermes d45d4c08b5 Stage 375: PR #2428 stage-fix — hex-escape brace literals in pipe-protect regex + drop apostrophe-stop + add 9 regression tests
PR #2428's iterative _protectPipes regex introduced two issues we caught during stage assembly:

1. The negated character classes [^)\]}'>] added `'` as a stop character. That breaks cells containing string-literal pipes like `('a'|'b')` (Python type-union examples) — they would still mis-split. Dropped the apostrophe-stop.

2. The literal `}` inside the regex character classes confused the brace-counting extractFunc driver in tests/test_renderer_js_behaviour.py, breaking all 45 existing node-driven renderer tests. Rewrote both brace literals as hex escapes (\\x7b and \\x7d) — semantically identical at the regex-engine level but the JS source carries no bare brace glyph.

Also added tests/test_issue2428_table_pipe_protection.py with 9 regression tests covering single-pipe, multi-pipe-in-brackets, apostrophes-with-pipes, and the KaTeX \$...\$ guard.
2026-05-17 03:41:43 +00: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 1793aa8c85 Stage 375: PR #2428 — fix(renderer): protect pipes inside brackets from table cell split + KaTeX dollar in tables by @bengdan
Co-authored-by: manji <manji@local>
2026-05-17 03:35:19 +00:00
nesquena-hermes c45895d6d7 Merge pull request #2433 from nesquena/stage-374
Release BE: stage-374 (v0.51.81) — 6-PR batch — cost-history POSIX lock + prompt-cache tokens + Plugins panel i18n + pending placeholder + journal partial recovery + RuntimeAdapter Slice 2
v0.51.81
2026-05-16 20:12:54 -07:00
nesquena-hermes c7365548b7 Stamp CHANGELOG for v0.51.81 (Release BE / stage-374) 2026-05-17 03:10:09 +00:00
nesquena-hermes b78c739662 Stage 374: assemble unified CHANGELOG for v0.51.81 2026-05-17 02:50: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 a33cd4195b Stage 374: PR #2431 — fix(chat): render pending assistant placeholder before /api/chat/start returns by @Michaelyklam (fixes #2429)
Co-authored-by: Michael Lam <michael@example.local>
2026-05-17 02:49:35 +00:00
nesquena-hermes 13265b7085 Stage 374: PR #2425 — i18n: add internationalization for Settings Plugins panel by @mccxj
Co-authored-by: BonyFish <mc02cxj@gmail.com>
2026-05-17 02:49:34 +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 a03cd1312a Merge pull request #2416 from Michaelyklam/docs/issue-1925-runtime-adapter-seam
docs: define runtime adapter seam contract
2026-05-16 17:43:40 -07:00
Michael Lam b985ca54dc docs: define runtime adapter seam contract 2026-05-17 00:41:20 +00:00
nesquena-hermes d624d7f6b3 Merge pull request #2420 from nesquena/stage-373
Release BD / v0.51.80 — stage-373 (2-PR review-bypass batch: provider config flag filter + stale compaction greeting heuristic)
v0.51.80
2026-05-16 17:36:42 -07:00
nesquena-hermes ae83b61185 Stamp CHANGELOG for v0.51.80 (Release BD / stage-373) 2026-05-17 00:23:04 +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 96021e7fc5 Merge pull request #2414 from nesquena/stage-372
Release BC / v0.51.79 — stage-372 (5-PR review-bypass batch: text-mode image fix + Activity-group compression + custom provider routing + quota chip toggle + RFC docs)
v0.51.79
2026-05-16 16:12:43 -07:00
nesquena-hermes 0baefcd1e5 Stamp CHANGELOG for v0.51.79 (Release BC / stage-372) 2026-05-16 23:05:53 +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 780bddca04 Stage 372: PR #2411 — fix: preserve named custom provider model selections by @Michaelyklam (fixes #2405) 2026-05-16 23:04:53 +00:00
nesquena-hermes 862d32ce27 Stage 372: PR #2408 — fix: split live Activity groups at auto-compression by @Michaelyklam (fixes #2404) 2026-05-16 23:04:18 +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 55f2d6792b Stage 372: PR #2407 — docs: advance runtime adapter gate by @Michaelyklam 2026-05-16 23:02:42 +00:00
nesquena-hermes cef6b1b5f0 Merge pull request #2412 from nesquena/stage-371
Release BB / v0.51.78 — stage-371 (stuck-PR sweep salvage: RTL chat + ambient quota chip)
v0.51.78
2026-05-16 15:27:07 -07:00
nesquena-hermes cf23d47e2d fix(stage-371): apply Opus SHOULD-FIX — KaTeX/CSV/diff stay LTR + chip 1px boundary
Opus advisor on stage-371 caught three issues during pre-release review:

1. RTL salvage missed KaTeX math (display equations + inline LaTeX), diff
   blocks, CSV tables (column order must read left-to-right regardless of
   chat direction), and .skill-file-path. The first salvage commit only
   covered pre/code/kbd/samp/tt and tool-call bodies. Added a second
   force-LTR block covering: .katex, .katex-block, .katex-display,
   .katex-html, .katex-inline, .diff-block (+children), .csv-table-wrap,
   .csv-table (+children), .skill-file-path. Severity: KaTeX is the most
   user-visible gap — any user rendering math under RTL would see flipped
   equations.

2. Quota chip @media (max-width:1400px) hide rule conflicted at exactly
   1400px with the existing @media (min-width:1400px) .messages-inner
   rule — chip was hidden AT the wide-desktop boundary where it should
   first appear. Changed to (max-width:1399.98px). Visually verified at
   1400px: chip now correctly visible there.

3. Dead .icon-btn.provider-quota-chip selector — chip never has icon-btn
   class. Removed.

Test added: test_rtl_math_and_tables_stay_ltr (pins the 4 new LTR
surfaces). Also removed dead code in test_rtl_code_blocks_stay_ltr
(unused code_block variable).

Per stage-fix protocol: SHIP-with-followup applied on the stage rather
than the source PR, since #2409 is already merged-into-stage and
nesquena-approved. Stage-371 review-bypass batch path still holds.
2026-05-16 22:22:38 +00:00
nesquena-hermes e3eda7e3df Stamp CHANGELOG for v0.51.78 (Release BB / stage-371) 2026-05-16 22:07:43 +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
nesquena-hermes 125da1e65a Merge pull request #2401 from nesquena/stage-370
v0.51.77 — Release BA (stage-370: PR #2390 live Activity grouping fix)
v0.51.77
2026-05-16 13:34:52 -07:00
Hermes Agent a5f429c28f Stamp CHANGELOG for v0.51.77 (Release BA / stage-370) 2026-05-16 20:22:33 +00:00