Skip to content

Conversation

soulomoon
Copy link
Owner

No description provided.

Renames getOptions to getOptionsWorker for clarity
Removes redundant getOptionsLoop function
Ensures session loading is called under the same `Action` context
…work, and plumb test mode

- Introduce DirectKey and newDirectKey for internal/ephemeral action keys
  - Export pattern DirectKey from graph and types modules
  - Update fromKey/fromKeyType to return Nothing for DirectKey
  - Render and Show support for DirectKey
- Ensure rule machinery rejects DirectKey (no associated rules)
  - addRule/runRule now error on DirectKey
- Use DirectKey for DeliverStatus in pumpActionThread
  - Avoids using the “root” key and enables per-action identity
- Make shakeRunDatabaseForKeysSep test-aware and filter reenqueued work
  - Add Bool isTesting parameter (propagated from ghcide newSession)
  - When not testing, filter reenqueued items that are preserved/unaffected
- Preservation API changes
  - incDatabase/incDatabase1 now return a KeySet of preserved work
  - computeToPreserve returns (unaffected, preservedSet) and uses deliver keys
- Refactor runtime deps mapping
  - Rename databaseRuntimeDep -> databaseRuntimeDepRoot
  - Track reverse deps as before; additionally record deps under root DirectKey parents
  - Update insert/delete helpers and add isRootKey predicate
- Action queue utility
  - Export countInProgress for visibility into in-progress actions

BREAKING CHANGES:
- shakeRunDatabaseForKeysSep now takes an additional Bool (isTesting)
- incDatabase/incDatabase1 return KeySet instead of [Key]
- databaseRuntimeDep renamed to databaseRuntimeDepRoot and related helpers adjusted

Call sites have been updated accordingly in ghcide.
… dependencies, always skip alive pumbAction, use retry to wait for runnings in build
…ts and comment out diagnostic check in IfaceTests
@soulomoon soulomoon force-pushed the improve-hls-runtime-keep-async-only-databse-keys-downsweep-skip-non-dirties branch from d818f85 to 8a50e87 Compare October 8, 2025 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants