From 3ffa3ccab93f31914779e6e3c24d47e630cd2484 Mon Sep 17 00:00:00 2001 From: josselinonduty Date: Fri, 28 Nov 2025 17:57:21 +0100 Subject: [PATCH] fix: ensure os release is valid; add cli argument to use exact kernel version Original patch: Dorian Stoll The application sends the kernel version as part of the User-Agent. However, the Deezer API seems to assume the number to follow semver, and can get confused when it doesn't. This then leads to some features like dark mode being reported as unavailable. e.g: 5.11.0-16-generic works, while 5.15.14-200.fc35.x86_64 doesn't. The solution is to ignore the actual version and send bogus data that is known to work. --- build/main.js | 15 ++++++++++++++- build/preload.js | 15 ++++++++++++++- build/renderer.js | 15 ++++++++++++++- build/titlebar.js | 15 ++++++++++++++- 4 files changed, 56 insertions(+), 4 deletions(-) diff --git a/build/main.js b/build/main.js index 307fc24..75182f1 100644 --- a/build/main.js +++ b/build/main.js @@ -2,7 +2,20 @@ "use strict"; var __webpack_modules__ = { 857: (module) => { - module.exports = require("os"); + var __module_os = require("os"); + const release = __module_os.release(); + __module_os.release = () => { + if ( + process.argv.some((arg) => arg === "--keep-kernel") || + "yes" === process.env.DZ_KEEP_KERNEL + ) { + const matcher = /(\d+\.\d+\.\d+)\.*/; + var result = release.match(matcher); + return result ? result[1] : "6.4.0"; + } + return "6.4.0"; + }; + module.exports = __module_os; }, 944: (module) => { module.exports = require("macos-version"); diff --git a/build/preload.js b/build/preload.js index cc6a919..9a90de9 100644 --- a/build/preload.js +++ b/build/preload.js @@ -2,7 +2,20 @@ "use strict"; var __webpack_modules__ = { 857: (module) => { - module.exports = require("os"); + var __module_os = require("os"); + const release = __module_os.release(); + __module_os.release = () => { + if ( + process.argv.some((arg) => arg === "--keep-kernel") || + "yes" === process.env.DZ_KEEP_KERNEL + ) { + const matcher = /(\d+\.\d+\.\d+)\.*/; + var result = release.match(matcher); + return result ? result[1] : "6.4.0"; + } + return "6.4.0"; + }; + module.exports = __module_os; }, 944: (module) => { module.exports = require("macos-version"); diff --git a/build/renderer.js b/build/renderer.js index 6f3c29f..7329ec8 100644 --- a/build/renderer.js +++ b/build/renderer.js @@ -2,7 +2,20 @@ "use strict"; var __webpack_modules__ = { 857: (module) => { - module.exports = require("os"); + var __module_os = require("os"); + const release = __module_os.release(); + __module_os.release = () => { + if ( + process.argv.some((arg) => arg === "--keep-kernel") || + "yes" === process.env.DZ_KEEP_KERNEL + ) { + const matcher = /(\d+\.\d+\.\d+)\.*/; + var result = release.match(matcher); + return result ? result[1] : "6.4.0"; + } + return "6.4.0"; + }; + module.exports = __module_os; }, 944: (module) => { module.exports = require("macos-version"); diff --git a/build/titlebar.js b/build/titlebar.js index c07b3f1..886a825 100644 --- a/build/titlebar.js +++ b/build/titlebar.js @@ -2,7 +2,20 @@ "use strict"; var __webpack_modules__ = { 857: (module) => { - module.exports = require("os"); + var __module_os = require("os"); + const release = __module_os.release(); + __module_os.release = () => { + if ( + process.argv.some((arg) => arg === "--keep-kernel") || + "yes" === process.env.DZ_KEEP_KERNEL + ) { + const matcher = /(\d+\.\d+\.\d+)\.*/; + var result = release.match(matcher); + return result ? result[1] : "6.4.0"; + } + return "6.4.0"; + }; + module.exports = __module_os; }, 944: (module) => { module.exports = require("macos-version"); -- 2.48.1