Comments (3)
@lacker What environment are you running this in? It looks like setTimeout()
is returning undefined
for you, which should not happen. This is the full code:
this._timeout = setTimeout(() => this._onTimeout(), this._timeoutMs)
if (this._timeoutUnref && this._timeout.unref) this._timeout.unref()
from bittorrent-protocol.
Ah, I should have updated this issue. I tracked it down, it's from within a unit test that uses jest, which in turn uses jsdom for its "window" object, during the cleanup phase. The jsdom window setTimeout()
returns undefined
after the window has been closed, which I believe is incorrect behavior, and I reported this against jsdom here:
It would be handy just to make webtorrent work within test environments if this code also checked that this._timeout
was defined before calling this._timeout.unref()
. This does seem to be a bug within jsdom rather than a bug within webtorrent per se, but it seems low-priority for jsdom folks.
from bittorrent-protocol.
Thanks for following up, @lacker. We use setTimeout
all over the codebase. I'd rather not scatter a hack across the codebase to solve a bug in jsdom
. I know this probably isn't what you wanted to hear, but I don't think WebTorrent is the right place to fix this.
from bittorrent-protocol.
Related Issues (20)
- Notification when wire closes. HOT 1
- Error: Package subpath './index.js' is not defined by "exports"
- Getting odd error. HOT 2
- How do _parseHandshake, _write, _onmessage and _onmessagelength work? HOT 3
- How the contract works? HOT 2
- please remove
- Action required: Greenkeeper could not be activated 🚨
- An in-range update of readable-stream is breaking the build 🚨 HOT 1
- An in-range update of standard is breaking the build 🚨 HOT 1
- Reset unchoked/interested state on 'end' HOT 2
- An in-range update of tape is breaking the build 🚨 HOT 1
- An in-range update of readable-stream is breaking the build 🚨 HOT 2
- An in-range update of standard is breaking the build 🚨 HOT 1
- npm install fails HOT 5
- Switch from Tape to Jest HOT 1
- Dependency Dashboard
- use `buffer-xor/inplace.js` instead of default `buffer-xor` HOT 2
- Emit the wire's peerId on close HOT 5
- Handshake/extended API issue HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bittorrent-protocol.