Commit Graph

848 Commits

Author SHA1 Message Date
Feross Aboukhadijeh
0b82c83d44 style: remove extraneous parameters 2016-05-12 17:09:10 -07:00
Feross Aboukhadijeh
602654cc1d Merge pull request #494 from feross/perf
Improve app startup time by ~350ms
2016-05-12 17:06:23 -07:00
Feross Aboukhadijeh
350bed53a3 Perf: Send 'ipcReady' before all requires (300ms improvement!)
This improves the time to the main window showing by 300ms on my
Macbook 12"!

Before: ~800ms
After: ~500ms
2016-05-12 17:00:34 -07:00
Feross Aboukhadijeh
840754fb59 Perf: Lazy load srt-to-vtt and languagedetect 2016-05-12 17:00:34 -07:00
Feross Aboukhadijeh
ed46583226 Perf: Send 'ipcReady' as soon as possible
This slightly improves app startup time
2016-05-12 17:00:34 -07:00
Feross Aboukhadijeh
93252d430e Delay calling tray.init() and handlers.init() 2016-05-12 17:00:34 -07:00
Feross Aboukhadijeh
bfd09a058e Small style tweaks 2016-05-12 17:00:34 -07:00
Feross Aboukhadijeh
b1a7543d37 Perf: Use electron.* getter inline, rather than upfront 2016-05-12 17:00:34 -07:00
Feross Aboukhadijeh
39195fe8c4 Rename auto-updater.js -> updater.js
To remove confusion between Electron autoUpdater and our autoUpdater
module.
2016-05-12 16:58:18 -07:00
Feross Aboukhadijeh
ea1c66b3fc Reduce delayedInit to 3 seconds 2016-05-12 16:58:18 -07:00
Feross Aboukhadijeh
f35eb73d50 Refactor auto-updater.js for lazy loading
By removing the upfront electron.autoUpdater, we can delay loading it
until init() is called.
2016-05-12 16:58:18 -07:00
Feross Aboukhadijeh
c99af4718e Perf: Inline electron.* usage
Apparently, electron.* is actually a getter, so whenever a component of
electron is referenced for the first time, it's require()'d. So, there
are theoretical performance benefits to not declaring all electron.*
upfront.

Instead of:

var autoUpdater = electron.autoUpdater

Just use electron.autoUpdater directly when needed.
2016-05-12 16:58:18 -07:00
Feross Aboukhadijeh
dbef07e334 Merge pull request #492 from feross/accelerator
Shortcuts improvements
2016-05-12 16:57:48 -07:00
Feross Aboukhadijeh
969ad64c47 Merge pull request #493 from feross/fix-screen
Remove require('screen')
2016-05-12 16:57:42 -07:00
Feross Aboukhadijeh
5dd5e8661b Remove require('screen')
This is deprecated usage and was just removed in Electron v1.
2016-05-12 16:57:09 -07:00
Feross Aboukhadijeh
5c9265fc99 Move Escape keyboard shortcut to shortcuts.js 2016-05-12 16:52:13 -07:00
Feross Aboukhadijeh
1deab08d38 Playback menu: Add "Play/Pause" item
The goal here is to remove shortcut handling from the renderer and
unify it all in menu.js and shortcuts.ks (for alternate shortcuts).

I would rather name it "Play" and change to "Pause" when video is
playing, but Electron doesn't support this (yet).
2016-05-12 16:52:13 -07:00
Feross Aboukhadijeh
3d6da99e8e Bug: Space key triggers power save block from torrent list
Hitting Space from the torrent list should not cause power save to be
blocked.
2016-05-12 16:52:13 -07:00
Feross Aboukhadijeh
2005ee4d0b shortcuts.js: Consistent exported method naming
Exposed methods whose sole purpose is notify the module of an event
firing, should start with "on".
2016-05-12 16:52:13 -07:00
Feross Aboukhadijeh
c99da2ccaa Remove Window menu on Linux and Windows
The Window menu is apparently an OS X only convention. I couldn't find
a single app on Windows or Linux that had this menu or even a
"minimize" menu item.
2016-05-12 16:52:13 -07:00
Feross Aboukhadijeh
4bffb6634c Add Playback menu for playback-related functionality 2016-05-12 16:52:13 -07:00
Feross Aboukhadijeh
504aca747d main/menu.js: minor refactor
Just some code cleanup to make menu.js more internally consistent.

- Name the electron.dialog returned value `selectedPaths` which is more
accurate.

- Move the file menu into the `template` object, like the rest of the
menus. Then reach in afterwards for OS-specific tweaks.
2016-05-12 16:52:13 -07:00
Feross Aboukhadijeh
2085312c34 Merge pull request #490 from feross/smaller-ui
UI tweaks: Reduce font size, list item height, single torrent status line
2016-05-12 16:51:20 -07:00
Feross Aboukhadijeh
744d38259e Put peers before speeds, to reduce bouncing
When speed goes to zero, it disappears, which looks weird when it's not
the last item on the status line.
2016-05-12 16:50:58 -07:00
Feross Aboukhadijeh
868739445a Merge pull request #489 from feross/fix-add-duplicate
Fix duplicate torrent handling
2016-05-12 16:47:48 -07:00
Feross Aboukhadijeh
98d8a798ce Merge pull request #488 from feross/electron-1
electron-prebuilt@1.0.1
2016-05-12 15:32:53 -07:00
Feross Aboukhadijeh
fe31cfaa3e electron-prebuilt@1.0.1 2016-05-12 15:22:39 -07:00
Feross Aboukhadijeh
17d5490448 Merge pull request #487 from furstenheim/master
Avoid TypeError out of OS X
2016-05-12 14:49:37 -07:00
gabriel
d4c415d585 Avoid TypeError out of OS X 2016-05-12 20:09:20 +02:00
Feross Aboukhadijeh
252443a529 UX: Improve torrent status line
The goal of this commit is to merge the two torrent status lines onto a
single, concise line which has high signal and information density.

- Hide download speed, upload speed, and number of peers when 0,
because that's just noise.
- Remove number of files, because that information can be found by
expanding the torrent.

This also allowed the further reduction of the torrent item height from
110px to 100px.
2016-05-11 21:29:46 +02:00
Feross Aboukhadijeh
86f5a1a54e Default window height shows all torrents 2016-05-11 21:26:18 +02:00
Feross Aboukhadijeh
0b1872fa28 UI: Reduce font size, list item height
- Reduce torrent list item from 120px to 110px height
- Vertically center torrent list buttons
- Reduce font sizes (torrent list, modal labels)
2016-05-11 20:49:41 +02:00
Feross Aboukhadijeh
9eeb8133af Fix duplicate torrent handling
WebTorrent 0.91 changed how duplicate torrents are handled, which broke
handling in WebTorrent Desktop.

After this PR:

- No more try-catch on client.add -- this has never thrown errors.

- No check for duplicate torrent.key value since client.add no longer
returns the same torrent object when adding a duplicate torrent. It
emits 'error' instead, and that case is already handled :)
2016-05-11 18:36:20 +02:00
Feross Aboukhadijeh
1eb5504029 move console.time/timeEnd to same file 2016-05-11 17:56:20 +02:00
Feross Aboukhadijeh
dfe8c3eb6b remove unneeded console.log 2016-05-11 17:52:18 +02:00
DC
2b8c1fe709 Fix incorrect path when for single-file torrents
Fixes #457
2016-05-10 22:54:14 -07:00
DC
905cc527d0 Add ogv as a video type 2016-05-10 22:31:24 -07:00
Feross Aboukhadijeh
95019453fd Clearer build output 2016-05-09 19:20:14 +02:00
Feross Aboukhadijeh
e46a7f42df Merge pull request #476 from feross/webtorrent-version
About WebTorrent: Show `webtorrent` library version
2016-05-09 18:31:40 +02:00
Feross Aboukhadijeh
15a59f445b About WebTorrent: Remove git hash from build version 2016-05-09 18:29:22 +02:00
Feross Aboukhadijeh
dea951fc42 About WebTorrent: Show webtorrent library version
Closes #475
2016-05-09 18:21:52 +02:00
Feross Aboukhadijeh
347eb2c7f0 Merge pull request #474 from feross/application-config
application-config@^0.2.1
2016-05-09 17:55:23 +02:00
Feross Aboukhadijeh
4221883eb4 application-config@^0.2.1
My fixes were merged upstream -- no need to depend on my fork anymore.
2016-05-09 17:18:53 +02:00
Feross Aboukhadijeh
27f729250f Merge pull request #473 from feross/npm-run-open-config
add `npm run open-config` to open config file quickly
2016-05-09 17:17:29 +02:00
Feross Aboukhadijeh
452bbb60c4 use path.join 2016-05-09 17:12:17 +02:00
Feross Aboukhadijeh
9d4aeaedd3 add npm run open-config to get to config file quickly 2016-05-09 17:10:51 +02:00
Feross Aboukhadijeh
558b6c1648 add new package.json keywords 2016-05-09 17:10:35 +02:00
Feross Aboukhadijeh
98e263e69a Remove path-exists
This package trivially wraps core node.js functionality. Let's do
without it.
2016-05-09 16:59:57 +02:00
Feross Aboukhadijeh
18b126e0d2 Remove unnecessary IPC 2016-05-09 16:14:46 +02:00
Feross Aboukhadijeh
82dff65572 Merge pull request #465 from furstenheim/master
Allow to torrent a single file
2016-05-09 16:00:36 +02:00