feat: add preference to customize global trackers (#1836)
* Add preference to customize global trackers. Requires restart to apply * Use IPC to pass global trackers list, torrent pause and resume will now update trackers * Make the default tracker list an array from array of arrays * Use globalThis instead of just global Co-authored-by: Diego Rodríguez Baquero <github@diegorbaquero.com>
This commit is contained in:
@@ -3,6 +3,7 @@ const path = require('path')
|
||||
const { EventEmitter } = require('events')
|
||||
|
||||
const config = require('../../config')
|
||||
const defaultAnnounceList = require('create-torrent').announceList.map((arr) => arr[0])
|
||||
|
||||
const SAVE_DEBOUNCE_INTERVAL = 1000
|
||||
|
||||
@@ -79,6 +80,7 @@ function getDefaultState () {
|
||||
getPlayingTorrentSummary,
|
||||
getPlayingFileSummary,
|
||||
getExternalPlayerName,
|
||||
getGlobalTrackers,
|
||||
shouldHidePlayerControls
|
||||
}
|
||||
}
|
||||
@@ -129,7 +131,8 @@ function setupStateSaved () {
|
||||
soundNotifications: true,
|
||||
autoAddTorrents: false,
|
||||
torrentsFolderPath: '',
|
||||
highestPlaybackPriority: true
|
||||
highestPlaybackPriority: true,
|
||||
globalTrackers: defaultAnnounceList
|
||||
},
|
||||
torrents: config.DEFAULT_TORRENTS.map(createTorrentObject),
|
||||
torrentsToResume: [],
|
||||
@@ -201,6 +204,14 @@ function shouldHidePlayerControls () {
|
||||
this.playing.location === 'local'
|
||||
}
|
||||
|
||||
function getGlobalTrackers () {
|
||||
const trackers = this.saved.prefs.globalTrackers
|
||||
if (!trackers) {
|
||||
return defaultAnnounceList
|
||||
}
|
||||
return trackers
|
||||
}
|
||||
|
||||
async function load (cb) {
|
||||
let saved = await appConfig.read()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user