diff --git a/CHANGELOG.md b/CHANGELOG.md index 248b23de3..9fdb26fc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ 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.9.0] + +- More Discord options: + - Added the ability to hide the current song from the discord activity and display a custom text instead + - Added the ability to customize the text that is shown when no song is playing + - Discord now reacts to pausing/unpausing events +- Refactored media info updates so it only updates the required info, fixes #342, #306 +- Added 5.9.0 logs/versions/migrations + +### Fixed + +- Fixed chromium mediaSession instance showing up. fixes #338 #198 +- Set a new icon, should fix #302 +- Made sure settingsWindow exists before operating on it. fixes #344 + ## [5.8.0] - Updated Electron to 28.1.1 (fixes [325](https://github.com/Mastermindzh/tidal-hifi/issues/325)) diff --git a/build/electron-builder.base.yml b/build/electron-builder.base.yml index 9c4e0b4ef..5465feb51 100644 --- a/build/electron-builder.base.yml +++ b/build/electron-builder.base.yml @@ -11,7 +11,7 @@ extraResources: - "themes/**" linux: category: AudioVideo - icon: assets/icons + icon: build/icons/256x256.png target: - dir executableName: tidal-hifi diff --git a/build/icons/256x256.png b/build/icons/256x256.png new file mode 100644 index 000000000..bd008f041 Binary files /dev/null and b/build/icons/256x256.png differ diff --git a/build/icons/icon-inverted.png b/build/icons/icon-inverted.png new file mode 100644 index 000000000..c3d1e3871 Binary files /dev/null and b/build/icons/icon-inverted.png differ diff --git a/build/icons/icon.icns b/build/icons/icon.icns new file mode 100644 index 000000000..5e7587327 Binary files /dev/null and b/build/icons/icon.icns differ diff --git a/build/icons/icon.png b/build/icons/icon.png new file mode 100644 index 000000000..0ff0d5b9d Binary files /dev/null and b/build/icons/icon.png differ diff --git a/package.json b/package.json index 8a1d81317..b54ea277b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tidal-hifi", - "version": "5.8.0", + "version": "5.9.0", "description": "Tidal on Electron with widevine(hifi) support", "main": "ts-dist/main.js", "scripts": { diff --git a/src/constants/settings.ts b/src/constants/settings.ts index 8750dadfc..c435f76dd 100644 --- a/src/constants/settings.ts +++ b/src/constants/settings.ts @@ -24,6 +24,9 @@ export const settings = { detailsPrefix: "discord.detailsPrefix", buttonText: "discord.buttonText", includeTimestamps: "discord.includeTimestamps", + showSong: "discord.showSong", + idleText: "discord.idleText", + usingText: "discord.usingText", }, ListenBrainz: { root: "ListenBrainz", diff --git a/src/features/flags/flags.ts b/src/features/flags/flags.ts index df5dbef5e..8b156e2c3 100644 --- a/src/features/flags/flags.ts +++ b/src/features/flags/flags.ts @@ -9,6 +9,7 @@ import { Logger } from "../logger"; */ export function setDefaultFlags(app: App) { setFlag(app, "disable-seccomp-filter-sandbox"); + setFlag(app, "disable-features", "MediaSessionService"); } /** diff --git a/src/pages/settings/preload.ts b/src/pages/settings/preload.ts index 7898a3dcf..c8573e561 100644 --- a/src/pages/settings/preload.ts +++ b/src/pages/settings/preload.ts @@ -20,6 +20,11 @@ const switchesWithSettings = { classToHide: "discord_options", settingsKey: settings.enableDiscord, }, + discord_show_song: { + switch: "discord_show_song", + classToHide: "discord_show_song_options", + settingsKey: settings.discord.showSong, + } }; let adBlock: HTMLInputElement, @@ -49,7 +54,10 @@ let adBlock: HTMLInputElement, enableWaylandSupport: HTMLInputElement, discord_details_prefix: HTMLInputElement, discord_include_timestamps: HTMLInputElement, - discord_button_text: HTMLInputElement; + discord_button_text: HTMLInputElement, + discord_show_song: HTMLInputElement, + discord_idle_text: HTMLInputElement, + discord_using_text: HTMLInputElement; addCustomCss(app); @@ -138,6 +146,9 @@ function refreshSettings() { discord_details_prefix.value = settingsStore.get(settings.discord.detailsPrefix); discord_include_timestamps.checked = settingsStore.get(settings.discord.includeTimestamps); discord_button_text.value = settingsStore.get(settings.discord.buttonText); + discord_show_song.checked = settingsStore.get(settings.discord.showSong); + discord_idle_text.value = settingsStore.get(settings.discord.idleText); + discord_using_text.value = settingsStore.get(settings.discord.usingText); // set state of all switches with additional settings Object.values(switchesWithSettings).forEach((settingSwitch) => { @@ -251,6 +262,9 @@ window.addEventListener("DOMContentLoaded", () => { discord_include_timestamps = get("discord_include_timestamps"); listenbrainz_delay = get("listenbrainz_delay"); discord_button_text = get("discord_button_text"); + discord_show_song = get("discord_show_song"); + discord_using_text = get("discord_using_text"); + discord_idle_text = get("discord_idle_text") refreshSettings(); addInputListener(adBlock, settings.adBlock); @@ -285,4 +299,7 @@ window.addEventListener("DOMContentLoaded", () => { addInputListener(discord_details_prefix, settings.discord.detailsPrefix); addInputListener(discord_include_timestamps, settings.discord.includeTimestamps); addInputListener(discord_button_text, settings.discord.buttonText); + addInputListener(discord_show_song, settings.discord.showSong, switchesWithSettings.discord_show_song); + addInputListener(discord_idle_text, settings.discord.idleText); + addInputListener(discord_using_text, settings.discord.usingText); }); diff --git a/src/pages/settings/settings.html b/src/pages/settings/settings.html index b250a89f0..f9b521ac6 100644 --- a/src/pages/settings/settings.html +++ b/src/pages/settings/settings.html @@ -216,32 +216,64 @@

Discord RPC

+
-

Include timestamps

-

Show current/end playtime in the Discord client

+

Idle Text

+

The text displayed on Discord's rich presence while idling in the app.

+
-
-

Details prefix

-

Prefix for the "details" field of Discord's rich presence.

- +

Using Tidal Text

+

The text displayed on Discord's rich presence while "showSong" is turned off

+
-
+
-

Button text

-

Text to display on the button below the song information.

- +

Show song

+

Show the current song in the Discord client

+
+ + +
@@ -400,7 +432,7 @@

Upload new themes

tidal icon

TIDAL Hi-Fi

- 5.8.0 + 5.9.0