Release v0.51.227 — Release GU (stage-p11 — keep active New Chat visible in sidebar #3408) - #3461
Merged
Merged
Conversation
added 2 commits
June 3, 2026 03:07
@AJV20) Squashed net diff of #3408. Injects ONLY the active ephemeral session into the sidebar render rows (when the server list omits it) so a freshly-created New Chat stays visible/selected before its first turn; inactive empty sessions stay filtered as before. New Chat also resets a CLI source-filter back to webui so the active chat isn't immediately hidden.
…#3408 Codex follow-up) Codex review found _ensureActiveSessionRowPresent re-injected ANY active session after search-merge — so an active conversation WITH messages that was correctly filtered out by the search query would pollute unrelated search results. Gate the reinjection to Number(activeRow.message_count||0)<=0 so only the freshly-created 0-message ephemeral chat is re-added; an active chat with messages stays filtered by search as before. Added a regression test asserting the gate.
SysAdminDoc
pushed a commit
to SysAdminDoc/hermes-webui
that referenced
this pull request
Jun 26, 2026
…ble in sidebar nesquena#3408) (nesquena#3461) * fix(sidebar): keep active New Chat visible before first message (nesquena#3408, @AJV20) Squashed net diff of nesquena#3408. Injects ONLY the active ephemeral session into the sidebar render rows (when the server list omits it) so a freshly-created New Chat stays visible/selected before its first turn; inactive empty sessions stay filtered as before. New Chat also resets a CLI source-filter back to webui so the active chat isn't immediately hidden. * fix(sidebar): gate active-row reinjection to 0-message ephemeral only (nesquena#3408 Codex follow-up) Codex review found _ensureActiveSessionRowPresent re-injected ANY active session after search-merge — so an active conversation WITH messages that was correctly filtered out by the search query would pollute unrelated search results. Gate the reinjection to Number(activeRow.message_count||0)<=0 so only the freshly-created 0-message ephemeral chat is re-added; an active chat with messages stays filtered by search as before. Added a regression test asserting the gate. --------- Co-authored-by: nesquena-hermes <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v0.51.227 — Release GU (stage-p11)
Single sidebar bug fix, screenshot-approved + invariant-verified by Nathan (Telegram, 2026-06-03).
Fixed
#3408 — keep the active New Chat visible in the sidebar (@AJV20). The sidebar intentionally filters inactive 0-message sessions, but that filter also hid the currently active blank chat until the user sent the first turn — so starting a New Chat could make the selected row vanish from the list. The active ephemeral session is now injected into the sidebar render rows (only when the server-side list omits it), while inactive empty sessions stay filtered as before. Starting a New Chat from a CLI-filtered sidebar also switches the source filter back to WebUI so the active chat isn't immediately hidden.
Review fixes (Codex, applied inline + regression tests)
_ensureActiveSessionRowPresentoriginally re-injected any active session after the search-merge, so an active conversation with messages that was correctly filtered out by a search query would pollute unrelated search results. Gated the re-injection toNumber(activeRow.message_count||0) <= 0so only the active freshly-created 0-message ephemeral chat is re-added; an active chat with messages stays filtered by search. Added a regression test asserting the gate (and that the old unconditional return is gone).Live browser verification (the two invariants Nathan required)
Verified in a populated test environment via agent-browser CDP:
Gates
Closes #3408.
Co-authored-by: AJV20 AJV20@users.noreply.github.com