Summary
removeRequest in lib/detached-processes/cleanup-process.ts uses a self-comparison in its existence check:
- The predicate compares currentRequestInfo with itself, so it evaluates to true whenever the request queue is non-empty.
- The subsequent _.remove call already correctly compares each queued request against the supplied requestInfo.
As a result, removing a request that was never queued can log that it was removed when there are other queued requests. The request list itself is not incorrectly modified; the impact is limited to the success-versus-absent-request log branch.
Required change
Update the removeRequest existence predicate to compare currentRequestInfo with the incoming requestInfo, matching the predicate used by _.remove.
Affected area
- lib/detached-processes/cleanup-process.ts — removeRequest
Acceptance criteria
- removeRequest selects the successful-removal branch only when an equal queued request exists.
- Removing an absent request logs the existing “cannot remove … has not been added before” message.
- Removing an existing request continues to remove it and log the existing successful-removal message.
Context
Reactions are currently unavailable
Summary
removeRequest in lib/detached-processes/cleanup-process.ts uses a self-comparison in its existence check:
As a result, removing a request that was never queued can log that it was removed when there are other queued requests. The request list itself is not incorrectly modified; the impact is limited to the success-versus-absent-request log branch.
Required change
Update the removeRequest existence predicate to compare currentRequestInfo with the incoming requestInfo, matching the predicate used by _.remove.
Affected area
Acceptance criteria
Context