mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2025-09-14 07:39:25 +02:00
Compare commits
8 Commits
5.15.0
...
e902face79
Author | SHA1 | Date | |
---|---|---|---|
e902face79 | |||
4c60067fc6 | |||
625c5498d4 | |||
6ac25ca857 | |||
1f856eedbd | |||
8b09759e5e | |||
22b4668639 | |||
|
403354186e |
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/setup-node@master
|
||||
with:
|
||||
node-version: 22.4
|
||||
node-version: 20
|
||||
- run: npm install
|
||||
- run: npm run build
|
||||
|
||||
@@ -41,6 +41,6 @@ jobs:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/setup-node@master
|
||||
with:
|
||||
node-version: 22.4
|
||||
node-version: 20
|
||||
- run: npm install
|
||||
- run: npm run build
|
||||
|
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/setup-node@master
|
||||
with:
|
||||
node-version: 22.4
|
||||
node-version: 20
|
||||
- run: npm install
|
||||
- run: npm run build
|
||||
- uses: actions/upload-artifact@master
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/setup-node@master
|
||||
with:
|
||||
node-version: 22.4
|
||||
node-version: 20
|
||||
- run: npm install
|
||||
- run: npm run build
|
||||
- uses: actions/upload-artifact@master
|
||||
|
@@ -3,6 +3,7 @@
|
||||
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).
|
||||
<https://github.com/Times-Z>
|
||||
|
||||
## [5.15.0]
|
||||
|
||||
@@ -10,9 +11,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Updated most dependency versions
|
||||
- This includes Electron 31!
|
||||
|
||||
- Added a channel selector so we can now use Tidal's staging environment directly from the app
|
||||
- implements [#437](https://github.com/Mastermindzh/tidal-hifi/issues/437)
|
||||
|
||||
## [5.14.1]
|
||||
|
||||
- Fixed `getAlbumName` not finding album name whilst on queue page
|
||||
|
1802
package-lock.json
generated
1802
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
@@ -45,12 +45,12 @@
|
||||
"axios": "^1.7.2",
|
||||
"cors": "^2.8.5",
|
||||
"discord-rpc": "^4.0.1",
|
||||
"electron-store": "^8.2.0",
|
||||
"electron-store": "^8.0.0",
|
||||
"express": "^4.19.2",
|
||||
"hotkeys-js": "^3.13.7",
|
||||
"mpris-service": "^2.1.2",
|
||||
"request": "^2.88.2",
|
||||
"sass": "^1.77.7",
|
||||
"sass": "^1.77.6",
|
||||
"swagger-ui-express": "^5.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -61,12 +61,12 @@
|
||||
"@types/node": "^20.14.10",
|
||||
"@types/request": "^2.48.12",
|
||||
"@types/swagger-ui-express": "^4.1.6",
|
||||
"@typescript-eslint/eslint-plugin": "^7.16.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.15.0",
|
||||
"@typescript-eslint/parser": "^7.15.0",
|
||||
"copyfiles": "^2.4.1",
|
||||
"electron": "git+https://github.com/castlabs/electron-releases#v31.1.0+wvcus",
|
||||
"electron-builder": "~24.9.4",
|
||||
"eslint": "^8.57.0",
|
||||
"electron-builder": "^24.13.3",
|
||||
"eslint": "^8.56.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"markdown-toc": "^1.2.0",
|
||||
"nodemon": "^3.1.4",
|
||||
|
@@ -10,10 +10,6 @@
|
||||
*/
|
||||
export const settings = {
|
||||
adBlock: "adBlock",
|
||||
advanced: {
|
||||
root: "advanced",
|
||||
tidalUrl: "advanced.tidalUrl",
|
||||
},
|
||||
api: "api",
|
||||
apiSettings: {
|
||||
root: "apiSettings",
|
||||
|
@@ -48,9 +48,6 @@ export class ListenBrainz {
|
||||
} else {
|
||||
// Fetches the oldData required for scrobbling and proceeds to construct a playing_now data payload for the Playing Now area
|
||||
const oldData = ListenBrainzStore.get(ListenBrainzConstants.oldData) as StoreData;
|
||||
const tidalUrl =
|
||||
settingsStore.get<string, string>(settings.advanced.tidalUrl) ||
|
||||
"https://listen.tidal.com";
|
||||
const playing_data = {
|
||||
listen_type: "playing_now",
|
||||
payload: [
|
||||
@@ -98,7 +95,7 @@ export class ListenBrainz {
|
||||
additional_info: {
|
||||
media_player: "Tidal Hi-Fi",
|
||||
submission_client: "Tidal Hi-Fi",
|
||||
music_service: tidalUrl,
|
||||
music_service: "listen.tidal.com",
|
||||
duration: oldData.duration,
|
||||
},
|
||||
artist_name: oldData.artists,
|
||||
|
@@ -24,6 +24,7 @@ import {
|
||||
showSettingsWindow,
|
||||
} from "./scripts/settings";
|
||||
import { addTray, refreshTray } from "./scripts/tray";
|
||||
const tidalUrl = "https://listen.tidal.com";
|
||||
let mainInhibitorId = -1;
|
||||
|
||||
initialize();
|
||||
@@ -39,9 +40,6 @@ const windowPreferences = {
|
||||
setDefaultFlags(app);
|
||||
setManagedFlagsFromSettings(app);
|
||||
|
||||
const tidalUrl =
|
||||
settingsStore.get<string, string>(settings.advanced.tidalUrl) || "https://listen.tidal.com";
|
||||
|
||||
/**
|
||||
* Update the menuBarVisibility according to the store value
|
||||
*
|
||||
|
@@ -29,7 +29,6 @@ const switchesWithSettings = {
|
||||
|
||||
let adBlock: HTMLInputElement,
|
||||
api: HTMLInputElement,
|
||||
channel: HTMLSelectElement,
|
||||
customCSS: HTMLInputElement,
|
||||
disableBackgroundThrottle: HTMLInputElement,
|
||||
disableHardwareMediaKeys: HTMLInputElement,
|
||||
@@ -122,7 +121,6 @@ function refreshSettings() {
|
||||
try {
|
||||
adBlock.checked = settingsStore.get(settings.adBlock);
|
||||
api.checked = settingsStore.get(settings.api);
|
||||
channel.value = settingsStore.get(settings.advanced.tidalUrl);
|
||||
customCSS.value = settingsStore.get<string, string[]>(settings.customCSS).join("\n");
|
||||
disableBackgroundThrottle.checked = settingsStore.get(settings.disableBackgroundThrottle);
|
||||
disableHardwareMediaKeys.checked = settingsStore.get(settings.flags.disableHardwareMediaKeys);
|
||||
@@ -240,7 +238,6 @@ window.addEventListener("DOMContentLoaded", () => {
|
||||
|
||||
adBlock = get("adBlock");
|
||||
api = get("apiCheckbox");
|
||||
channel = get<HTMLSelectElement>("channel");
|
||||
customCSS = get("customCSS");
|
||||
disableBackgroundThrottle = get("disableBackgroundThrottle");
|
||||
disableHardwareMediaKeys = get("disableHardwareMediaKeys");
|
||||
@@ -275,7 +272,6 @@ window.addEventListener("DOMContentLoaded", () => {
|
||||
refreshSettings();
|
||||
addInputListener(adBlock, settings.adBlock);
|
||||
addInputListener(api, settings.api);
|
||||
addSelectListener(channel, settings.advanced.tidalUrl);
|
||||
addTextAreaListener(customCSS, settings.customCSS);
|
||||
addInputListener(disableBackgroundThrottle, settings.disableBackgroundThrottle);
|
||||
addInputListener(disableHardwareMediaKeys, settings.flags.disableHardwareMediaKeys);
|
||||
|
@@ -49,7 +49,7 @@
|
||||
<div class="group__option">
|
||||
<div class="group__description">
|
||||
<h4>Notifications</h4>
|
||||
<p>Show a notification when new media starts.</p>
|
||||
<p>Show a notification when a new song starts.</p>
|
||||
</div>
|
||||
<label class="switch">
|
||||
<input id="notifications" type="checkbox" />
|
||||
@@ -245,7 +245,7 @@
|
||||
|
||||
<div class="group__option" class="hidden">
|
||||
<div class="group__description">
|
||||
<h4>Show media</h4>
|
||||
<h4>Show song</h4>
|
||||
<p>Show the current media in the Discord client</p>
|
||||
</div>
|
||||
<label class="switch">
|
||||
@@ -278,7 +278,7 @@
|
||||
<div class="group__option">
|
||||
<div class="group__description">
|
||||
<h4>Button text</h4>
|
||||
<p>Text to display on the button below the media information.</p>
|
||||
<p>Text to display on the button below the song information.</p>
|
||||
<input id="discord_button_text" type="text" class="text-input" name="discord_button_text" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -316,7 +316,7 @@
|
||||
</div>
|
||||
<div class="group__description">
|
||||
<h4>ScrobbleDelay</h4>
|
||||
<p>The delay (in ms) to send a listen to ListenBrainz. Prevents spamming the API when you fast forward
|
||||
<p>The delay (in ms) to send a song to ListenBrainz. Prevents spamming the API when you fast forward
|
||||
immediately</p>
|
||||
<input id="listenbrainz_delay" type="number" class="text-input" name="listenbrainz_delay" />
|
||||
</div>
|
||||
@@ -338,20 +338,6 @@
|
||||
<input id="updateFrequency" type="number" class="text-input" name="updateFrequency" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="group__option">
|
||||
<div class="group__description">
|
||||
<h4>Tidal channel / URL</h4>
|
||||
<p>
|
||||
Which URL Tidal Hi-Fi should use.
|
||||
<strong>note! Beta might break at any time</strong>
|
||||
</p>
|
||||
<select class="select-input" id="channel" name="channel">
|
||||
<option value="https://listen.tidal.com">Stable (listen.tidal.com)</option>
|
||||
<option value="https://listen.stage.tidal.com">Staging (listen.stage.tidal.com)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="group">
|
||||
<p class="group__title">Flags</p>
|
||||
|
@@ -28,9 +28,6 @@ const buildMigration = (
|
||||
export const settingsStore = new Store({
|
||||
defaults: {
|
||||
adBlock: false,
|
||||
advanced: {
|
||||
tidalUrl: "https://listen.tidal.com",
|
||||
},
|
||||
api: true,
|
||||
apiSettings: {
|
||||
port: 47836,
|
||||
@@ -110,11 +107,6 @@ export const settingsStore = new Store({
|
||||
{ key: settings.apiSettings.hostname, value: "127.0.0.1" },
|
||||
]);
|
||||
},
|
||||
"5.15.0": (migrationStore) => {
|
||||
buildMigration("5.15.0", migrationStore, [
|
||||
{ key: settings.advanced.tidalUrl, value: "https://listen.tidal.com" },
|
||||
]);
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user