Skip to content

fix(deep-review): subagent ignore-timeout, session recovery, UI polish & frontend reviewer generalization#556

Merged
limityan merged 4 commits intoGCWing:mainfrom
limityan:yanzhn/deepreview
Apr 27, 2026
Merged

fix(deep-review): subagent ignore-timeout, session recovery, UI polish & frontend reviewer generalization#556
limityan merged 4 commits intoGCWing:mainfrom
limityan:yanzhn/deepreview

Conversation

@limityan
Copy link
Copy Markdown
Collaborator

1. fix(deep-review): make subagent ignore-timeout work correctly

  • Propagate timeout_seconds through backend events and frontend tool state
  • Emit DialogTurnStarted with subagent_parent_info so frontend can link subagent sessions to parent tools

2. fix(web-ui): reset session state to idle after send message failure

  • Transition to RESET after ERROR_OCCURRED to prevent stuck sessions
  • Add ERROR_OCCURRED and RESET to state transition logging whitelist

3. style(chat-input): relax collapsed input capsule sizing

  • Height 42px48px, max-width 300pxmin(380px, 80%)
  • Line-height 24px28px, border-radius 21px24px

4. refactor(core): generalize frontend reviewer description beyond React

  • Replace React-specific terms with generic frontend framework language
  • Add ReviewFrontend to CORE_REVIEWER_AGENT_TYPES, update budget tracker test
  • Update i18n strings for en-US, zh-CN, zh-TW

Replace React-specific references in the Frontend Reviewer agent
description and deep-review prompts with generic frontend framework
terminology (e.g., memoization, virtualization, effect/reactivity
dependencies) so the reviewer is not limited to React codebases.

- review_specialist_agents.rs: update FrontendReviewerAgent description
- deep_review_agent.md: update ReviewFrontend normal/deep strategy prompts

Generated with BitFun

Co-Authored-By: BitFun
- Increase collapsed capsule height from 42px to 48px
- Increase capsule max-width from fixed 300px to min(380px, 80%)
  so it breathes better on wide panels while adapting to narrow ones
- Sync internal input line-height and min/max-height from 24px to 28px
- Adjust border-radius from 21px to 24px to match new height
When sending a message fails while the session is still busy (e.g.
PROCESSING state), the state was transitioned to ERROR but never reset
to IDLE. This caused the session to appear stuck in an error state:
- Subsequent DialogTurnCompleted events were ignored
- BACKEND_STREAM_COMPLETED and FINISHING_SETTLED transitions were skipped
- The UI showed a persistent 'stoppable' indicator even though the session
  had already finished

Also add ERROR_OCCURRED and RESET to the state transition logging whitelist
for better debuggability.

Generated with BitFun

Co-Authored-By: BitFun
@limityan limityan merged commit 337c370 into GCWing:main Apr 27, 2026
4 checks passed
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.

1 participant