Skip to content

Release stage-batch54 → v0.51.172 (model-label fallback + dev cache-bust + tilde completion + cron project chips) - #3198

Merged
nesquena-hermes merged 8 commits into
masterfrom
release/stage-batch54
May 30, 2026
Merged

nesquena-hermes merged 8 commits into
masterfrom
release/stage-batch54

Conversation

@nesquena-hermes

Copy link
Copy Markdown
Collaborator

Release stage-batch54 → v0.51.172 (Release ER)

Batch of 4 low-risk contributor PRs. All isolated files, green CI, fail-safe by construction.

PR Author Summary
#3174 @mysoul12138 Session model labels fall back to getModelLabel() instead of raw model id when gateway routing is absent
#3182 @ai-ag2026 Dev-build cache-bust hashes the tracked dirty diff so asset URLs change per edit (closes #3159)
#3183 @ai-ag2026 Workspace autocomplete preserves ~/ prefix under home dir (#3173)
#3188 @mysoul12138 CLI-sourced cron sessions stay addressable under project chip via dedicated cron-only pass (#3172)

Verification

  • Pre-Opus gate: node -c, ESLint runtime gate (no-const-assign/no-import-assign), ast.parse, merge-marker grep, CHANGELOG placeholder — all clean.
  • Full pytest suite (sequential, -p no:xdist): 6920 passed, 11 skipped, 0 failed.
  • Opus advisor review: SHIP all four (one non-blocking follow-up nit on fix: let cron sessions bypass CLI_VISIBLE_SESSION_LIMIT for project chips (#3172) #3188 — the cron second-pass SQL filter could be tightened to positive cron-only matching; behavior is correct via the Python if _source != 'cron': continue guard, so it's a deployment-edge polish, not a regression).

Co-authored-by trailers preserved on each contributor commit.

mysoul12138 and others added 8 commits May 30, 2026 15:13
When gateway_routing is absent, _formatGatewayModelLabel returns '' and
the fallback path returns raw s.model — which may contain an @Provider:
prefix (e.g. @token-plan-cn.xiaomimimo.com:mimo-v2.5-pro).

getModelLabel() already handles stripping @Provider: prefixes (ui.js:2855)
but was never called in this fallback path. Route through it so the
session list always displays a clean model name.

Closes #3172
…hips (#3172)

When state.db has many non-cron sessions, the normal sidebar query caps
at CLI_VISIBLE_SESSION_LIMIT (20) rows ordered by latest activity. Older
cron runs get squeezed out before _include_project_hidden_background_sidebar_sessions
can rescue them, making them invisible under their project chip.

Add a second-pass cron-only query with a higher cap (CRON_PROJECT_CHIP_LIMIT=200)
that merges into the CLI session list.  The project-chip rescue layer then
marks them default_hidden so they stay addressable without polluting the
default sidebar window.

Verification: regression test seeds 25+ newer non-cron sessions and asserts
the older messageful cron session still appears with project_id set.
@nesquena-hermes
nesquena-hermes merged commit 79145c0 into master May 30, 2026
3 checks passed
@nesquena-hermes
nesquena-hermes deleted the release/stage-batch54 branch May 30, 2026 18:12
SysAdminDoc pushed a commit to SysAdminDoc/hermes-webui that referenced this pull request Jun 26, 2026
Release stage-batch54 → v0.51.172 (model-label fallback + dev cache-bust + tilde completion + cron project chips)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve dev-build cache-busting: hash the dirty diff so asset URLs change per local edit (salvaged from #2252)

3 participants