diff --git a/CHANGELOG.md b/CHANGELOG.md index f82ee09..6450f45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,11 @@ _V5.2.8_ - Fix SQLite does not support TEXT with options. +_V5.2.9_ + +- Fix bad code for server options parsing. +- Increase dirwatch polling interval from 1000ms to 2500ms. + # Version 5.1 This one is a big one... **Be sure to backup your config.json and your database.sqlite before updating.** diff --git a/client/package-lock.json b/client/package-lock.json index 12949d2..1468119 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,6 +1,6 @@ { "name": "rdio-scanner-client", - "version": "5.2.7", + "version": "5.2.9", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/client/package.json b/client/package.json index 41a93ab..fa0836c 100644 --- a/client/package.json +++ b/client/package.json @@ -37,5 +37,5 @@ "build": "ng build --base-href ./ --configuration production", "start": "ng serve" }, - "version": "5.2.8" + "version": "5.2.9" } diff --git a/package.json b/package.json index c576356..b9d46da 100644 --- a/package.json +++ b/package.json @@ -14,5 +14,5 @@ "update": "node update" }, "type": "module", - "version": "5.2.8" + "version": "5.2.9" } \ No newline at end of file diff --git a/server/lib/rdio-scanner/config.js b/server/lib/rdio-scanner/config.js index edbbb4a..1c769cc 100644 --- a/server/lib/rdio-scanner/config.js +++ b/server/lib/rdio-scanner/config.js @@ -157,35 +157,61 @@ export class Config extends EventEmitter { get options() { return { - autoPopulate: this._options.autoPopulate ?? defaults.options.autoPopulate, - dimmerDelay: this._options.dimmerDelay ?? defaults.options.dimmerDelay, - disableAudioConversion: this._options.disableAudioConversion ?? defaults.options.disableAudioConversion, - disableDuplicateDetection: this._options.disableDuplicateDetection ?? defaults.options.disableDuplicateDetection, - duplicateDetectionTimeFrame: this._options.duplicateDetectionTimeFrame ?? defaults.options.duplicateDetectionTimeFrame, - keypadBeeps: this._options.keypadBeeps ?? defaults.options.keypadBeeps, - pruneDays: this._options.pruneDays ?? defaults.options.pruneDays, - sortTalkgroups: this._options.sortTalkgroups ?? defaults.options.sortTalkgroups, + autoPopulate: typeof this._options.autoPopulate === 'boolean' + ? this._options.autoPopulate + : defaults.options.autoPopulate, + dimmerDelay: typeof this._options.dimmerDelay === 'number' + ? this._options.dimmerDelay + : defaults.options.dimmerDelay, + disableAudioConversion: typeof this._options.disableAudioConversion === 'boolean' + ? this._options.disableAudioConversion + : defaults.options.disableAudioConversion, + disableDuplicateDetection: typeof this._options.disableDuplicateDetection === 'boolean' + ? this._options.disableDuplicateDetection + : defaults.options.disableDuplicateDetection, + duplicateDetectionTimeFrame: typeof this._options.duplicateDetectionTimeFrame === 'number' + ? this._options.duplicateDetectionTimeFrame + : defaults.options.duplicateDetectionTimeFrame, + keypadBeeps: typeof this._options.keypadBeeps === 'string' + ? this._options.keypadBeeps + : defaults.options.keypadBeeps, + pruneDays: typeof this._options.pruneDays === 'number' + ? this._options.pruneDays + : defaults.options.pruneDays, + sortTalkgroups: typeof this._options.sortTalkgroups === 'boolean' + ? this._options.sortTalkgroups + : defaults.options.sortTalkgroups, }; } set options(options) { if (options !== null && !Array.isArray(options) && typeof options === 'object') { - this._options = Object.keys(options).reduce((o, k) => { - if ([ - 'autoPopulate', - 'dimmerDelay', - 'disableAudioConversion', - 'disableDuplicateDetection', - 'duplicateDetectionTimeFrame', - 'keypadBeeps', - 'pruneDays', - 'sortTalkgroups', - ].includes(k)) { - o[k] = options[k] ?? defaults.options[k]; - } - - return o; - }, {}); + this._options = { + autoPopulate: typeof options.autoPopulate === 'boolean' + ? options.autoPopulate + : defaults.options.autoPopulate, + dimmerDelay: typeof options.dimmerDelay === 'number' + ? options.dimmerDelay + : defaults.options.dimmerDelay, + disableAudioConversion: typeof options.disableAudioConversion === 'boolean' + ? options.disableAudioConversion + : defaults.options.disableAudioConversion, + disableDuplicateDetection: typeof options.disableDuplicateDetection === 'boolean' + ? options.disableDuplicateDetection + : defaults.options.disableDuplicateDetection, + duplicateDetectionTimeFrame: typeof options.duplicateDetectionTimeFrame === 'number' + ? options.duplicateDetectionTimeFrame + : defaults.options.duplicateDetectionTimeFrame, + keypadBeeps: typeof options.keypadBeeps === 'string' + ? options.keypadBeeps + : defaults.options.keypadBeeps, + pruneDays: typeof options.pruneDays === 'number' + ? options.pruneDays + : defaults.options.pruneDays, + sortTalkgroups: typeof options.sortTalkgroups === 'boolean' + ? options.sortTalkgroups + : defaults.options.sortTalkgroups, + }; this.emit('changes'); } diff --git a/server/lib/rdio-scanner/dir-watch.js b/server/lib/rdio-scanner/dir-watch.js index 9b8bd15..a6150ae 100644 --- a/server/lib/rdio-scanner/dir-watch.js +++ b/server/lib/rdio-scanner/dir-watch.js @@ -451,7 +451,7 @@ export class DirWatch { }; if (options.usePolling) { - options.binaryInterval = options.interval = dirWatch.usePolling === true ? 1000 : dirWatch.usePolling; + options.binaryInterval = options.interval = dirWatch.usePolling === true ? 2500 : dirWatch.usePolling; } const watcher = chokidar.watch(path.resolve(dirname, '../../..', dirWatch.directory), options); diff --git a/server/lib/rdio-scanner/version.js b/server/lib/rdio-scanner/version.js index ce05e42..45450c8 100644 --- a/server/lib/rdio-scanner/version.js +++ b/server/lib/rdio-scanner/version.js @@ -19,6 +19,6 @@ 'use strict'; -export const version = '5.2.7'; +export const version = '5.2.9'; export default version; \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json index ef8c549..cb3b014 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,6 +1,6 @@ { "name": "rdio-scanner-server", - "version": "5.2.7", + "version": "5.2.9", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/server/package.json b/server/package.json index 016e903..61eaa92 100644 --- a/server/package.json +++ b/server/package.json @@ -46,5 +46,5 @@ "start": "nodemon" }, "type": "module", - "version": "5.2.7" + "version": "5.2.9" }