117 Commits
Author SHA1 Message Date
Frank Song bbca954c5c fix: gate idle recovery on exact runtime status
(cherry picked from commit 35597715018e598bf24f0b708cbd32b039533a99)
2026-09-23 11:57:31 +08:00
Frank Song ca2153ec54 fix: bound sidebar idle recovery for missing terminal events
(cherry picked from commit 1be0e114b32eefe14f94837ed3cf78aadc14ca9b)
2026-09-23 11:57:31 +08:00
Frank Song 5dcda6f537 fix: preserve terminal handoff across idle sidebar refresh
(cherry picked from commit 85f1c2d34b62b0ade85f51ed2cf8c1cf56f5ab9e)
2026-09-23 11:57:31 +08:00
nesquena-hermesandfranksong2702 1fe8950022 Release v0.51.238 — Release HF (stage-q9) (#3493)
## Release v0.51.238 — Release HF (stage-q9)

Phase 3 MEDIUM-ring pick (3-factor: contributor×impact×mitigated-risk) — high-impact perf fix to the most-clicked affordance from a regular contributor (@franksong2702 ★★★), small code surface, CI-green.

### Fixed
| PR | Author | Fix |
|----|--------|-----|
| #2518 follow-up | @franksong2702 | Clicking **New Conversation** on a cold start no longer hangs 3–4s on a catalog rebuild. `newSession()` fills `model_provider` from `window._activeProvider` (then prev-session) when the dropdown carries none, so `POST /api/session/new` takes the fast path on the first click too. |

### Pre-release dual gate caught a wrong-backend routing bug (fixed + regression-tested)
The server fast path passes `(model, provider)` through **without validating the pair**, so naively attaching the active provider to *any* bare model could silently route to the wrong backend (e.g. bare `claude-opus-4.8` + active `openrouter`). **Codex** flagged this; **Opus** had judged it acceptable ("respect the selection over silent swap"). I took the stricter, empirically-grounded path and added a **family-mismatch guard** mirroring the server's own bare-prefix→provider map (`gpt`→openai, `claude`→anthropic, `gemini`→google): when the model's known family differs from the fallback provider, `model_provider` stays `null` so the server slow-path's family repair runs. This keeps the perf win for the common matching case while closing the mis-route. Backend behavioral tests confirm fast-path-on-match + slow-path-on-mismatch. (Also re-anchored the source-shape test assertions on the real `reqBody.model_provider=` assignment per Codex's 2nd note.)

### Gate results
- **Full pytest suite**: 7495 passed, 9 skipped, 3 xpassed, **0 failed**
- **ESLint runtime gate**: CLEAN  ·  **ruff**: CLEAN  ·  **browser-smoke**: CLEAN
- **Codex (regression)**: SHIP ONLY WITH FIXES → guard + test-anchor applied → re-reviewed **SAFE TO SHIP**
- **Opus (correctness)**: reviewed the original (judged acceptable); the shipped version is strictly safer (adds the family guard)

Note: `docs/pr-media/2518/{PR_BODY.md,bench.py}` are the contributor's review aids, included per the tracked `docs/pr-media/` convention (157 files already tracked) — not app code.

Closes #2518.

Co-authored-by: franksong2702 <franksong2702@users.noreply.github.com>
2026-06-03 12:23:46 -07:00
nesquena-hermes ad4a4e2d62 Merge pull request #2506
# Conflicts:
#	CHANGELOG.md
2026-05-27 00:38:40 +00:00
Michael Lam 581da3da2b feat: make clarify prompt collapsible 2026-05-22 17:45:40 +00:00
Hermes AgentandMichaelyklam 7d3013245a Stage 398: PR #2687 — feat: hide suggestions preference (closes #2679)
Closes #2679

Co-authored-by: Michaelyklam <Michaelyklam@users.noreply.github.com>
2026-05-21 17:43:48 +00:00
nesquena-hermes dd36d09f89 Stage 389: PR #2626
# Conflicts:
#	CHANGELOG.md
2026-05-20 16:41:45 +00:00
Michael Lam c3eafa34f8 fix: surface custom provider model endpoint errors 2026-05-20 03:12:33 -07:00
Michael Lam 9ca846eb8f feat: cap pinned sessions from sidebar 2026-05-19 20:50:26 -07:00
Michael Lam 209b8928c4 Merge origin/master into CLI sessions PR 2026-05-18 20:56:38 -07:00
nesquena-hermes 3da564a9c3 Move PR #2548 screenshots into docs/pr-media/2548 (project convention) 2026-05-19 03:14:04 +00:00
Michael Lam b473b21a2f fix: align workspace tree file icons 2026-05-18 18:38:13 -07:00
Michael Lam a48e47dd1c feat: separate CLI sessions in sidebar 2026-05-18 17:29:51 -07:00
nesquena-hermes d161e9a074 Stage 383: PR #2528
# Conflicts:
#	CHANGELOG.md
2026-05-18 16:44:36 +00:00
Michael Lam b76d698a79 fix: guard new conversation cold-start clicks 2026-05-18 06:48:05 -07:00
Frank Song 46029e0b1c docs: align uiux demo theme controls 2026-05-18 12:50:25 +08:00
Michael Lam 2785065a09 feat: add thinking card copy button 2026-05-17 03:57:54 -07:00
nesquena-hermesandMichael Lam 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
Frank Song faedcab739 Preserve live agent timeline across session switches 2026-05-16 14:12:08 +08:00
Hermes Agent d510b8d2d5 Merge pull request #2303 into stage-359
Add assistant question jump buttons (franksong2702, fixes #2246)

# Conflicts:
#	CHANGELOG.md
2026-05-15 14:55:15 +00:00
Hermes Agent f7d98cdf3f Merge pull request #2301 into stage-359
Add cron detail expansion controls (franksong2702, fixes #2289)
2026-05-15 14:55:13 +00:00
Frank Song 05a5ed5af1 Add assistant question jump buttons 2026-05-15 19:39:27 +08:00
Frank Song 079d6b4e86 Add cron detail expansion controls 2026-05-15 18:04:53 +08:00
Jordan SkyLF fb869bbeb3 Add offline banner comparison screenshots 2026-05-15 01:51:35 -07:00
Jordan SkyLF 2601d41149 Add offline banner theme screenshots 2026-05-15 01:03:48 -07:00
Hermes Agent 29c166d813 Merge pull request #2234 into stage-355
fix: refine update summary category handling (Jordan-SkyLF, post-v0.51.61 rebase)

# Conflicts:
#	CHANGELOG.md
2026-05-14 15:15:09 +00:00
Hermes Agent 673a927975 Merge pull request #2238 into stage-355
Improve phone sidebar panel navigation (franksong2702, fixes #2231)
2026-05-14 15:15:06 +00:00
Hermes Agent 116167ce00 Merge pull request #2250 into stage-355
[codex] Fix blank skill detail views (franksong2702, refs #1880)

# Conflicts:
#	CHANGELOG.md
2026-05-14 15:13:46 +00:00
Frank Song a56ec43d29 Show skill detail API errors 2026-05-14 22:57:15 +08:00
Frank Song 93de0d8c31 Add skill detail screenshot evidence 2026-05-14 22:35:02 +08:00
Jordan SkyLF a291ffdde6 fix: refine update summary category handling
Keep distinct generated summary categories, route update-summary generation through the configured auxiliary model first, disclose capped large-range summary input, and constrain long summary panels.
2026-05-14 01:07:47 -07:00
Frank Song 6beb59d61f Improve mobile sidebar panel navigation 2026-05-14 15:16:33 +08:00
Hermes Agent efad585b86 Merge pull request #2228 into stage-354
Add model picker to profile creation (franksong2702, refs #749)
2026-05-14 07:15:14 +00:00
Jordan SkyLF afbcc9a6d5 fix: wrap update banner on mobile 2026-05-13 23:51:48 -07:00
Frank Song 8b30ade923 Add profile creation model picker 2026-05-14 12:13:49 +08:00
Hermes Agent bfb62abe35 Merge pull request #2225 into stage-353
Add extra-large Appearance font size option (franksong2702)
2026-05-14 03:43:52 +00:00
Frank Song e2f319d730 Add extra large font size option 2026-05-14 11:09:21 +08:00
Frank Song 3d2f9cf699 Fix Appearance endless scroll label markup 2026-05-14 10:44:16 +08:00
Frank Song 996d4f9a8c Hide session lineage metadata in compact sidebar 2026-05-14 10:14:15 +08:00
Jordan SkyLF 9b2c402253 Add MCP tools overflow PR screenshots 2026-05-13 15:50:48 -07:00
Frank Song e177f64e78 Add worktree remove PR screenshots 2026-05-13 09:53:56 +08:00
Michael Lam 245288c00d fix: bucket long-range daily token charts 2026-05-11 23:01:13 -07:00
Frank Song 2da4f108c5 Clarify worktree session archive/delete semantics
(cherry picked from commit f5c8fb58d1892f2c964389295530e8be5d84323f)
2026-05-12 00:05:05 +00:00
Frank Song 186453ea0e Add worktree-backed session creation 2026-05-11 12:12:40 +08:00
Michael Lam c7afae0e07 fix: lengthen auto-compression toast 2026-05-09 19:35:05 -07:00
Michael Lam 8e513b596b fix: surface goal evaluation status 2026-05-08 17:12:01 +00:00
Michael Lam 0db5bc6b76 feat: add WebUI goal command support 2026-05-08 17:12:01 +00:00
Michael Lam 6c4b769324 fix: scope skills endpoints to active profile 2026-05-08 16:07:49 +00:00
Frank Song ee0828f53d fix: disable workspace heading affordance without workspace 2026-05-08 13:32:05 +08:00