You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tracking L1: async post-save diagnostics on chat-diff save path #1396
Tracking issue for the L1 PR (branch feat/async-save-diagnostics-l1; PR to be opened after review).
Part of the file-write safety series — plan: easonLiangWorldedtech/Zoo-Code#33, epic: #1375. Item: L1 — Async post-save diagnostics. Stacked on #1395 (S3 atomic publish); to be rebased onto main once #1395 lands.
Scope
DiffViewProvider.saveDirectly no longer blocks the save result on LSP diagnostics: the write and response resolve immediately, and post-save diagnostics become an asynchronous follow-up once settled (the existing writeDelayMs moves into that tail).
The follow-up is emitted through the existing ClineSay type error, with text of the form New problems detected after saving file: <relPath> — no new say type, and packages/types stays untouched.
diagnosticsEnabled = false (the current saveDirectly parameter) means no diagnostics at all, exactly as today.
Because diagnostics no longer run before the response, the tool-result JSON drops the problems field — the information is delivered later via the follow-up event instead.
Acceptance
Save resolves without waiting on diagnostics (post-save latency drops by the LSP-settle time); diagnostic information is still delivered, just later
Follow-up event fires with the settled diagnostic payload when new problems exist; no event on a clean save
No floating promises — the follow-up tail is explicitly handled
CI green (ubuntu unit-test gate), 100% codecov patch coverage
Status
PR: #1403 (head 13b60328c; ALL checks green incl. ubuntu+windows unit, e2e-mock, codecov/patch; CodeRabbit review complete; awaiting maintainer merge)
Activity