fix: effectRunner not cleaning up AbortSignals (#3402) #3412
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the Change
This PR adds logic to unsubscribe the event handler on the AbortSignals used in the EffectRunner to allow them and the effect context to be garbage collected.
Applicable Issues
#3402
Testing
I've ensured that effects still run as expected after the changes in the effect runner
I've done manual stress-testing for this issue by repeatedly triggering the effect runner, which has shown a significant decrease in memory usage buildup.
Additionally, I've deployed a test build to two streamers' bots that normally crash within 72 hours and observed the same decrease in memory usage and buildup in a real usage scenario.