From d5cb310799005d19463da5f52770cfad08fdd0c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Hamy?= Date: Mon, 26 May 2025 15:55:32 +0200 Subject: [PATCH 1/5] Add patch to optionally hide the "Application is offline" banner --- patches/11-hide-appoffline-banner.patch | 62 +++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 patches/11-hide-appoffline-banner.patch diff --git a/patches/11-hide-appoffline-banner.patch b/patches/11-hide-appoffline-banner.patch new file mode 100644 index 0000000..ed6fb64 --- /dev/null +++ b/patches/11-hide-appoffline-banner.patch @@ -0,0 +1,62 @@ +From eada05985500a3fb4c8dc0a9fa12a2300f785206 Mon Sep 17 00:00:00 2001 +From: Aurélien Hamy +Date: Mon, 26 May 2025 15:50:35 +0200 +Subject: [PATCH] feat: add toggle to hide application offline banner + +This solves #123 by adding the `--hide-appoffline-banner` command-line argument +to hide the annoying "Application is offline" banner, that sometimes appears when +using a VPN or DNS level blocker. +--- + build/index.html | 5 +++++ + build/main.js | 1 + + build/preload.js | 6 ++++++ + 3 files changed, 12 insertions(+) + +diff --git a/build/index.html b/build/index.html +index 4efcd23..019e786 100644 +--- a/build/index.html ++++ b/build/index.html +@@ -86,6 +86,11 @@ + width: auto !important; + } + } ++ ++ /* hide the offline alert when needed */ ++ .hide-AppOffline-banner .alert-wrapper:has(> div[data-testid="alert-AppOffline"]) { ++ display: none !important; ++ } + + + +diff --git a/build/main.js b/build/main.js +index 99935cb..91c99fb 100644 +--- a/build/main.js ++++ b/build/main.js +@@ -3166,6 +3166,7 @@ + getRealPath(external_electron_namespaceObject.app, __dirname), + "preload.js" + ), ++ additionalArguments: [`--hide-appoffline-banner=${process.argv.some((arg) => arg === "--hide-appoffline-banner")}`], + }, + windowOptions = { + title: "Deezer Desktop", +diff --git a/build/preload.js b/build/preload.js +index 1301e93..6814466 100644 +--- a/build/preload.js ++++ b/build/preload.js +@@ -538,6 +538,12 @@ + external_i18next_default().dir(external_i18next_default().language) + ? "rtl" + : "ltr"); ++ if (process.argv.some((arg) => arg === "--hide-appoffline-banner=true")) ++ document ++ .getElementsByTagName("body")[0] ++ .classList.add( ++ "hide-AppOffline-banner" ++ ); + }); + })(), + (module.exports = __webpack_exports__); +-- +2.49.0 + From f9bb47748930e5350c6af7489ac970699257bcb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Hamy?= Date: Mon, 26 May 2025 15:58:22 +0200 Subject: [PATCH 2/5] Update makefile accordingly --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 3c92291..5ece2f8 100644 --- a/Makefile +++ b/Makefile @@ -48,6 +48,7 @@ prepare: clean install_build_deps @echo "08 - Provide additional metadata (https://github.com/aunetx/deezer-linux/pull/95)" @echo "09 - Add Discord Rich Presence (https://github.com/aunetx/deezer-linux/pull/82)" @echo "10 - Improve responsiveness on small devices (https://github.com/aunetx/deezer-linux/pull/122)" + @echo "11 - Hide Application is offline banner (https://github.com/aunetx/deezer-linux/pull/124)" @$(foreach p, $(wildcard ./patches/*), patch -p 1 -d $(APP_DIR) < $(p);) @echo "Append `package-append.json` to the `package.json` of the app" From 947b699d2579fa71a19e687e9129b7aa0031dd96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Hamy?= Date: Mon, 26 May 2025 16:06:55 +0200 Subject: [PATCH 3/5] Update README to document `--hide-appoffline-banner` --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a4cd8cb..fd2f1cd 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ Other packages can be installed from you package manager, either by clicking on | `--keep-kernel` | Use the exact kernel version (see [patch](./patches/05-remove-os-information.patch))
_This feature impacts privacy._ | | `--disable-features` | Disable some features (see [patch](./patches/06-better-management-of-MPRIS.patch)) | | `--enable-discord-rpc` | Enable Discord RPC integration (see [patch](./patches/09-discord-rich-presence.patch)) | +| `--hide-appoffline-banner` | Hide the "Application is offline" banner that appears when using a VPN or DNS blocker (see [patch](./patches/11-hide-appoffline-banner.patch)) | `--enable-wayland-ime` `--ozone-platform-hint=auto` `--wayland-text-input-version=3` | Enable IME keyboard support on Wayland | | Environment variable | Options | Description | From 953841da377e22030ecfe380f4d0de41aaecd4ff Mon Sep 17 00:00:00 2001 From: josselinonduty Date: Tue, 8 Jul 2025 13:07:21 +0200 Subject: [PATCH 4/5] fix: improve hide appoffline patch w/ env var + docs --- README.md | 27 ++++++++-------- patches/11-hide-appoffline-banner.patch | 43 +++++++++++++------------ 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index fd2f1cd..247c0ce 100644 --- a/README.md +++ b/README.md @@ -37,20 +37,21 @@ Other packages can be installed from you package manager, either by clicking on ## Usage -| Option | Description | -| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | -| `--start-in-tray` | Start the app in the tray (see [patch](./patches/01-start-hidden-in-tray.patch)) | -| `--disable-systray` | Quit the app when the window is closed (see [patch](./patches/03-quit.patch)) | -| `--keep-kernel` | Use the exact kernel version (see [patch](./patches/05-remove-os-information.patch))
_This feature impacts privacy._ | -| `--disable-features` | Disable some features (see [patch](./patches/06-better-management-of-MPRIS.patch)) | -| `--enable-discord-rpc` | Enable Discord RPC integration (see [patch](./patches/09-discord-rich-presence.patch)) | -| `--hide-appoffline-banner` | Hide the "Application is offline" banner that appears when using a VPN or DNS blocker (see [patch](./patches/11-hide-appoffline-banner.patch)) -| `--enable-wayland-ime` `--ozone-platform-hint=auto` `--wayland-text-input-version=3` | Enable IME keyboard support on Wayland | +| Option | Description | +| ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `--start-in-tray` | Start the app in the tray (see [patch](./patches/01-start-hidden-in-tray.patch)) | +| `--disable-systray` | Quit the app when the window is closed (see [patch](./patches/03-quit.patch)) | +| `--keep-kernel` | Use the exact kernel version (see [patch](./patches/05-remove-os-information.patch))
_This feature impacts privacy._ | +| `--disable-features` | Disable some features (see [patch](./patches/06-better-management-of-MPRIS.patch)) | +| `--enable-discord-rpc` | Enable Discord RPC integration (see [patch](./patches/09-discord-rich-presence.patch)) | +| `--hide-appoffline-banner` | Hide the "Application is offline" banner that appears when using a VPN or DNS blocker (see [patch](./patches/11-hide-appoffline-banner.patch)) | +| `--enable-wayland-ime` `--ozone-platform-hint=auto` `--wayland-text-input-version=3` | Enable IME keyboard support on Wayland | -| Environment variable | Options | Description | -| -------------------- | -------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `LOG_LEVEL` | `silly`,`debug`,`verbose`,`info`,`warning`,`error` | Set the log level (see [patch](./patches/07-log-level-environment-variable.patch)) | -| `DZ_DEVTOOLS` | `yes`,`no` | Enable the developer console (ctrl+shift+i) | +| Environment variable | Options | Description | +| --------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------ | +| `DZ_HIDE_APPOFFLINE_BANNER` | `yes`,`no` | Hide the "Application is offline" banner (see [patch](./patches/11-hide-appoffline-banner.patch)) | +| `LOG_LEVEL` | `silly`,`debug`,`verbose`,`info`,`warning`,`error` | Set the log level (see [patch](./patches/07-log-level-environment-variable.patch)) | +| `DZ_DEVTOOLS` | `yes`,`no` | Enable the developer console (ctrl+shift+i) | ## Building from source diff --git a/patches/11-hide-appoffline-banner.patch b/patches/11-hide-appoffline-banner.patch index ed6fb64..68c754e 100644 --- a/patches/11-hide-appoffline-banner.patch +++ b/patches/11-hide-appoffline-banner.patch @@ -1,62 +1,65 @@ -From eada05985500a3fb4c8dc0a9fa12a2300f785206 Mon Sep 17 00:00:00 2001 -From: Aurélien Hamy -Date: Mon, 26 May 2025 15:50:35 +0200 +From bbb88f846c94978959f4816069332b4d9f9f4dab Mon Sep 17 00:00:00 2001 +From: josselinonduty +Date: Tue, 8 Jul 2025 12:54:19 +0200 Subject: [PATCH] feat: add toggle to hide application offline banner This solves #123 by adding the `--hide-appoffline-banner` command-line argument to hide the annoying "Application is offline" banner, that sometimes appears when using a VPN or DNS level blocker. --- - build/index.html | 5 +++++ - build/main.js | 1 + - build/preload.js | 6 ++++++ - 3 files changed, 12 insertions(+) + build/index.html | 6 ++++++ + build/main.js | 5 +++++ + build/preload.js | 4 ++++ + 3 files changed, 15 insertions(+) diff --git a/build/index.html b/build/index.html -index 4efcd23..019e786 100644 +index 4efcd23..4be829c 100644 --- a/build/index.html +++ b/build/index.html -@@ -86,6 +86,11 @@ +@@ -86,6 +86,12 @@ width: auto !important; } } + + /* hide the offline alert when needed */ -+ .hide-AppOffline-banner .alert-wrapper:has(> div[data-testid="alert-AppOffline"]) { ++ .hide-AppOffline-banner ++ .alert-wrapper:has(> div[data-testid="alert-AppOffline"]) { + display: none !important; + } diff --git a/build/main.js b/build/main.js -index 99935cb..91c99fb 100644 +index 99935cb..1c16dbe 100644 --- a/build/main.js +++ b/build/main.js -@@ -3166,6 +3166,7 @@ +@@ -3166,6 +3166,11 @@ getRealPath(external_electron_namespaceObject.app, __dirname), "preload.js" ), -+ additionalArguments: [`--hide-appoffline-banner=${process.argv.some((arg) => arg === "--hide-appoffline-banner")}`], ++ additionalArguments: [ ++ (process.argv.some((arg) => arg === "--hide-appoffline-banner") || ++ "yes" === process.env.DZ_HIDE_APPOFFLINE_BANNER) && ++ "--hide-appoffline-banner", ++ ].filter(Boolean), }, windowOptions = { title: "Deezer Desktop", diff --git a/build/preload.js b/build/preload.js -index 1301e93..6814466 100644 +index 1301e93..05939c4 100644 --- a/build/preload.js +++ b/build/preload.js -@@ -538,6 +538,12 @@ +@@ -538,6 +538,10 @@ external_i18next_default().dir(external_i18next_default().language) ? "rtl" : "ltr"); -+ if (process.argv.some((arg) => arg === "--hide-appoffline-banner=true")) ++ if (process.argv.some((arg) => arg === "--hide-appoffline-banner")) + document + .getElementsByTagName("body")[0] -+ .classList.add( -+ "hide-AppOffline-banner" -+ ); ++ .classList.add("hide-AppOffline-banner"); }); })(), (module.exports = __webpack_exports__); -- -2.49.0 +2.48.1 From 260f18250459c7523e89e492f0139fa815dae28c Mon Sep 17 00:00:00 2001 From: josselinonduty Date: Tue, 8 Jul 2025 13:11:27 +0200 Subject: [PATCH 5/5] chore: add author to patch --- patches/11-hide-appoffline-banner.patch | 1 + 1 file changed, 1 insertion(+) diff --git a/patches/11-hide-appoffline-banner.patch b/patches/11-hide-appoffline-banner.patch index 68c754e..e827657 100644 --- a/patches/11-hide-appoffline-banner.patch +++ b/patches/11-hide-appoffline-banner.patch @@ -3,6 +3,7 @@ From: josselinonduty Date: Tue, 8 Jul 2025 12:54:19 +0200 Subject: [PATCH] feat: add toggle to hide application offline banner +Original patch: Aurélien Hamy This solves #123 by adding the `--hide-appoffline-banner` command-line argument to hide the annoying "Application is offline" banner, that sometimes appears when using a VPN or DNS level blocker.