Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

[WIP] Move WebTorrent to its own process #5500

Closed
wants to merge 10 commits into from

Conversation

dcposch
Copy link
Contributor

@dcposch dcposch commented Nov 9, 2016

For now, that's the main browser process. In the future, it'll be a separate utility process. The important parts:

  • It's a single process with a single instance of WebTorrent, not one per tab
  • It has access to the Node APIs, which allow WebTorrent to talk to the millions of standard BitTorrent clients out there

Work left to do in this PR

  • Pull the WebTorrent remote API into its own module. I'll make a module called webtorrent-remote soon. This means we can re-use work we already did in WebTorrent Desktop and get a nice clean separation of concerns.
  • Security review.

Future work, won't be in this PR

  • Support WebRTC in addition to standard BitTorrent. Currently, the only good, non-flaky WebRTC implementation we have access to is Chromium's WebRTC stack, which is only available in renderer processes. Conversely, the Node APIs are only available in the browser process. (This is due to Brave's security features, different from vanilla Electron.) Ideally, WebTorrent would run in a utility process similar to a vanilla Electron renderer process: with access to both the Node APIs and WebRTC. For now, we support standard BitTorrent only, no WebRTC.

@bbondy @feross @diracdeltas @BrendanEich

@dcposch
Copy link
Contributor Author

dcposch commented Nov 9, 2016

Actually, this should probably be a PR on top of this one: #5342

I'll close it here

previously, torrent support was implemented in the brave extension
@dcposch
Copy link
Contributor Author

dcposch commented Nov 9, 2016

Replaced with this PR, with a cleaner diff:

dcposch#4

@dcposch dcposch closed this Nov 9, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants