# Fix stale diagnostic error markers in file tree \(\#49333\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/45ca651f43f5d295790ee3bc241bdd0d87567e1e)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 45ca651f43f5d295790ee3bc241bdd0d87567e1e

Requested commit: 45ca651f43f5d295790ee3bc241bdd0d87567e1e

Commit: 45ca651f43f5d295790ee3bc241bdd0d87567e1e

Tree: dd99640a01116d1f3759695052aa46e8fe9a7dcb

Author: Arthur Jean

Committer: GitHub

## Message

```
Fix stale diagnostic error markers in file tree (#49333)

## Summary

Fixes #48289
Closes https://github.com/zed-industries/zed/issues/52021

Diagnostic error markers (red/yellow dots) in the project panel file
tree persisted after errors were resolved. Three root causes:

- **WorktreeUpdatedEntries ignored** — when files changed on disk (e.g.
`yarn install`), stale diagnostic summaries were never cleared. Added
`invalidate_diagnostic_summaries_for_updated_entries()` to clear
summaries for `Removed`/`Updated`/`AddedOrUpdated` paths.
- **Missing DiagnosticsUpdated emission on server stop** —
`stop_local_language_server()` cleared summaries and sent proto messages
but never emitted `LspStoreEvent::DiagnosticsUpdated`, so the project
panel never refreshed.
- **Buffer reload not handled** — reloading a buffer from disk did not
clear stale summaries. Added `BufferEvent::Reloaded` handler.

All three paths also send zeroed `UpdateDiagnosticSummary` proto
messages to downstream collab clients.

## Test plan

- [x] `./script/clippy` passes
- [x] `cargo test -p project -p project_panel -p worktree` passes (319
tests, 0 failures)
- [x] 4 new tests added:
  - `test_diagnostic_summaries_cleared_on_worktree_entry_removal`
  - `test_diagnostic_summaries_cleared_on_worktree_entry_update`
  - `test_diagnostic_summaries_cleared_on_server_restart`
  - `test_diagnostic_summaries_cleared_on_buffer_reload`
- [x] Manual testing: error markers clear when files change on disk
- [x] Manual testing: error markers clear on LSP restart

Release Notes:

- Fixed stale diagnostic data persisting after file reloads, server
restarts and FS entry removals
```

## Parents

- [62cea4e6b03336b4bb974b0268fe94f643bc8c62](https://git.cafe/gitcafe/zed/commit/62cea4e6b03336b4bb974b0268fe94f643bc8c62?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/45ca651f43f5d295790ee3bc241bdd0d87567e1e?format=markdown)
