qwen-code/docs/plans
Shaojin Wen d61b0ea475
perf(web-shell): paint the composer git chip before git status completes (#7680)
* perf(web-shell): paint the composer git chip before git status completes

New sessions gated the chip on a full `git status --porcelain` subprocess
behind GET /workspaces/:ws/git, so the branch chip appeared hundreds of
milliseconds (worst case seconds) after the composer was ready.

The daemon now keeps a per-workspace last-known summary with in-flight
dedup and a 2s background-refresh throttle: the default GET returns the
cached status (branch-only on a cold start) immediately and recomputes in
the background, publishing git_status_changed over SSE only on a delta,
while ?wait=1 keeps the previous blocking semantics. The composer fetches
both paths concurrently — the fresh GET also covers the no-session state,
which has no per-session SSE stream — so the branch paints in ~3ms and
the counters land when the computation finishes. The sidebar keeps
wait:true since it has no SSE fill-in path.

* fix(web-shell): add exhaustiveness guard and worktree git-status test (#7680)

* fix(web-shell): add exhaustiveness guard and worktree git-status test (#7680)

* fix(web-shell): add exhaustiveness guard and worktree git-status test (#7680)

* fix(cli): use writeStderrLineSafe in git-status refresh error path (#7680)

* fix(web-shell): add debug trail to fresh-path catch and test branch-watcher dispose guard (#7680)

* fix(cli): assert writeStderrLineSafe in git-status refresh failure test (#7680)

---------

Co-authored-by: Qwen Code Bot <qwen-code-bot@users.noreply.github.com>
Co-authored-by: qwen-code-ci-bot <qwen-code-ci-bot@users.noreply.github.com>
2026-07-25 07:05:52 +00:00
..
2025-06-03-stats-dashboard-redesign.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-03-22-agent-tool-display-design.md feat(vscode-ide-companion): add agent execution tool display (#2590) 2026-04-18 23:39:26 +08:00
2026-05-14-auto-compaction-threshold-redesign.md feat(core)!: redesign auto-compaction thresholds with three-tier ladder (#4345) 2026-05-25 21:11:08 +08:00
2026-05-15-worktree-phase-c.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-05-18-qwen-runtime-memory-investigation.md fix(core): replace structuredClone with shallow copy to prevent OOM in long sessions (#4286) 2026-05-21 10:28:59 +08:00
2026-05-26-daemon-logger.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-05-27-daemon-workspace-service.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-05-28-computer-use-built-in.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-06-30-channel-loop.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-07-01-channel-lifecycle-status-adapters.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-07-01-channel-lifecycle-status-umbrella.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-07-01-channel-p0-identity-task-lifecycle.md docs: consolidate design docs and plans under docs/ (#6417) 2026-07-07 06:05:05 +00:00
2026-07-01-extension-runtime-refresh-implementation.md refactor(core): centralize extension runtime refresh (#6152) 2026-07-05 07:47:48 +00:00
2026-07-10-pr-6635-remaining-comments.md feat(cli): group daemon channel workers by workspace (phase 4b) (#6635) 2026-07-11 13:08:02 +00:00
2026-07-10-pr-6635-review-followups.md feat(cli): group daemon channel workers by workspace (phase 4b) (#6635) 2026-07-11 13:08:02 +00:00
2026-07-10-workspace-qualified-acp-hardening.md feat(cli): workspace-qualified ACP transport (daemon multi-workspace phase 4) (#6621) 2026-07-11 00:24:01 +00:00
2026-07-11-managed-memory-microcompaction.md fix(core): preserve managed memory during microcompaction (#6714) 2026-07-11 15:58:54 +00:00
2026-07-14-dingtalk-webhook-direct-message.md feat(channels): support DingTalk webhook delivery to direct messages (#6891) 2026-07-15 03:07:30 +00:00
2026-07-16-default-background-subagents.md feat(core): improve subagent delegation defaults and guardrails (#7048) 2026-07-18 08:52:48 +00:00
2026-07-16-webshell-git-integration.md feat(web-shell): git status chip, visual working-tree diff, and sidebar git status (#7054) 2026-07-18 10:06:07 +00:00
2026-07-17-observed-channel-delivery-targets.md feat(channels): expose workspace-scoped observed contacts (#7109) 2026-07-18 07:35:45 +00:00
2026-07-18-observed-channel-group-names.md feat(channels): observe group names from inbound messages (#7155) 2026-07-18 09:26:12 +00:00
2026-07-21-channel-delivery-review-fixes.md feat(daemon): add explicit channel delivery (#7388) 2026-07-23 17:44:23 +00:00
2026-07-22-channel-delivery-final-only.md feat(daemon): add explicit channel delivery (#7388) 2026-07-23 17:44:23 +00:00
2026-07-24-webshell-git-status-fast-path.md perf(web-shell): paint the composer git chip before git status completes (#7680) 2026-07-25 07:05:52 +00:00
extension-management-v2.md feat(serve): add extension management v2 (#6825) 2026-07-14 03:30:47 +00:00
final-tool-response-budget-implementation.md fix(core): Enforce final tool response budgets (#7323) 2026-07-21 16:09:46 +00:00
memory-diagnostics-reference-design.md feat(cli): add structured memory diagnostics JSON (#3785) 2026-05-17 19:52:46 +08:00