Skip to content

Bump Salsa revision manually for non-Salsa updates - #1315

Merged
lionel- merged 2 commits into
oak/analysis-dbfrom
oak/manual-revision-bump
Jul 28, 2026
Merged

Bump Salsa revision manually for non-Salsa updates#1315
lionel- merged 2 commits into
oak/analysis-dbfrom
oak/manual-revision-bump

Conversation

@lionel-

@lionel- lionel- commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Branched from #1314
Part of #1212

Removes a FIXME that I left for non-Salsa inputs, like console inputs and diagnostics config. These updates manually triggered diagnostics out-of-band, which had the issue that ongoing diagnostics did not get cancelled by a Salsa bump. The concurrent diagnostics could publish out of order, resulting in stale results.

It's actually easy to bump the revision manually, which both cancels in flight diagnostics and ensures ordering. That's because the synthetic write:

  • Causes Salsa to trigger cancellation and park the caller until all readers are dropped
  • Refreshes diagnostics automatically via the revision check at the end of the main loop.

@lionel-
lionel- requested a review from DavisVaughan July 3, 2026 13:54
Comment thread crates/ark/src/lsp/main_loop.rs Outdated
Comment thread crates/ark/src/lsp/state_handlers.rs
Comment thread crates/ark/src/lsp/state_handlers.rs
@lionel-
lionel- force-pushed the oak/manual-revision-bump branch from 42345f1 to beaac2f Compare July 28, 2026 13:31
@lionel-
lionel- force-pushed the oak/manual-revision-bump branch from beaac2f to c77e0ea Compare July 28, 2026 14:42
@lionel-
lionel- merged commit 37d3db0 into main Jul 28, 2026
17 checks passed
@lionel-
lionel- deleted the oak/manual-revision-bump branch July 28, 2026 14:59
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants