Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d80d8ef1f5 | ||
|
|
d49a8e772f | ||
|
|
1947a03e94 | ||
|
|
bc6ae4523f | ||
|
|
442ac9184f | ||
|
|
824f4ce3cf | ||
|
|
cc324024ba | ||
|
|
0921f89eb7 | ||
|
|
628c93bc1e | ||
|
|
25109a7ebb | ||
|
|
e6963d0307 | ||
|
|
9a2f16b29a | ||
|
|
6a17aa7c76 |
9
.github/ISSUE_TEMPLATE.md
vendored
Normal file
9
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
**What version of WebTorrent Desktop?**
|
||||
|
||||
**What operating system and version?**
|
||||
|
||||
**What did you do?**
|
||||
|
||||
**What did you expect to happen?**
|
||||
|
||||
**What actually happened?**
|
||||
30
CHANGELOG.md
30
CHANGELOG.md
@@ -1,6 +1,34 @@
|
||||
# WebTorrent Desktop Version History
|
||||
|
||||
## UNRELEASED v0.3.0 - 2016-04-06
|
||||
## v0.3.2 - 2016-04-07
|
||||
|
||||
### Added
|
||||
|
||||
- Register WebTorrent as default handler for magnet links (OS X)
|
||||
|
||||
### Changed
|
||||
|
||||
- Faster startup time (50ms)
|
||||
- Update Electron to 0.37.5
|
||||
- Remove the white flash when loading pages and resizing the window
|
||||
- Fix crash when sending IPC messages
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix installation bugs with .deb file (Linux)
|
||||
- Pause audio reliably when closing the window
|
||||
|
||||
## v0.3.1 - 2016-04-06
|
||||
|
||||
### Added
|
||||
|
||||
- Add crash reporter to torrent engine process
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix cast screen background: cover, don't tile
|
||||
|
||||
## v0.3.0 - 2016-04-06
|
||||
|
||||
### Added
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ var all = {
|
||||
|
||||
// Pattern which specifies which files to ignore when copying files to create the
|
||||
// package(s).
|
||||
ignore: /^\/dist|\/(appveyor.yml|.appveyor.yml|appdmg|AUTHORS|CONTRIBUTORS|bench|benchmark|benchmark\.js|bin|bower\.json|component\.json|coverage|doc|docs|docs\.mli|dragdrop\.min\.js|example|examples|example\.html|example\.js|externs|ipaddr\.min\.js|Makefile|min|minimist|perf|rusha|simplepeer\.min\.js|simplewebsocket\.min\.js|static\/screenshot\.png|test|tests|test\.js|tests\.js|webtorrent\.min\.js|\.[^\/]*|.*\.md|.*\.markdown)$/,
|
||||
ignore: /^\/dist|\/(appveyor.yml|\.appveyor.yml|\.github|appdmg|AUTHORS|CONTRIBUTORS|bench|benchmark|benchmark\.js|bin|bower\.json|component\.json|coverage|doc|docs|docs\.mli|dragdrop\.min\.js|example|examples|example\.html|example\.js|externs|ipaddr\.min\.js|Makefile|min|minimist|perf|rusha|simplepeer\.min\.js|simplewebsocket\.min\.js|static\/screenshot\.png|test|tests|test\.js|tests\.js|webtorrent\.min\.js|\.[^\/]*|.*\.md|.*\.markdown)$/,
|
||||
|
||||
// The application name.
|
||||
name: config.APP_NAME,
|
||||
@@ -303,9 +303,10 @@ function buildLinux (packageType, cb) {
|
||||
info: {
|
||||
arch: 'amd64',
|
||||
targetDir: distPath,
|
||||
depends: 'libc6 (>= 2.4)',
|
||||
scripts: {
|
||||
postinst: path.join(config.STATIC_PATH, 'linux', 'postinst'),
|
||||
postrm: path.join(config.STATIC_PATH, 'linux', 'postrm')
|
||||
prerm: path.join(config.STATIC_PATH, 'linux', 'prerm')
|
||||
}
|
||||
}
|
||||
}, [{
|
||||
|
||||
15
crash-reporter.js
Normal file
15
crash-reporter.js
Normal file
@@ -0,0 +1,15 @@
|
||||
module.exports = {
|
||||
init
|
||||
}
|
||||
|
||||
var config = require('./config')
|
||||
var electron = require('electron')
|
||||
|
||||
function init () {
|
||||
electron.crashReporter.start({
|
||||
companyName: config.APP_NAME,
|
||||
productName: config.APP_NAME,
|
||||
submitURL: config.CRASH_REPORT_URL
|
||||
})
|
||||
console.log('crash reporter started')
|
||||
}
|
||||
@@ -30,16 +30,14 @@ function uninstall () {
|
||||
}
|
||||
|
||||
function installDarwin () {
|
||||
// TODO: Uncomment this once we upgrade past Electron 0.37.4.
|
||||
var electron = require('electron')
|
||||
var app = electron.app
|
||||
|
||||
// var electron = require('electron')
|
||||
// var app = electron.app
|
||||
// On OS X, only protocols that are listed in Info.plist can be set as the default
|
||||
// handler at runtime.
|
||||
app.setAsDefaultProtocolClient('magnet')
|
||||
|
||||
// // On OS X, only protocols that are listed in Info.plist can be set as the default
|
||||
// // handler at runtime.
|
||||
// app.setAsDefaultProtocolClient('magnet')
|
||||
|
||||
// // File handlers are registered in the Info.plist.
|
||||
// File handlers are registered in the Info.plist.
|
||||
}
|
||||
|
||||
function uninstallDarwin () {}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
var electron = require('electron')
|
||||
|
||||
var app = electron.app
|
||||
var crashReporter = electron.crashReporter
|
||||
var ipcMain = electron.ipcMain
|
||||
|
||||
var autoUpdater = require('./auto-updater')
|
||||
var config = require('../config')
|
||||
var crashReporter = require('../crash-reporter')
|
||||
var handlers = require('./handlers')
|
||||
var ipc = require('./ipc')
|
||||
var log = require('./log')
|
||||
@@ -47,8 +47,8 @@ function init () {
|
||||
ipc.init()
|
||||
|
||||
app.on('will-finish-launching', function () {
|
||||
crashReporter.init()
|
||||
autoUpdater.init()
|
||||
setupCrashReporter()
|
||||
})
|
||||
|
||||
app.on('ready', function () {
|
||||
@@ -129,11 +129,3 @@ function processArgv (argv) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function setupCrashReporter () {
|
||||
crashReporter.start({
|
||||
companyName: config.APP_NAME,
|
||||
productName: config.APP_NAME,
|
||||
submitURL: config.CRASH_REPORT_URL
|
||||
})
|
||||
}
|
||||
|
||||
@@ -20,10 +20,8 @@ function init () {
|
||||
ipcMain.on('ipcReady', function (e) {
|
||||
app.ipcReady = true
|
||||
app.emit('ipcReady')
|
||||
setTimeout(function () {
|
||||
windows.main.show()
|
||||
try { console.timeEnd('init') } catch (err) {}
|
||||
}, 50)
|
||||
windows.main.show()
|
||||
console.timeEnd('init')
|
||||
})
|
||||
|
||||
var messageQueueMainToWebTorrent = []
|
||||
|
||||
@@ -49,7 +49,7 @@ function createAboutWindow () {
|
||||
|
||||
function createWebTorrentHiddenWindow () {
|
||||
var win = windows.webtorrent = new electron.BrowserWindow({
|
||||
backgroundColor: '#282828',
|
||||
backgroundColor: '#1E1E1E',
|
||||
show: false,
|
||||
center: true,
|
||||
title: 'webtorrent-hidden-window',
|
||||
@@ -79,7 +79,7 @@ function createMainWindow () {
|
||||
return focusWindow(windows.main)
|
||||
}
|
||||
var win = windows.main = new electron.BrowserWindow({
|
||||
backgroundColor: '#282828',
|
||||
backgroundColor: '#1E1E1E',
|
||||
darkTheme: true, // Forces dark theme (GTK+3)
|
||||
icon: config.APP_ICON + '.png',
|
||||
minWidth: 425,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "webtorrent-desktop",
|
||||
"description": "WebTorrent, the streaming torrent client. For OS X, Windows, and Linux.",
|
||||
"version": "0.3.0",
|
||||
"version": "0.3.2",
|
||||
"author": {
|
||||
"name": "Feross Aboukhadijeh",
|
||||
"email": "feross@feross.org",
|
||||
@@ -24,7 +24,7 @@
|
||||
"dlnacasts": "^0.0.3",
|
||||
"drag-drop": "^2.11.0",
|
||||
"electron-localshortcut": "^0.6.0",
|
||||
"electron-prebuilt": "0.37.3",
|
||||
"electron-prebuilt": "0.37.5",
|
||||
"hyperx": "^2.0.2",
|
||||
"main-loop": "^3.2.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
@@ -44,7 +44,7 @@
|
||||
"electron-packager": "^6.0.0",
|
||||
"electron-winstaller": "feross/windows-installer#build",
|
||||
"gh-release": "^2.0.3",
|
||||
"nobin-debian-installer": "^0.0.6",
|
||||
"nobin-debian-installer": "^0.0.8",
|
||||
"plist": "^1.2.0",
|
||||
"standard": "^6.0.5"
|
||||
},
|
||||
|
||||
@@ -347,7 +347,7 @@ input {
|
||||
background: linear-gradient(to bottom right, #4B79A1, #283E51);
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: 0 50%;
|
||||
background-position: center;
|
||||
transition: -webkit-filter 0.1s ease-out;
|
||||
position: relative;
|
||||
animation: fadein .4s;
|
||||
@@ -591,6 +591,8 @@ body.drag .app::after {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.player video {
|
||||
|
||||
@@ -16,6 +16,7 @@ var patch = require('virtual-dom/patch')
|
||||
var App = require('./views/app')
|
||||
var errors = require('./lib/errors')
|
||||
var config = require('../config')
|
||||
var crashReporter = require('../crash-reporter')
|
||||
var TorrentPlayer = require('./lib/torrent-player')
|
||||
var util = require('./util')
|
||||
var {setDispatch} = require('./lib/dispatcher')
|
||||
@@ -31,7 +32,6 @@ var Cast = null
|
||||
var ipcRenderer = electron.ipcRenderer
|
||||
|
||||
var clipboard = electron.clipboard
|
||||
var crashReporter = electron.crashReporter
|
||||
var dialog = remote.require('dialog')
|
||||
|
||||
// For easy debugging in Developer Tools
|
||||
@@ -39,6 +39,10 @@ var state = global.state = State.getInitialState()
|
||||
|
||||
var vdomLoop
|
||||
|
||||
// Report crashes back to our server.
|
||||
// Not global JS exceptions, not like Rollbar, handles segfaults/core dumps only
|
||||
crashReporter.init()
|
||||
|
||||
// All state lives in state.js. `state.saved` is read from and written to a file.
|
||||
// All other state is ephemeral. First we load state.saved then initialize the app.
|
||||
loadState(init)
|
||||
@@ -49,8 +53,6 @@ loadState(init)
|
||||
* the dock icon and drag+drop.
|
||||
*/
|
||||
function init () {
|
||||
setupCrashReporter()
|
||||
|
||||
// Push the first page into the location history
|
||||
state.location.go({ url: 'home' })
|
||||
|
||||
@@ -241,8 +243,8 @@ function dispatch (action, ...args) {
|
||||
// and only redraws on requestAnimationFrame(). That means when the user
|
||||
// closes the window (hide window / minimize to tray) and we want to pause
|
||||
// the video, we update the vdom but it keeps playing until you reopen!
|
||||
var videoTag = document.querySelector('video')
|
||||
if (videoTag) videoTag.pause()
|
||||
var mediaTag = document.querySelector('video,audio')
|
||||
if (mediaTag) mediaTag.pause()
|
||||
}
|
||||
if (action === 'playbackJump') {
|
||||
jumpToTime(args[0] /* seconds */)
|
||||
@@ -1004,14 +1006,6 @@ function playInterfaceSound (name) {
|
||||
audio.play()
|
||||
}
|
||||
|
||||
function setupCrashReporter () {
|
||||
crashReporter.start({
|
||||
companyName: config.APP_NAME,
|
||||
productName: config.APP_NAME,
|
||||
submitURL: config.CRASH_REPORT_URL
|
||||
})
|
||||
}
|
||||
|
||||
// Finds the longest common prefix
|
||||
function findCommonPrefix (a, b) {
|
||||
for (var i = 0; i < a.length && i < b.length; i++) {
|
||||
|
||||
@@ -10,9 +10,14 @@ var fs = require('fs')
|
||||
var mkdirp = require('mkdirp')
|
||||
var musicmetadata = require('musicmetadata')
|
||||
var networkAddress = require('network-address')
|
||||
var path = require('path')
|
||||
|
||||
var crashReporter = require('../crash-reporter')
|
||||
var config = require('../config')
|
||||
var torrentPoster = require('./lib/torrent-poster')
|
||||
var path = require('path')
|
||||
|
||||
// Report when the process crashes
|
||||
crashReporter.init()
|
||||
|
||||
// Send & receive messages from the main window
|
||||
var ipc = electron.ipcRenderer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
chmod +x /opt/webtorrent-desktop/WebTorrent
|
||||
ln -s /opt/webtorrent-desktop/WebTorrent /usr/bin/webtorrent-desktop
|
||||
ln -s -f /opt/webtorrent-desktop/WebTorrent /usr/bin/webtorrent-desktop
|
||||
|
||||
Reference in New Issue
Block a user