Commit Graph

12 Commits

Author SHA1 Message Date
Feross Aboukhadijeh
a08d576851 startup perf: Reduce require() calls
Every require() that we do before the users sees UI reduces startup
time.

I used the following code (added to index.js) to log every require()
call in the main process:

```js
var Module = require('module')
var required = {}
Module.prototype.require = function (orig) {
  return function (id) {
    if (!required[id]) {
      required[id] = true
      console.log(`${id}   (from ${this.filename})`)
    }
    return orig.apply(this, arguments)
  }
}(Module.prototype.require)
```

From this I was able to learn that lots of modules were being required
that aren't actually used until later.

I also sent this related PR to eliminate another few require()s:
https://github.com/LinusU/node-application-config/pull/4

This increases startup time by 50ms.

We'll probably realize much bigger gains by following this same
procedure for the renderer process.
2016-09-22 16:33:26 -07:00
Adam Gotlib
d88229694a Disable playback controls while in external player (#909) 2016-09-07 13:13:50 -07:00
DC
3f6cc97a02 Style: no more var 2016-09-01 19:52:37 -07:00
Adam Gotlib
30732305ff Add playlists feature (#871)
* Open multi-file torrents as playlists

* Add `repeat` and `shuffle` options to the player

* Autoplay first file in torrent

* replaces `pickFileToPlay` feature
* when reopening player, restores the most recently viewed file

* Add playlist navigation buttons to Windows thumbar

* Remove `repeat` and `shuffle` options

This reverts commit 9284122461.

* Play files in order they appear in torrent

* Clean up playlists code
2016-09-01 19:18:48 -07:00
Feross Aboukhadijeh
b08d273996 Fixes for PR #817
See
https://github.com/feross/webtorrent-desktop/pull/817#discussion-diff-75
968122
2016-08-23 16:14:22 -07:00
Benjamin Tan
451d457426 Fix error with menus. 2016-08-23 22:42:05 +08:00
DC
4d48b9e7c1 Fix screen stacking bug
You can no longer open a whole stack of Prefs windows, or Create Torrent windows

Simplifies and fixes behavior when dropping files onto the app or the dock icon. Before, you could use drag-drop to create stacks of Create Torrent windows. Now, you can only create torrents from the home screen.

Fixes #665
2016-08-12 09:03:32 -07:00
Feross Aboukhadijeh
febad56497 OS X -> Mac 2016-07-26 21:55:05 -07:00
Feross Aboukhadijeh
1b3b6fef10 Electron: Use 'quit' role 2016-07-25 15:30:02 -07:00
Feross Aboukhadijeh
6e1ff18eb9 macOS: add missing Edit menu roles 2016-07-25 15:29:53 -07:00
Feross Aboukhadijeh
5796ba32a6 Electron: Use default labels and accelerators
Less code for us to maintain.

This also gives us free internationalization in a future Electron
version (they'll set the label dynamically based on the 'role')

One slight regression with this change, but it will be fixed in a
future Electron once this PR is merged:
https://github.com/electron/electron/pull/6600
2016-07-25 15:21:46 -07:00
DC
2a1e987d42 Switch from virtualdom to React 2016-07-22 13:06:55 -07:00