nesquena-hermes
7c3dcce1d0
Stage 388: PR #2598
2026-05-20 00:17:47 +00:00
Eleanor Berger
2e91c0f81e
fix: honour skin value in theme command
2026-05-20 00:09:06 +00:00
Eleanor Berger
4598adfd04
feat: add Geist Contrast skin
2026-05-20 00:09:06 +00:00
AJV20
612fcd30fe
fix: avoid duplicate live tool events
2026-05-19 18:41:08 -04:00
nesquena-hermes
6d43116794
Stage 387: PR #2573
2026-05-19 22:10:20 +00:00
nesquena-hermes
cc8ef201be
Stage 387: PR #2600
2026-05-19 22:10:20 +00:00
nesquena-hermes
93727897b6
Stage 387: PR #2605
...
# Conflicts:
# api/routes.py
2026-05-19 22:10:20 +00:00
nesquena-hermes
1ddb18264e
Stage 387: PR #2604
...
# Conflicts:
# CHANGELOG.md
2026-05-19 22:08:56 +00:00
nesquena-hermes
4bb60d9b10
Stage 387: PR #2601
2026-05-19 22:08:56 +00:00
nesquena-hermes
3a404874aa
Stage 387: PR #2603
2026-05-19 22:08:56 +00:00
nesquena-hermes
c3fd395bd6
Stage 387: PR #2597
2026-05-19 22:08:56 +00:00
nesquena-hermes
e63de7c15f
Stage 387: PR #2593
...
# Conflicts:
# CHANGELOG.md
2026-05-19 22:08:56 +00:00
nesquena-hermes
536a8b7636
Stage 387: PR #2566
2026-05-19 22:08:55 +00:00
Lumen Yang
dc5c8168d1
fix(webui): refresh active session on external sidecar updates
2026-05-19 21:34:08 +00:00
Michael Lam
1ebfbf3527
fix: reconcile session metadata counts
2026-05-19 14:28:20 -07:00
starship-s
692ea22f9e
fix(streaming): finish auto-compression card after rotation
2026-05-19 14:35:11 -06:00
keyos
729ed415ff
fix(approval): peek _gateway_queues for session-level approval when _pending is empty
...
During active streaming, dangerous-command approvals go through the
gateway path and are stored in _gateway_queues as _ApprovalEntry
objects, not in _pending. The _resolve_approval_legacy helper only
looked at _pending, so 'Allow for this session' never called
approve_session() — the user clicked Allow, the card vanished, but
the next dangerous command asked again.
Now when _pending has no matching entry, the helper peeks into
_gateway_queues to extract pattern_keys, calls approve_session(),
and marks found_target=True so resolve_gateway_approval also fires.
This commit is re-scoped to peek-only (no agent_session_key round-trip,
no state_db metadata changes).
Includes:
- Import + fallback for _gateway_queues
- Null-safe key filtering in all_keys
- Source-contract test (static) + functional test with
@requires_agent_modules skip marker for CI
- All comments and docstrings in English
2026-05-19 20:24:05 +00:00
starship-s
37df7d76a4
fix(webui): prevent composer draft rollback on refresh
2026-05-19 13:31:12 -06:00
Michael Lam
5770323188
feat(runtime): add runner adapter facade
2026-05-19 12:06:57 -07:00
AJV20
ebb4dffc7d
fix: stream live tool callback events
2026-05-19 14:55:19 -04:00
Lumen Yang
8d2b9d4a16
feat(webui): render indexed context metadata
2026-05-19 18:52:50 +00:00
Dennis Soong
acd1df1112
fix: time out hung browser api requests
2026-05-20 02:41:00 +08:00
nesquena-hermes
6c0f864b10
Stage 386: PR #2587
...
# Conflicts:
# CHANGELOG.md
2026-05-19 18:20:47 +00:00
nesquena-hermes
86f52f67b8
Stage 386: PR #2581
...
# Conflicts:
# api/streaming.py
2026-05-19 18:20:47 +00:00
nesquena-hermes
0585881511
Stage 386: PR #2583
2026-05-19 18:20:07 +00:00
nesquena-hermes
7675f2f139
Stage 386: PR #2588
...
# Conflicts:
# CHANGELOG.md
2026-05-19 18:20:07 +00:00
nesquena-hermes
9a512194d5
Stage 386: PR #2582
...
# Conflicts:
# CHANGELOG.md
2026-05-19 18:20:07 +00:00
nesquena-hermes
42c2eda0fc
Stage 386: PR #2579
2026-05-19 18:20:06 +00:00
nesquena-hermes
4b72539b3c
Stage 386: PR #2576
2026-05-19 18:20:06 +00:00
nesquena-hermes
05de68f5b3
Stage 386: PR #2580
2026-05-19 18:20:06 +00:00
Michael Lam
0736e45485
fix: dedupe tool-only partial recovery markers
2026-05-19 11:16:21 -07:00
Michael Lam
bc7648271f
fix: preserve provider for configured model picker selections
2026-05-19 08:05:52 -07:00
Lumen Yang
a8d429775c
fix(webui): preserve casual chat compaction guard
2026-05-19 14:34:58 +00:00
AJV20
f93e288214
Fix stale stream recovery writeback race
2026-05-19 10:26:45 -04:00
dobby-d-elf
2a95c1e482
Fix profile-aware assistant display names
2026-05-19 07:17:11 -06:00
Michael Lam
71d8a8fb1b
fix: reap terminal shells on shutdown
2026-05-19 04:57:51 -07:00
Michael Lam
79652935d3
fix: centralize workspace tree toggle width
2026-05-19 01:49:52 -07:00
starship-s
2e9ca283dc
fix: display canonical cache hit percentage
2026-05-19 02:27:12 -06:00
Lumen Yang
6ca63e5815
perf(webui): keep external refresh metadata cheap
2026-05-19 08:02:43 +00:00
Lumen Yang
a63ab310b5
fix(webui): preserve reconciled session invariants
2026-05-19 08:02:43 +00:00
Lumen Yang
f12fef280d
fix(webui): clear stale prompts on external refresh
...
Force same-session external refreshes to dismiss stale approval and clarification prompts immediately so completed state.db updates do not leave the composer blocked.
2026-05-19 08:02:43 +00:00
Lumen Yang
467ef33a24
feat(webui): reconcile external session updates
...
When API server runs append messages directly to state.db, reconcile WebUI sidecar sessions with those canonical rows across API responses, model-facing streaming context, and active browser refresh.
Add append-only state.db merge helpers, metadata-only counts for refresh polling, and regression coverage for API visibility, context incorporation, and frontend refresh behavior.
2026-05-19 08:02:43 +00:00
dobby-d-elf
11e1e9a342
Fix settled rendering for file markdown links
2026-05-18 22:32:20 -06:00
Michael Lam
960c95cfe3
docs(runtime): define runner sidecar gate
2026-05-18 21:06:05 -07:00
nesquena-hermes
a978612b76
Update brittle-source-string assertions for widened compressed-event guard
2026-05-19 03:21:26 +00:00
nesquena-hermes
54875f2110
Stage 385: PR #2550
2026-05-19 03:13:47 +00:00
nesquena-hermes
d92e44ef5a
Stage 385: PR #2568
...
# Conflicts:
# CHANGELOG.md
2026-05-19 03:13:47 +00:00
nesquena-hermes
e9079548ab
Stage 385: PR #2567
...
# Conflicts:
# CHANGELOG.md
2026-05-19 03:13:47 +00:00
nesquena-hermes
975928ffb7
Stage 385: PR #2561
2026-05-19 03:13:46 +00:00
nesquena-hermes
ed4e7e67ce
Stage 385: PR #2563
...
# Conflicts:
# CHANGELOG.md
2026-05-19 03:13:46 +00:00