chengyongru and GitHub
3a62b0b744
fix(tui): surface chat connection failures ( #5543 )
...
* fix(tui): surface chat connection failures
* fix(tui): keep connection copy implementation-agnostic
* test(tui): avoid millisecond timing boundary
* fix(tui): use gateway health for connection status
* fix(tui): use product-level readiness copy
2026-08-27 11:37:30 +08:00
chengyongru and chengyongru
55f85b3c1f
refactor(agent): remove duplicate progress streaming path
2026-08-27 10:56:07 +08:00
Xubin Ren
2113870e27
fix(cli): foreground the WebUI browser
2026-08-27 10:45:40 +08:00
Xubin Ren
b632186b5f
perf(webui): smooth paged history scrolling
2026-08-27 10:45:40 +08:00
Xubin Ren
d7d03b25ef
fix(webui): preserve semantic history anchors
2026-08-27 10:45:40 +08:00
Xubin Ren
6a3f53a917
fix(webui): stabilize fast history scrolling
2026-08-27 10:45:40 +08:00
Xubin Ren
25e20a1458
feat(webui): link model picker to settings
2026-08-27 10:45:40 +08:00
Xubin Ren
5678f83290
fix(webui): tighten conversation top spacing
2026-08-27 10:45:40 +08:00
Xubin Ren
cb7b640d36
fix(webui): soften composer scroll boundary
2026-08-27 10:45:40 +08:00
Xubin Ren
701926eba1
fix(webui): preserve file edit activity order
2026-08-27 10:45:40 +08:00
Xubin Ren
bbbfacbc64
fix(webui): compact single-pane chat header
2026-08-27 10:45:40 +08:00
chengyongru and GitHub
d8b4f612f2
fix(gateway): recover degraded WebSocket listener ( #5544 )
...
* fix(gateway): recover degraded WebSocket listener
* test(websocket): model listener readiness in startup stub
* fix(tui): keep launcher alive during gateway recovery
* test(websocket): colocate listener lifecycle coverage
2026-08-27 10:23:35 +08:00
chengyongru and GitHub
f9d449ef6c
refactor(webui): isolate websocket application orchestration ( #5548 )
...
* refactor(webui): extract session attach projection
* refactor(webui): isolate websocket application orchestration
* refactor(webui): tighten websocket application boundary
* test(webui): assert module logger for fork failures
2026-08-26 18:04:38 +08:00
chengyongru and chengyongru
a618e80887
refactor(agent): reduce loop runner parameter plumbing
2026-08-26 17:50:52 +08:00
chengyongru and chengyongru
c62aec0175
fix(session): reject read_session match-all patterns
2026-08-26 16:58:29 +08:00
bingqilinweimaotai and chengyongru
23dc344b8d
fix: allow unfiltered read_session calls
2026-08-26 16:58:29 +08:00
chengyongru and chengyongru
56aa7296f3
refactor(agent): make checkpoint recovery ownership explicit
2026-08-26 16:33:59 +08:00
qtds and chengyongru
9f5a56f1ec
fix(gitstore): detect rapid same-size rewrites
2026-08-26 16:19:10 +08:00
chengyongru and GitHub
9d34fc5af2
refactor(agent): remove loop iteration state ( #5549 )
...
* refactor(agent): remove loop iteration state
* docs(my): remove stale iteration guidance
2026-08-26 15:57:47 +08:00
chengyongru and GitHub
4f6c0aedfa
refactor(agent): make run usage explicit ( #5546 )
...
* refactor(agent): make run usage explicit
* fix(api): capture usage per run
2026-08-26 15:18:53 +08:00
chengyongru and GitHub
0c84725b13
fix(gateway): retry MCP readiness before turns ( #5535 )
2026-08-26 11:29:48 +08:00
zpljd258 and chengyongru
a8ffe0f136
fix(webui): project generated titles onto per-chat sessions under unifiedSession
...
With unifiedSession enabled, all turns are routed to the shared
unified:default session, so title generation, persistence, and change
notifications all happen on that shared session. The WebUI sidebar,
however, renders per-chat websocket:<id> sessions, so generated titles
never reach the session the user sees and every chat stays "Untitled".
Pass the origin chat_id through maybe_generate_webui_title_after_turn and
add a target_session_key to maybe_generate_webui_title so the title is
written to the per-chat session while conversation content still comes
from the shared (routed) session. When the routed session differs from
the per-chat session, the latest user/assistant exchange is used as the
title prompt since the shared session mixes content from every channel.
The shared session's title metadata is no longer read or written, so
stale shared titles can no longer leak into per-chat sessions.
2026-08-26 10:52:56 +08:00
chengyongru and GitHub
42f37dc4c0
fix(provider): stabilize Codex prompt cache routing ( #5540 )
2026-08-26 01:36:00 +08:00
chengyongru and GitHub
3ee3791626
refactor(tui): clarify active composer actions ( #5538 )
...
* fix(tui): queue busy submissions on Enter
* fix(tui): remove Tab queue shortcut
* refactor(tui): clarify active composer actions
* refactor(tui): simplify active composer hint
2026-08-26 00:46:31 +08:00
chengyongru and chengyongru
c83ed041ea
fix(tui): prevent unmatched skill completion from queuing
2026-08-25 23:11:24 +08:00
chengyongru and chengyongru
b218d3e7f8
feat(tui): autocomplete skill references
2026-08-25 23:11:24 +08:00
chengyongru and chengyongru
649e3958c5
fix(tools): bound find_files scans
2026-08-25 18:40:49 +08:00
chengyongru and chengyongru
e308f7fdd4
test(agent): remove obsolete blocking drain case
2026-08-25 17:56:16 +08:00
chengyongru and chengyongru
66d9328a00
fix(agent): defer subagent wait until turn exit
2026-08-25 17:56:16 +08:00
Kail Tian and chengyongru
e427c9eeae
style(tui): keep short transcripts and composer top-aligned
2026-08-25 16:21:44 +08:00
chengyongru and GitHub
4b2965c8f3
feat: add demand-driven document retrieval ( #5525 )
2026-08-25 15:34:48 +08:00
chengyongru and GitHub
5cf78540a4
fix(agent): wait for exec sessions without polling ( #5526 )
2026-08-25 14:46:02 +08:00
chengyongru and chengyongru
e723ea6b7e
docs(config): mark failOnToolError deprecated
2026-08-25 11:54:40 +08:00
chengyongru and chengyongru
8332c604da
fix(agent): let subagents recover from tool errors
2026-08-25 11:54:40 +08:00
chengyongru and chengyongru
2e7ebeb1ca
fix(usage): record provider stream timing
2026-08-25 10:39:14 +08:00
Xubin Ren
7fb0811fbb
fix(agent): honor selected project workspace
2026-08-25 02:14:02 +08:00
chengyongru and chengyongru
2ac802b2d5
feat(usage): add unified provider usage backend
2026-08-25 01:22:25 +08:00
chengyongru and chengyongru
8bb3828487
fix(tui): preserve usage telemetry fields
2026-08-25 01:04:25 +08:00
chengyongru and chengyongru
9895c23cb5
refactor(providers): define typed usage contract
2026-08-25 01:04:25 +08:00
chengyongru and chengyongru
89c94d8744
test(exec): remove Windows process timing races
2026-08-25 00:53:54 +08:00
chrischen-coder and chengyongru
f5e467626d
fix(agent): time out no-tools model requests
2026-08-25 00:34:01 +08:00
chengyongru and GitHub
04974b7607
fix(webui): preserve causal message order (NAN-29) ( #5503 )
2026-08-24 15:08:22 +08:00
chengyongru and GitHub
7f288a49fc
fix(tui): preserve shell after Ctrl+C ( #5502 )
2026-08-24 14:32:48 +08:00
chengyongru and chengyongru
09d3bd76c9
fix(exec): disable command guard in full access
2026-08-24 11:44:00 +08:00
chengyongru and chengyongru
b1cadf53c5
fix(codex): reuse TLS contexts across requests
2026-08-24 11:25:02 +08:00
Xubin Ren
baa0233377
fix(tui): preserve draft scope until first message
2026-08-24 10:40:16 +08:00
Xubin Ren
d50a2fab32
fix(tui): avoid saving empty sessions
2026-08-24 10:40:16 +08:00
Xubin Ren
8344066696
style(tui): frame recovery decisions
2026-08-24 00:58:04 +08:00
Xubin Ren
5accc903a0
refactor(tui): simplify session rows
2026-08-24 00:58:04 +08:00
Xubin Ren
1f0771c555
feat(tui): refine session status navigation
2026-08-24 00:58:04 +08:00