Don't trigger timeout error when signal aborted elsewhere #61
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.
Currently it's not really possible to use your own signal and abort outside of the TimeoutLink, because the timeout error is still triggered even if the request was aborted outside of the TimeoutLink.
This change lets you use your own signal properly by simply ensuring that an aborted signal unsubscribes from the timeout. In addition, we only clear out any existing signal when it's one that the TimeoutLink added, so that externally provided signals aren't cleared (might use a getter for example, to continue returning a valid signal).
Also added tests for this. Confirmed working for us in our application.