mo / abortcontroller-polyfill

Polyfill for the AbortController DOM API and abortable fetch (stub that calls catch, doesn't actually abort request).
MIT License
328 stars 26 forks source link

v1.6.0 breaks controller being used with multiple requests #53

Closed tekwiz closed 3 years ago

tekwiz commented 3 years ago

When an AbortController is used with more than one request and aborted, only one of the requests is successfully aborted.

Test case: https://github.com/tekwiz/node-fetch/blob/feature/abort-controller-tests/test/main.js#L890 Test run: https://github.com/tekwiz/node-fetch/runs/1674440695?check_suite_focus=true#step:7:256

I attempted backing off the abortcontroller-polyfill package to 1.6.0, and the test still fails; however, backing off the abortcontroller-polyfill package to 1.5.0 fixes the issue.

mo commented 3 years ago

@tekwiz thanks for the bug report!

1.6.0 was a bugfix release that contained only this fix (i.e. this is likely the source of the regression): https://github.com/mo/abortcontroller-polyfill/commit/b134e5504bf74593a436b62987bbd86e9e57a5f3

I wrote a new abortcontroller-polyfill testcase to attempt to reproduce the error but my testcase passes with 1.7.0 so I must be missing something: https://github.com/mo/abortcontroller-polyfill/commit/ff704e2bfcae1e214addb609cfb8ebf576b67a4f

I will see if I can have another look tomorrow.

mo commented 3 years ago

@tekwiz v1.7.1 has been released now with a fix for this bug.

tekwiz commented 3 years ago

Thank you! The fix works well