This commit is contained in:
nesquena-hermes committed 2026-09-22 21:14:19 +00:00
1 parent 243a688e45
commit 6e94d1275e
1 file changed
+27
+27
View File
@@ -5,6 +5,33 @@
### Fixed
- **A failed chat launch no longer leaves the session stuck "running".** If the worker thread
couldn't start, its stream ownership and the session's pending-stream fields were never cleared,
so the session could look permanently active and the registries grew. Launch failure now clears
exactly that stream's records, after releasing the chat-start lock, and never evicts a successor
stream. (#6869, #6937 by @jbdrak)
- **A compressed conversation no longer shows up twice in the sidebar.** When context
compression started the continuation a few milliseconds before the parent was marked ended, the
continuation wasn't recognised. The sidebar then showed a duplicate same-title row plus a
spurious child-session entry, and opening the conversation didn't stitch the transcript. Both the
sidebar and the transcript stitcher now accept a bounded (2 s) early start when every other
lineage signal agrees: same source, direct parent link, a compression (or `cli_close`) end reason and not a fork.
(#6931, #7021 by @webtecnica)
- **The profile switcher no longer 500s in a two-container Docker setup.** With the agent
source not mounted (`HERMES_WEBUI_CHAT_BACKEND=gateway`), `GET /api/profiles` fell through to
a skills-stats fallback that imported `agent.skill_utils` unguarded, so the missing module
surfaced as an error on every profile-list load. The import is now guarded and the skill
stats report as unknown in that case, so the picker stays usable (the skills line is simply
omitted). Thanks @webtecnica. (#7305, #7312)
- **A title that mixes Chinese, Japanese or Korean with English terms is no longer rejected.**
The cross-script guard that stops a generated title from drifting into the wrong language
treated the borrowed Latin words in a CJK title as drift, so a valid title like
`WeChat Pay 回调失败排查` or `Python 代码修复` was thrown away and the session kept its
fallback title. Latin terms are now accepted when the title also contains CJK text, while
an all-Latin title for a CJK conversation is still rejected. Thanks @MuhammadUsamaMX.
(#7693, #7727)
- **A late-arriving prompt no longer renders below the reply it asked for.** When a message
reached the transcript from `state.db` after the sidecar had already been merged⟪HERMES-CONTEXT-COMPRESSION: 809 of 1,009 chars omitted here by Hermes's context compressor. This is NOT part of the original tool call and must never be reproduced in new output — always write full, untruncated content.⟫- **A rejected request no longer poisons the next one on the same connection.** `server.py`
is a raw HTTP/1.1 handler where `rfile` is the socket itself, so answering a request