Commit Graph

2316 Commits

Author SHA1 Message Date
Michael Lam b373f090bd feat: clarify profiles and workspaces 2026-05-16 02:58:33 +00:00
nesquena-hermes dbd2c79891 Merge pull request #2350 from nesquena/stage-363
Release v0.51.70 (stage-363) — 4-PR snapshot+journal+UI batch
v0.51.70
2026-05-15 19:56:41 -07:00
Hermes Agent 15100344f6 stage-363: stamp CHANGELOG v0.51.70 + retroactive v0.51.69 section
v0.51.70 — Release AS (this batch):
- PR #2337 (compression snapshot runtime-clear branch 2)
- PR #2334 (turn-journal fcntl lock)
- PR #2342 (INFLIGHT reattach pending user row)
- PR #2339 (workspace panel edge reopen toggle)

v0.51.69 — Release AT (retroactive — these PRs shipped at v0.51.69
tag yesterday but were never moved out of Unreleased at release time;
restoring proper attribution):
- PR #2332, #2333, #2322, #2326, #2327, #2328, #2330, #2331

CHANGELOG drift detected via Pitfall 6 in test-augmentation pitfalls
doc — Unreleased section contained 8 orphan PRs that shipped at the
v0.51.69 tag but were never sectioned correctly. Retroactively splicing
the v0.51.69 header to attribute them properly so future release notes
don't mis-attribute work to v0.51.70.
2026-05-16 02:49:34 +00:00
Hermes Agent 8399a1ade4 Stage 363: PR #2339 — feat: add workspace panel edge reopen toggle by @Michaelyklam 2026-05-16 02:39:23 +00:00
Hermes Agent 2f633ae32e Stage 363: PR #2342 — Fix pending user row on active reattach by @franksong2702 2026-05-16 02:39:23 +00:00
Hermes Agent 0d70ed9e26 Stage 363: PR #2334 — fix: lock turn journal appends by @Michaelyklam 2026-05-16 02:38:53 +00:00
Hermes Agent 9c6ebea393 Stage 363: PR #2337 — fix: clear runtime fields on loaded compression snapshots by @Michaelyklam 2026-05-16 02:38:52 +00:00
Frank Song 2162dab4a5 Fix pending user row on active reattach 2026-05-16 10:34:55 +08:00
Michael Lam 4d613e723f feat: add workspace panel edge reopen toggle 2026-05-15 18:33:27 -07:00
Michael Lam 0e91f89ce3 fix: clear runtime fields on loaded compression snapshots 2026-05-15 17:55:35 -07:00
Michael Lam 4dbf6712dc fix: lock turn journal appends 2026-05-15 16:39:45 -07:00
nesquena-hermes 352064eb93 Merge pull request #2335 from nesquena/stage-362
stage-362: 8-PR follow-up batch — Ollama routing + legacy toolset + cancel copy + cleanup + custom provider mismatch + cron metadata + dead-code removal (with #2323 revert after Opus-caught silent regression)
v0.51.69
2026-05-15 16:27:05 -07:00
Hermes Agent b7859cf98d stage-362: revert #2323 — Opus caught silent regression in profile routing 2026-05-15 23:23:18 +00:00
Hermes Agent 2161b81da2 Revert "Merge pull request #2323 into stage-362"
This reverts commit 0651fe13b0, reversing
changes made to 1e6ce3d2e7.
2026-05-15 23:22:44 +00:00
Hermes Agent 013a158fd1 docs: CHANGELOG stage-362 — close v0.51.68 (stage-361), open Unreleased for 9-PR stage-362 batch with proper attribution 2026-05-15 22:57:56 +00:00
Hermes Agent 0651fe13b0 Merge pull request #2323 into stage-362
fix: isolate background worker profile env (Michaelyklam, closes #2321)

# Conflicts:
#	CHANGELOG.md
2026-05-15 22:55:39 +00:00
Hermes Agent 1e6ce3d2e7 Merge pull request #2328 into stage-362
fix: clean session attachment and stream recovery leftovers (Michaelyklam, closes #2325)
2026-05-15 22:55:37 +00:00
Hermes Agent 59f73ba45a Merge pull request #2332 into stage-362
feat: show cron output usage metadata (Michaelyklam)
2026-05-15 22:55:36 +00:00
Hermes Agent 62e4d9b2f5 Merge pull request #2327 into stage-362
fix: use assistant name in cancel copy (dotBeeps)
2026-05-15 22:55:35 +00:00
Hermes Agent 300571936c Merge pull request #2331 into stage-362
fix: show readable live activity progress (Michaelyklam)

# Conflicts:
#	CHANGELOG.md
2026-05-15 22:55:33 +00:00
Hermes Agent 94be64b62c Merge pull request #2330 into stage-362
fix: skip provider mismatch for named custom providers (Michaelyklam)
2026-05-15 22:55:32 +00:00
Hermes Agent 5ab2ebed2e Merge pull request #2322 into stage-362
fix: route endpoint-discovered Ollama models correctly (Michaelyklam)
2026-05-15 22:55:30 +00:00
Hermes Agent 8b6673a3d1 Merge pull request #2326 into stage-362
fix: expand legacy Hermes CLI toolset alias (Michaelyklam, closes #2232)
2026-05-15 22:55:29 +00:00
Hermes Agent bc72a7b29f Merge pull request #2333 into stage-362
test: retarget compression snapshot runtime regression (Michaelyklam, closes #2312 item #1)
2026-05-15 22:55:28 +00:00
Michael Lam 6799ec56cf test: retarget compression snapshot runtime regression 2026-05-15 15:29:28 -07:00
Michael Lam 8186577c7b feat: show cron output usage metadata 2026-05-15 14:54:20 -07:00
Michael Lam 2e039ab7f7 fix: show readable live activity progress 2026-05-15 14:11:58 -07:00
Michael Lam 5a2137bedb fix: skip provider mismatch for named custom providers 2026-05-15 13:50:18 -07:00
Michael Lam c991f36021 fix: clean session attachment and stream recovery leftovers 2026-05-15 13:30:46 -07:00
Michael Lam 2fdc1d99e2 fix: expand legacy Hermes CLI toolset alias 2026-05-15 13:08:22 -07:00
dot 🐶 3add6f450f fix: use assistant name in cancel copy
Replace the hardcoded Skyly cancellation wording with the configured bot_name from settings, falling back to Hermes when unset.

Keep the client-side fallback in sync by using window._botName if the session refresh after cancellation fails.

Co-authored-by: Obryn 🐉 <obryn-ai@dotbeeps.dev>
2026-05-15 16:00:30 -04:00
nesquena-hermes 7ac4bf4f4a Merge pull request #2324 from nesquena/stage-361
stage-361: 4-PR follow-up batch — profile skill seeding + theme fallback + mobile stream defer + chat upload relocation (with vision-model regression fix)
v0.51.68
2026-05-15 12:58:51 -07:00
Hermes Agent 29d13953d6 stage-361: apply Opus SHOULD-FIX — allow _attachment_root() in _build_native_multimodal_message 2026-05-15 19:55:34 +00:00
Michael Lam ff9e20f132 fix: isolate background worker profile env 2026-05-15 12:47:24 -07:00
Hermes Agent 1b6870086d docs: CHANGELOG stage-361 — close v0.51.67 (stage-360), open Unreleased for 4-PR stage-361 batch with proper attribution 2026-05-15 19:18:12 +00:00
Hermes Agent 0a4d9679fc Merge pull request #2319 into stage-361
feat: store chat uploads outside workspace root (Michaelyklam)
2026-05-15 19:17:08 +00:00
Hermes Agent ab749575df Merge pull request #2318 into stage-361
fix: defer mobile stream errors while tab is hidden (Michaelyklam, closes #2307)

# Conflicts:
#	CHANGELOG.md
2026-05-15 19:17:06 +00:00
Hermes Agent 74ee110b2f Merge pull request #2315 into stage-361
Seed bundled skills for WebUI profile creation (Michaelyklam, closes #2305)

# Conflicts:
#	CHANGELOG.md
2026-05-15 19:17:04 +00:00
Hermes Agent 62413067e6 Merge pull request #2317 into stage-361
fix: preserve explicit light/dark theme fallback (Michaelyklam, refs #2312)
2026-05-15 19:17:03 +00:00
Michael Lam 512c401e8a fix: route endpoint-discovered Ollama models correctly 2026-05-15 12:16:23 -07:00
nesquena-hermes 2170846031 Merge pull request #2320 from nesquena/stage-360
stage-360: 3-PR streaming-lane batch — stream completion recovery + profile-scoped aux routing + workspace panel polish (with _ENV_LOCK architectural fix)
v0.51.67
2026-05-15 12:11:59 -07:00
Hermes Agent a8a27eeb7d stage-360: Opus follow-up — update _ENV_LOCK docstring to reflect narrow-lock semantics
Opus stage-360 review caught that the docstring at api/streaming.py:40-43
said 'around the entire agent run' which is no longer accurate after the
narrow-lock refactor. The lock is now held only briefly for the env-mutation
critical section; the agent runs outside the lock and the finally block
re-acquires to atomically restore env vars.

Docstring now points to both narrow-lock implementations as references:
- _run_agent_streaming at line ~2719 (the original pattern)
- profile_env_for_background_worker at api/profiles.py:715 (added stage-360)
2026-05-15 19:05:37 +00:00
Michael Lam 3ead446f14 feat: store chat uploads outside workspace root 2026-05-15 11:52:23 -07:00
Michael Lam aeda75271c fix: defer stream errors while mobile tabs are hidden 2026-05-15 11:25:53 -07:00
Hermes Agent 803ab170d8 stage-360: align test_sprint29::TestENVLock with non-reentrant invariant from QA
#2299 added test_env_lock_importable_from_streaming asserting reentrance,
which contradicts the architectural invariant enforced by QA
test_env_lock_is_non_reentrant. The QA test wins because the non-reentrant
property is what makes _ENV_LOCK catch deadlock bugs early.

Updated the new test to assert NON-reentrance to match the actual lock
type (threading.Lock) and the QA invariant.
2026-05-15 17:12:29 +00:00
Hermes Agent fb0e664a10 stage-360 maintainer fix: narrow _ENV_LOCK to env mutation only in profile_env_for_background_worker
#2299 introduced profile_env_for_background_worker() in api/profiles.py and
changed _ENV_LOCK from threading.Lock() to threading.RLock(). Both changes
were incorrect:

1. RLock masked rather than fixed the underlying deadlock. The QA
   test_env_lock_is_non_reentrant test exists precisely to enforce
   non-reentrance — RLock would let a single thread hold _ENV_LOCK across
   nested critical sections, which hides bugs while still allowing
   different-thread races.

2. The original context manager held _ENV_LOCK for the ENTIRE 'yield'
   duration, meaning the lock was held for the full background worker's
   runtime (title generation, compression, update summary — possibly
   many seconds). That blocked ALL other sessions on _ENV_LOCK, which
   the QA test_third_message_completes runtime test caught as a timeout
   on the third sequential message.

Fix: mirror the narrow-lock pattern from _run_agent_streaming:
  - Acquire _ENV_LOCK only for env mutation (set runtime_env + patch
    skill modules)
  - Release immediately, yield to worker (no lock held)
  - Reacquire in finally to restore env + skill modules

Restored _ENV_LOCK back to threading.Lock(). All 20 QA tests now pass,
including test_third_message_completes (was timing out, now 35s).
2026-05-15 17:11:45 +00:00
Michael Lam 957bffc49e fix: preserve explicit light dark theme fallback 2026-05-15 10:10:34 -07:00
Michael Lam b2cbf7bb2f Seed bundled skills for WebUI profile creation 2026-05-15 09:29:46 -07:00
Hermes Agent f1bb73a7f2 docs: CHANGELOG stage-360 — close v0.51.66 (stage-359), open Unreleased for 3-PR stage-360 batch 2026-05-15 16:16:50 +00:00
Hermes Agent 3b05929f1a Merge pull request #2299 into stage-360
Fix profile-scoped auxiliary routing for background workers (starship-s)
2026-05-15 16:15:39 +00:00