Compare commits
3 Commits
v0.17.2
...
demoneaux/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e14005abab | ||
|
|
382ea3d965 | ||
|
|
1b466c64e1 |
@@ -1,13 +1,5 @@
|
|||||||
# WebTorrent Desktop Version History
|
# WebTorrent Desktop Version History
|
||||||
|
|
||||||
## v0.17.2 - 2016-10-10
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
- Windows: Fix impossible-to-delete "Wired CD" default torrent
|
|
||||||
- Throttle browser-window 'move' and 'resize' events
|
|
||||||
- Fix crash ("Cannot read property 'files' of null" error)
|
|
||||||
- Fix crash ("TypeError: Cannot read property 'startPiece' of undefined")
|
|
||||||
|
|
||||||
## v0.17.1 - 2016-10-03
|
## v0.17.1 - 2016-10-03
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "webtorrent-desktop",
|
"name": "webtorrent-desktop",
|
||||||
"description": "WebTorrent, the streaming torrent client. For Mac, Windows, and Linux.",
|
"description": "WebTorrent, the streaming torrent client. For Mac, Windows, and Linux.",
|
||||||
"version": "0.17.2",
|
"version": "0.17.1",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "WebTorrent, LLC",
|
"name": "WebTorrent, LLC",
|
||||||
"email": "feross@webtorrent.io",
|
"email": "feross@webtorrent.io",
|
||||||
@@ -90,7 +90,6 @@
|
|||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"appdmg": "^0.4.3"
|
"appdmg": "^0.4.3"
|
||||||
},
|
},
|
||||||
"private": true,
|
|
||||||
"productName": "WebTorrent",
|
"productName": "WebTorrent",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
@@ -182,47 +182,51 @@ module.exports = class TorrentListController {
|
|||||||
|
|
||||||
openTorrentContextMenu (infoHash) {
|
openTorrentContextMenu (infoHash) {
|
||||||
const torrentSummary = TorrentSummary.getByKey(this.state, infoHash)
|
const torrentSummary = TorrentSummary.getByKey(this.state, infoHash)
|
||||||
const menu = new electron.remote.Menu()
|
const torrentStarted = !!(torrentSummary.files && torrentSummary.progress)
|
||||||
|
|
||||||
menu.append(new electron.remote.MenuItem({
|
const menuTemplate = [
|
||||||
label: 'Remove From List',
|
{
|
||||||
click: () => dispatch('confirmDeleteTorrent', torrentSummary.infoHash, false)
|
label: 'Remove From List',
|
||||||
}))
|
click: () => dispatch('confirmDeleteTorrent', torrentSummary.infoHash, false)
|
||||||
|
},
|
||||||
menu.append(new electron.remote.MenuItem({
|
{
|
||||||
label: 'Remove Data File',
|
label: 'Remove Data File',
|
||||||
click: () => dispatch('confirmDeleteTorrent', torrentSummary.infoHash, true)
|
enabled: torrentStarted,
|
||||||
}))
|
click: () => dispatch('confirmDeleteTorrent', torrentSummary.infoHash, true)
|
||||||
|
},
|
||||||
menu.append(new electron.remote.MenuItem({
|
{
|
||||||
type: 'separator'
|
|
||||||
}))
|
|
||||||
|
|
||||||
if (torrentSummary.files) {
|
|
||||||
menu.append(new electron.remote.MenuItem({
|
|
||||||
label: process.platform === 'darwin' ? 'Show in Finder' : 'Show in Folder',
|
|
||||||
click: () => showItemInFolder(torrentSummary)
|
|
||||||
}))
|
|
||||||
menu.append(new electron.remote.MenuItem({
|
|
||||||
type: 'separator'
|
type: 'separator'
|
||||||
}))
|
},
|
||||||
}
|
{
|
||||||
|
label: process.platform === 'darwin' ? 'Show in Finder' : 'Show in Folder',
|
||||||
menu.append(new electron.remote.MenuItem({
|
enabled: torrentStarted,
|
||||||
label: 'Copy Magnet Link to Clipboard',
|
click: () => showItemInFolder(torrentSummary)
|
||||||
click: () => electron.clipboard.writeText(torrentSummary.magnetURI)
|
},
|
||||||
}))
|
{
|
||||||
|
type: 'separator'
|
||||||
menu.append(new electron.remote.MenuItem({
|
},
|
||||||
label: 'Copy Instant.io Link to Clipboard',
|
{
|
||||||
click: () => electron.clipboard.writeText(`https://instant.io/#${torrentSummary.infoHash}`)
|
label: 'Copy Magnet Link to Clipboard',
|
||||||
}))
|
click: () => electron.clipboard.writeText(torrentSummary.magnetURI)
|
||||||
|
},
|
||||||
menu.append(new electron.remote.MenuItem({
|
{
|
||||||
label: 'Save Torrent File As...',
|
label: 'Copy Instant.io Link to Clipboard',
|
||||||
click: () => dispatch('saveTorrentFileAs', torrentSummary.torrentKey)
|
click: () => electron.clipboard.writeText(`https://instant.io/#${torrentSummary.infoHash}`)
|
||||||
}))
|
},
|
||||||
|
{
|
||||||
|
label: 'Save Torrent File As...',
|
||||||
|
click: () => dispatch('saveTorrentFileAs', torrentSummary.torrentKey)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separator'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Paste Torrent Address',
|
||||||
|
role: 'paste'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
const menu = electron.remote.Menu.buildFromTemplate(menuTemplate)
|
||||||
menu.popup(electron.remote.getCurrentWindow())
|
menu.popup(electron.remote.getCurrentWindow())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -599,15 +599,12 @@ function renderLoadingBar (state) {
|
|||||||
|
|
||||||
const torrentSummary = state.getPlayingTorrentSummary()
|
const torrentSummary = state.getPlayingTorrentSummary()
|
||||||
if (!torrentSummary.progress) {
|
if (!torrentSummary.progress) {
|
||||||
return null
|
return []
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find all contiguous parts of the torrent which are loaded
|
// Find all contiguous parts of the torrent which are loaded
|
||||||
const prog = torrentSummary.progress
|
const prog = torrentSummary.progress
|
||||||
const fileProg = prog.files[state.playing.fileIndex]
|
const fileProg = prog.files[state.playing.fileIndex]
|
||||||
|
|
||||||
if (!fileProg) return null
|
|
||||||
|
|
||||||
const parts = []
|
const parts = []
|
||||||
let lastPiecePresent = false
|
let lastPiecePresent = false
|
||||||
for (let i = fileProg.startPiece; i <= fileProg.endPiece; i++) {
|
for (let i = fileProg.startPiece; i <= fileProg.endPiece; i++) {
|
||||||
@@ -629,7 +626,6 @@ function renderLoadingBar (state) {
|
|||||||
|
|
||||||
return (<div key={i} className='loading-bar-part' style={style} />)
|
return (<div key={i} className='loading-bar-part' style={style} />)
|
||||||
})
|
})
|
||||||
|
|
||||||
return (<div key='loading-bar' className='loading-bar'>{loadingBarElems}</div>)
|
return (<div key='loading-bar' className='loading-bar'>{loadingBarElems}</div>)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user