diff --git a/CHANGELOG.md b/CHANGELOG.md index 655ce66..adcf15a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [5.7.0] + +- Renamed app to TIDAL Hi-Fi. +- Made sure all windows run with the same web preferences set (compared to main app). + - Fixes the last.fm bug. + ## [5.6.0] - Added support for Wayland (on by default) fixes [#262](https://github.com/Mastermindzh/tidal-hifi/issues/262) and [#157](https://github.com/Mastermindzh/tidal-hifi/issues/157) -- Made it clear in the readme that this tidal-hifi client supports High & Max audio settings. fixes [#261](https://github.com/Mastermindzh/tidal-hifi/issues/261) -- Added app suspension inhibitors when music is playing. fixes [#257](https://github.com/Mastermindzh/tidal-hifi/issues/257) +- Made it clear in the readme that this TIDAL Hi-Fi client supports High & Max audio settings. fixes [#261](https://github.com/Mastermindzh/tidal-hifi/issues/261) - Fixed bug with theme files from user directory trying to load: "an error occurred reading the theme file" - Fixed: config flags not being set correctly - [DEV]: @@ -89,7 +94,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - New settings window by BlueManCZ - Fixed the desktop files in electron-builder - icon is set to new static path based on Arch/Debian - - Name has changed to Tidal-Hifi + - Name has changed to TIDAL Hi-Fi ## 4.1.2 @@ -137,7 +142,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated to Electron 15 - Fixed the develop "build-unpacked" command -- Added setting to disable multiple tidal-hifi windows (defaults to true) +- Added setting to disable multiple TIDAL Hi-Fi windows (defaults to true) - Added setting to disable HardwareMediaKeyHandling (defaults to false) ## 2.8.2 @@ -175,7 +180,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## 2.5.0 -- Notify-send now correctly shows "Tidal HiFi" as the program name +- Notify-send now correctly shows "Tidal Hi-Fi" as the program name - Updated dependencies (including electron itself) ### known issues diff --git a/README.md b/README.md index 9055891..abac078 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,20 @@ -# Tidal-hifi +# TIDAL Hi-Fi (Max quality) ![GitHub release](https://img.shields.io/github/release/Mastermindzh/tidal-hifi.svg) [![github builds](https://github.com/mastermindzh/tidal-hifi/actions/workflows/build.yml/badge.svg)](https://github.com/Mastermindzh/tidal-hifi/actions) [![Build Status](https://ci.mastermindzh.tech/api/badges/Mastermindzh/tidal-hifi/status.svg)](https://ci.mastermindzh.tech/Mastermindzh/tidal-hifi) [![Discord logo](./docs/images/discord.png)](https://discord.gg/yhNwf4v4He) The web version of [listen.tidal.com](https://listen.tidal.com) running in electron with hifi (High & Max) support thanks to widevine. -![tidal-hifi preview](./docs/images/preview.png) +![TIDAL Hi-Fi preview](./docs/images/preview.png) ## Table of Contents -- [Tidal-hifi](#tidal-hifi) +- [TIDAL Hi-Fi (Max quality)](#tidal-hi-fi-max-quality-) - [Table of Contents](#table-of-contents) - [Features](#features) - [Contributions](#contributions) - - [Why did I create tidal-hifi?](#why-did-i-create-tidal-hifi) + - [Why did I create TIDAL Hi-Fi?](#why-did-i-create-tidal-hi-fi) - [Why not extend existing projects?](#why-not-extend-existing-projects) - [Installation](#installation) - [Dependencies](#dependencies) @@ -26,7 +26,6 @@ The web version of [listen.tidal.com](https://listen.tidal.com) running in elect - [Using source](#using-source) - [Integrations](#integrations) - [Known bugs](#known-bugs) - - [last.fm doesn't work out of the box. Use rescrobbler as a workaround](#lastfm-doesnt-work-out-of-the-box-use-rescrobbler-as-a-workaround) - [DRM not working on Windows](#drm-not-working-on-windows) - [Special thanks to](#special-thanks-to) - [Donations](#donations) @@ -58,7 +57,7 @@ To contribute you can use the standard GitHub features (issues, prs, etc) or joi - ![Discord logo](./docs/images/discord.png) [Join the Discord server](https://discord.gg/yhNwf4v4He) -## Why did I create tidal-hifi? +## Why did I create TIDAL Hi-Fi? I moved from Spotify over to Tidal and found Linux support to be lacking. When I started this project there weren't any Linux apps that offered Tidal's "hifi" options nor any scripts to control it. @@ -103,10 +102,10 @@ To install with `snap` you need to download the pre-packaged snap-package from t ### Arch Linux -Arch Linux users can use the AUR to install tidal-hifi: +Arch Linux users can use the AUR to install TIDAL Hi-Fi: ```sh -trizen tidal-hifi-bin +trizen tidal-hifi-git ``` ### Flatpak @@ -130,13 +129,13 @@ nix-env -iA nixpkgs.tidal-hifi To install and work with the code on this project follow these steps: - git clone [https://github.com/Mastermindzh/tidal-hifi.git](https://github.com/Mastermindzh/tidal-hifi.git) -- cd tidal-hifi +- cd TIDAL Hi-Fi - npm install - npm start ## Integrations -tidal-hifi comes with several integrations out of the box. +TIDAL Hi-Fi comes with several integrations out of the box. You can find these in the settings menu (`ctrl + =` by default) under the "integrations" tab. ![integrations menu, showing a list of integrations](./docs/images/integrations.png) @@ -148,15 +147,9 @@ Integrations with other projects that are not included natively: ## Known bugs -### last.fm doesn't work out of the box. Use rescrobbler as a workaround - -The last.fm login doesn't work, as is evident from the following issue: [Last.fm login doesn't work](https://github.com/Mastermindzh/tidal-hifi/issues/4). -However, in that same issue you can read about a workaround using [rescrobbler](https://github.com/InputUsername/rescrobbled). -For now, that will be the default workaround. - ### DRM not working on Windows -Most Windows users run into DRM issues when trying to use tidal-hifi. +Most Windows users run into DRM issues when trying to use TIDAL Hi-Fi. Nothing I can do about that I'm afraid... Tidal is working on removing/changing DRM so when they finish with that we can give it another shot. ## Special thanks to diff --git a/docs/theming.md b/docs/theming.md index 2599ca4..bc2317a 100644 --- a/docs/theming.md +++ b/docs/theming.md @@ -1,10 +1,10 @@ -# Theming tidal-hifi +# Theming TIDAL Hi-Fi ## Table of contents -- [Theming tidal-hifi](#theming-tidal-hifi) +- [Theming TIDAL Hi-Fi](#theming-TIDAL Hi-Fi) - [Table of contents](#table-of-contents) - [Custom CSS](#custom-css) - [config](#config) @@ -12,7 +12,7 @@ -By default tidal-hifi comes with a few themes. +By default TIDAL Hi-Fi comes with a few themes. You can select these in the settings window under the theming tab as shown below. ![Settings window with the theming tab opened](./images/theming.png) diff --git a/package-lock.json b/package-lock.json index 481c596..028d80d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "tidal-hifi", + "name": "TIDAL Hi-Fi", "version": "5.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "tidal-hifi", + "name": "TIDAL Hi-Fi", "version": "5.6.0", "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index e587566..75711ce 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "castlabs" ], "author": "Rick van Lieshout (http://rickvanlieshout.com)", - "homepage": "https://github.com/Mastermindzh/tidal-hifi", + "homepage": "https://github.com/Mastermindzh/TIDAL Hi-Fi", "license": "MIT", "dependencies": { "@electron/remote": "^2.0.10", diff --git a/src/constants/values.ts b/src/constants/values.ts index a4e2764..57465a6 100644 --- a/src/constants/values.ts +++ b/src/constants/values.ts @@ -1,3 +1,3 @@ export default { - name: "tidal-hifi", + name: "TIDAL Hi-Fi", }; diff --git a/src/features/flags/flags.ts b/src/features/flags/flags.ts index 3ec730a..df5dbef 100644 --- a/src/features/flags/flags.ts +++ b/src/features/flags/flags.ts @@ -21,7 +21,6 @@ export function setManagedFlagsFromSettings(app: App) { for (const [key, value] of Object.entries(flagsFromSettings)) { if (value) { flags[key].forEach((flag) => { - Logger.log(`enabling command line option ${flag.flag} with value ${flag.value}`); setFlag(app, flag.flag, flag.value); }); } @@ -37,5 +36,6 @@ export function setManagedFlagsFromSettings(app: App) { */ // eslint-disable-next-line @typescript-eslint/no-explicit-any function setFlag(app: App, flag: string, value?: any) { + Logger.log(`enabling command line option ${flag} with value ${value}`); app.commandLine.appendSwitch(flag, value); } diff --git a/src/main.ts b/src/main.ts index 216bd07..f20b6ef 100644 --- a/src/main.ts +++ b/src/main.ts @@ -37,10 +37,14 @@ const tidalUrl = "https://listen.tidal.com"; let mainInhibitorId = -1; initialize(); - let mainWindow: BrowserWindow; const icon = path.join(__dirname, "../assets/icon.png"); const PROTOCOL_PREFIX = "tidal"; +const windowPreferences = { + sandbox: false, + plugins: true, + devTools: true, // I like tinkering, others might too +}; setDefaultFlags(app); setManagedFlagsFromSettings(app); @@ -84,10 +88,10 @@ function createWindow(options = { x: 0, y: 0, backgroundColor: "white" }) { backgroundColor: options.backgroundColor, autoHideMenuBar: true, webPreferences: { - sandbox: false, - preload: path.join(__dirname, "preload.js"), - plugins: true, - devTools: true, // I like tinkering, others might too + ...windowPreferences, + ...{ + preload: path.join(__dirname, "preload.js"), + }, }, }); enable(mainWindow.webContents); @@ -120,6 +124,18 @@ function createWindow(options = { x: 0, y: 0, backgroundColor: "white" }) { const { width, height } = mainWindow.getBounds(); settingsStore.set(settings.windowBounds.root, { width, height }); }); + mainWindow.webContents.setWindowOpenHandler(() => { + return { + action: "allow", + overrideBrowserWindowOptions: { + webPreferences: { + sandbox: false, + plugins: true, + devTools: true, // I like tinkering, others might too + }, + }, + }; + }); } function registerHttpProtocols() { diff --git a/src/pages/settings/preload.ts b/src/pages/settings/preload.ts index 0194a41..e518c79 100644 --- a/src/pages/settings/preload.ts +++ b/src/pages/settings/preload.ts @@ -118,7 +118,7 @@ function hide() { } /** - * Restart tidal-hifi after changes + * Restart TIDAL Hi-Fi after changes */ function restart() { app.relaunch(); diff --git a/src/pages/settings/settings.html b/src/pages/settings/settings.html index a06070c..86c3000 100644 --- a/src/pages/settings/settings.html +++ b/src/pages/settings/settings.html @@ -250,7 +250,7 @@

Update frequency

- The amount of time, in milliseconds, that tidal-hifi will refresh its playback info by scraping the + The amount of time, in milliseconds, that TIDAL Hi-Fi will refresh its playback info by scraping the website. The default of 500 seems to work in more cases but if you are fine with a bit more resource usage you can decrease it as well. @@ -300,7 +300,7 @@

Wayland support

- Adds a couple of Electron flags to help Tidal-hifi run smoothly on the Wayland window system. + Adds a couple of Electron flags to help TIDAL Hi-Fi run smoothly on the Wayland window system.