Merge branch 'master' into greenkeeper/music-metadata-3.2.2

# Conflicts:
#	package-lock.json
This commit is contained in:
Borewit
2018-12-16 17:15:16 +01:00
9 changed files with 811 additions and 2026 deletions

2737
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -14,13 +14,13 @@
"airplayer": "^2.0.0",
"application-config": "^1.0.0",
"arch": "^2.0.0",
"auto-launch": "^4.0.1",
"auto-launch": "^5.0.5",
"bitfield": "^1.0.2",
"capture-frame": "^2.0.0",
"chokidar": "^2.0.4",
"chromecasts": "^1.9.1",
"cp-file": "^6.0.0",
"create-torrent": "^3.24.5",
"create-torrent": "^3.33.0",
"debounce": "^1.0.0",
"deep-equal": "^1.0.1",
"dlnacasts": "^0.1.0",
@@ -28,20 +28,20 @@
"es6-error": "^4.0.0",
"fn-getter": "^1.0.0",
"iso-639-1": "^1.2.1",
"languagedetect": "^1.1.1",
"languagedetect": "^1.2.0",
"location-history": "^1.0.0",
"material-ui": "^0.17.0",
"material-ui": "^0.20.2",
"mkdirp": "^0.5.1",
"music-metadata": "^3.3.0",
"network-address": "^1.1.0",
"parse-torrent": "^6.0.1",
"prettier-bytes": "^1.0.1",
"react": "^15.4.2",
"react-dom": "^15.4.2",
"react-tap-event-plugin": "^2.0.1",
"prop-types": "^15.6.2",
"react": "^16.5.2",
"react-dom": "^16.5.2",
"rimraf": "^2.5.2",
"run-parallel": "^1.1.6",
"semver": "^5.1.0",
"semver": "^5.6.0",
"simple-concat": "^1.0.0",
"simple-get": "^3.0.3",
"srt-to-vtt": "^1.1.1",
@@ -52,25 +52,25 @@
},
"devDependencies": {
"babel-eslint": "^9.0.0",
"buble": "^0.19.3",
"buble": "^0.19.6",
"cross-zip": "^2.0.1",
"depcheck": "^0.6.4",
"electron": "1.6.16",
"electron-osx-sign": "^0.4.10",
"depcheck": "^0.6.11",
"electron": "^1.8.8",
"electron-osx-sign": "^0.4.11",
"electron-packager": "~8.5.1",
"electron-winstaller": "^2.6.4",
"gh-release": "^3.2.1",
"gh-release": "^3.4.0",
"minimist": "^1.2.0",
"nobin-debian-installer": "0.0.10",
"nodemon": "^1.10.2",
"nodemon": "^1.18.8",
"opn": "^5.4.0",
"plist": "^3.0.1",
"pngjs": "^3.0.0",
"run-series": "^1.1.4",
"spectron": "^3.3.0",
"standard": "*",
"tape": "^4.6.0",
"walk-sync": "^0.3.1"
"tape": "^4.9.1",
"walk-sync": "^0.3.4"
},
"engines": {
"node": ">=4.0.0"

View File

@@ -3,19 +3,11 @@ module.exports = {
uninstall
}
const config = require('../config')
const { APP_NAME } = require('../config')
const AutoLaunch = require('auto-launch')
const { app } = require('electron')
// On Mac, work around a bug in auto-launch where it opens a Terminal window
// See https://github.com/Teamwork/node-auto-launch/issues/28#issuecomment-222194437
const appPath = process.platform === 'darwin'
? app.getPath('exe').replace(/\.app\/Content.*/, '.app')
: undefined // Use the default
const appLauncher = new AutoLaunch({
name: config.APP_NAME,
path: appPath,
name: APP_NAME,
isHidden: true
})

View File

@@ -1,11 +1,12 @@
const React = require('react')
const PropTypes = require('prop-types')
const colors = require('material-ui/styles/colors')
class Heading extends React.Component {
static get propTypes () {
return {
level: React.PropTypes.number
level: PropTypes.number
}
}

View File

@@ -1,6 +1,7 @@
const colors = require('material-ui/styles/colors')
const electron = require('electron')
const React = require('react')
const PropTypes = require('prop-types')
const remote = electron.remote
@@ -11,15 +12,15 @@ const TextField = require('material-ui/TextField').default
// Uses the system Open File dialog.
// You can't edit the text field directly.
class PathSelector extends React.Component {
static get propTypes () {
static propTypes () {
return {
className: React.PropTypes.string,
dialog: React.PropTypes.object,
displayValue: React.PropTypes.string,
id: React.PropTypes.string,
onChange: React.PropTypes.func,
title: React.PropTypes.string.isRequired,
value: React.PropTypes.string
className: PropTypes.string,
dialog: PropTypes.object,
displayValue: PropTypes.string,
id: PropTypes.string,
onChange: PropTypes.func,
title: PropTypes.string.isRequired,
value: PropTypes.string
}
}
@@ -64,7 +65,8 @@ class PathSelector extends React.Component {
const textFieldStyle = {
flex: '1'
}
const text = this.props.displayValue || this.props.value
const text = this.props.displayValue || this.props.value || ''
const buttonStyle = {
marginLeft: 10
}

View File

@@ -1,13 +1,14 @@
const React = require('react')
const PropTypes = require('prop-types')
const RaisedButton = require('material-ui/RaisedButton').default
class ShowMore extends React.Component {
static get propTypes () {
return {
defaultExpanded: React.PropTypes.bool,
hideLabel: React.PropTypes.string,
showLabel: React.PropTypes.string
defaultExpanded: PropTypes.bool,
hideLabel: PropTypes.string,
showLabel: PropTypes.string
}
}

View File

@@ -39,9 +39,6 @@ const TorrentPlayer = require('./lib/torrent-player')
// Perf optimization: Needed immediately, so do not lazy load it below
const TorrentListController = require('./controllers/torrent-list-controller')
// Required by Material UI -- adds `onTouchTap` event
require('react-tap-event-plugin')()
const App = require('./pages/app')
// Electron apps have two processes: a main process (node) runs first and starts

View File

@@ -1,5 +1,6 @@
const path = require('path')
const React = require('react')
const PropTypes = require('prop-types')
const colors = require('material-ui/styles/colors')
const Checkbox = require('material-ui/Checkbox').default
@@ -238,7 +239,7 @@ class PreferencesPage extends React.Component {
class PreferencesSection extends React.Component {
static get propTypes () {
return {
title: React.PropTypes.string
title: PropTypes.string
}
}

View File

@@ -147,7 +147,7 @@ module.exports = class TorrentList extends React.Component {
}
}
return (
<div style={styles.wrapper}>
<div key='progress-bar' style={styles.wrapper}>
<LinearProgress style={styles.progress} mode='determinate' value={progress} />
</div>
)
@@ -200,7 +200,7 @@ module.exports = class TorrentList extends React.Component {
const minutesStr = (hours || minutes) ? minutes + 'm' : ''
const secondsStr = seconds + 's'
return (<span>{hoursStr} {minutesStr} {secondsStr} remaining</span>)
return (<span key='eta'>{hoursStr} {minutesStr} {secondsStr} remaining</span>)
}
function renderTorrentStatus () {
@@ -370,16 +370,16 @@ module.exports = class TorrentList extends React.Component {
return (
<div key='radial-progress' className={'radial-progress ' + cssClass}>
<div key='circle' className='circle'>
<div key='mask-full' className='mask full' style={transformFill}>
<div key='fill' className='fill' style={transformFill} />
<div className='circle'>
<div className='mask full' style={transformFill}>
<div className='fill' style={transformFill} />
</div>
<div key='mask-half' className='mask half'>
<div key='fill' className='fill' style={transformFill} />
<div key='fill-fix' className='fill fix' style={transformFix} />
<div className='mask half'>
<div className='fill' style={transformFill} />
<div className='fill fix' style={transformFix} />
</div>
</div>
<div key='inset' className='inset' />
<div className='inset' />
</div>
)
}
@@ -393,7 +393,7 @@ function getErrorMessage (torrentSummary) {
const err = torrentSummary.error
if (err === 'path-missing') {
return (
<span>
<span key='path-missing'>
Path missing.<br />
Fix and restart the app, or delete the torrent.
</span>