diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c4ebc4..4e1e637 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@master - uses: actions/setup-node@master with: - node-version: 22.4 + node-version: 22.12.0 - run: npm install - run: npm run build # - uses: actions/upload-artifact@master diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 29ad69f..aaf5c43 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@master - uses: actions/setup-node@master with: - node-version: 22.4 + node-version: 22.12.0 - run: npm install - run: npm run build - uses: actions/upload-artifact@master diff --git a/.nvmrc b/.nvmrc index fc37597..dc0bb0f 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.17.0 +v22.12.0 diff --git a/.vscode/settings.json b/.vscode/settings.json index b9aadb7..2a7eb29 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -17,7 +17,9 @@ "trackid", "tracklist", "widevine", - "xesam" + "wvcus", + "xesam", + "xhayper" ], "sonarlint.connectedMode.project": { "connectionId": "public-sonarcloud", diff --git a/CHANGELOG.md b/CHANGELOG.md index 701a83b..c001e21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ 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.20.0] + +- Removes the `--enable-features=UseOzonePlatform` flag, as the Ozone platform has been the default on Linux since Electron 28 and this flag is no longer necessary. +- Adds the `--enable-wayland-ime` flag to enable Input Method Editor (IME) support in Wayland environments, improving the input experience for CJK and other users. +- Updated various dependencies +- Updated Electron to 37, potentially fixing [#580](https://github.com/Mastermindzh/tidal-hifi/issues/580) + ## [5.19.0] - Fixed the issue where media updates would cease to work after album names can't be found diff --git a/package-lock.json b/package-lock.json index de6fd01..1983741 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,22 +1,22 @@ { "name": "tidal-hifi", - "version": "5.19.0", + "version": "5.20.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "tidal-hifi", - "version": "5.19.0", + "version": "5.20.0", "license": "MIT", "dependencies": { - "@electron/remote": "^2.1.2", + "@electron/remote": "^2.1.3", "@types/swagger-jsdoc": "^6.0.4", - "@xhayper/discord-rpc": "^1.2.1", - "axios": "^1.9.0", + "@xhayper/discord-rpc": "1.2.1", + "axios": "^1.10.0", "cors": "^2.8.5", "electron-store": "^8.2.0", "express": "^5.1.0", - "hotkeys-js": "^3.13.11", + "hotkeys-js": "^3.13.15", "mpris-service": "^2.1.2", "request": "^2.88.2", "sass": "1.89.2", @@ -24,15 +24,15 @@ }, "devDependencies": { "@mastermindzh/prettier-config": "^1.0.0", - "@types/cors": "^2.8.17", - "@types/express": "^5.0.1", + "@types/cors": "^2.8.19", + "@types/express": "^5.0.3", "@types/node": "^22.0.0", "@types/request": "^2.48.12", "@types/swagger-ui-express": "^4.1.8", - "@typescript-eslint/eslint-plugin": "^8.0.0", - "@typescript-eslint/parser": "^8.0.0", + "@typescript-eslint/eslint-plugin": "^8.36.0", + "@typescript-eslint/parser": "^8.36.0", "copyfiles": "^2.4.1", - "electron": "github:castlabs/electron-releases#v35.7.0+wvcus", + "electron": "github:castlabs/electron-releases#v37.2.0+wvcus", "electron-builder": "~26.0.12", "eslint": "^9.0.0", "js-yaml": "^4.1.0", @@ -45,7 +45,7 @@ "stylelint-prettier": "^5.0.3", "swagger-jsdoc": "^6.2.8", "ts-node": "^10.9.2", - "tsc-watch": "^7.0.0", + "tsc-watch": "^7.1.1", "typescript": "^5.8.3" } }, diff --git a/package.json b/package.json index cc97b32..6f6dcf2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tidal-hifi", - "version": "5.19.0", + "version": "5.20.0", "description": "Tidal on Electron with widevine(hifi) support", "main": "ts-dist/main.js", "scripts": { @@ -40,13 +40,13 @@ "homepage": "https://github.com/Mastermindzh/tidal-hifi", "license": "MIT", "dependencies": { - "@electron/remote": "^2.1.2", + "@electron/remote": "^2.1.3", "@types/swagger-jsdoc": "^6.0.4", - "@xhayper/discord-rpc": "^1.2.1", - "axios": "^1.9.0", + "@xhayper/discord-rpc": "1.2.1", + "axios": "^1.10.0", "electron-store": "^8.2.0", "express": "^5.1.0", - "hotkeys-js": "^3.13.11", + "hotkeys-js": "^3.13.15", "mpris-service": "^2.1.2", "sass": "1.89.2", "swagger-ui-express": "^5.0.1", @@ -55,28 +55,28 @@ }, "devDependencies": { "@mastermindzh/prettier-config": "^1.0.0", - "@types/cors": "^2.8.17", - "@types/express": "^5.0.1", - "@types/node": "^22.0.0", + "@types/cors": "^2.8.19", + "@types/express": "^5.0.3", + "@types/node": "^22.16.2", "@types/request": "^2.48.12", "@types/swagger-ui-express": "^4.1.8", - "@typescript-eslint/eslint-plugin": "^8.0.0", - "@typescript-eslint/parser": "^8.0.0", + "@typescript-eslint/eslint-plugin": "^8.36.0", + "@typescript-eslint/parser": "^8.36.0", "copyfiles": "^2.4.1", - "electron": "github:castlabs/electron-releases#v35.7.0+wvcus", + "electron": "github:castlabs/electron-releases#v37.2.0+wvcus", "electron-builder": "~26.0.12", - "eslint": "^9.0.0", + "eslint": "^9.30.1", "js-yaml": "^4.1.0", "markdown-toc": "^1.2.0", - "nodemon": "^3.1.9", - "prettier": "^3.5.3", - "stylelint": "^16.18.0", + "nodemon": "^3.1.10", + "prettier": "^3.6.2", + "stylelint": "^16.21.1", "stylelint-config-standard": "^38.0.0", - "stylelint-config-standard-scss": "^15.0.0", + "stylelint-config-standard-scss": "^15.0.1", "stylelint-prettier": "^5.0.3", "swagger-jsdoc": "^6.2.8", "ts-node": "^10.9.2", - "tsc-watch": "^7.0.0", + "tsc-watch": "^7.1.1", "typescript": "^5.8.3" }, "prettier": "@mastermindzh/prettier-config" diff --git a/renovate.json b/renovate.json index 7190a60..96d155b 100644 --- a/renovate.json +++ b/renovate.json @@ -1,3 +1,4 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json" + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "ignoreDeps": ["@types/node", "electron-store", "@xhayper/discord-rpc"] } diff --git a/src/features/api/swagger.json b/src/features/api/swagger.json index afe07d1..1dfeae7 100644 --- a/src/features/api/swagger.json +++ b/src/features/api/swagger.json @@ -2,7 +2,7 @@ "openapi": "3.1.0", "info": { "title": "TIDAL Hi-Fi API", - "version": "5.19.0", + "version": "5.20.0", "description": "", "license": { "name": "MIT", @@ -21,9 +21,7 @@ "/current": { "get": { "summary": "Get current media info", - "tags": [ - "current" - ], + "tags": ["current"], "responses": { "200": { "description": "Current media info", @@ -41,9 +39,7 @@ "/current/image": { "get": { "summary": "Get current media image", - "tags": [ - "current" - ], + "tags": ["current"], "responses": { "200": { "description": "Current media image", @@ -65,9 +61,7 @@ "/player/play": { "post": { "summary": "Play the current media", - "tags": [ - "player" - ], + "tags": ["player"], "responses": { "200": { "description": "Ok", @@ -85,9 +79,7 @@ "/player/favorite/toggle": { "post": { "summary": "Add the current media to your favorites, or remove it if its already added to your favorites", - "tags": [ - "player" - ], + "tags": ["player"], "responses": { "200": { "description": "Ok", @@ -105,9 +97,7 @@ "/player/pause": { "post": { "summary": "Pause the current media", - "tags": [ - "player" - ], + "tags": ["player"], "responses": { "200": { "description": "Ok", @@ -125,9 +115,7 @@ "/player/next": { "post": { "summary": "Play the next song", - "tags": [ - "player" - ], + "tags": ["player"], "responses": { "200": { "description": "Ok", @@ -145,9 +133,7 @@ "/player/previous": { "post": { "summary": "Play the previous song", - "tags": [ - "player" - ], + "tags": ["player"], "responses": { "200": { "description": "Ok", @@ -164,10 +150,8 @@ }, "/player/shuffle/toggle": { "post": { - "summary": "Play the previous song", - "tags": [ - "player" - ], + "summary": "Toggle shuffle mode", + "tags": ["player"], "responses": { "200": { "description": "Ok", @@ -185,9 +169,7 @@ "/player/repeat/toggle": { "post": { "summary": "Toggle the repeat status, toggles between \"off\" , \"single\" and \"all\"", - "tags": [ - "player" - ], + "tags": ["player"], "responses": { "200": { "description": "Ok", @@ -205,9 +187,7 @@ "/player/playpause": { "post": { "summary": "Start playing the media if paused, or pause the media if playing", - "tags": [ - "player" - ], + "tags": ["player"], "responses": { "200": { "description": "Ok", @@ -225,9 +205,7 @@ "/settings/skipped-artists": { "get": { "summary": "get a list of artists that TIDAL Hi-Fi will skip if skipping is enabled", - "tags": [ - "settings" - ], + "tags": ["settings"], "responses": { "200": { "description": "The list book.", @@ -243,9 +221,7 @@ }, "post": { "summary": "Add new artists to the list of skipped artists", - "tags": [ - "settings" - ], + "tags": ["settings"], "requestBody": { "required": true, "content": { @@ -266,9 +242,7 @@ "/settings/skipped-artists/delete": { "post": { "summary": "Remove artists from the list of skipped artists", - "tags": [ - "settings" - ], + "tags": ["settings"], "requestBody": { "required": true, "content": { @@ -289,9 +263,7 @@ "/settings/skipped-artists/current": { "post": { "summary": "Add the current artist to the list of skipped artists", - "tags": [ - "settings" - ], + "tags": ["settings"], "responses": { "200": { "description": "Ok" @@ -300,9 +272,7 @@ }, "delete": { "summary": "Remove the current artist from the list of skipped artists", - "tags": [ - "settings" - ], + "tags": ["settings"], "responses": { "200": { "description": "Ok" @@ -313,9 +283,7 @@ "/image": { "get": { "summary": "Get current image", - "tags": [ - "legacy" - ], + "tags": ["legacy"], "deprecated": true, "responses": { "200": { @@ -338,9 +306,7 @@ "/play": { "get": { "summary": "Play the current media", - "tags": [ - "legacy" - ], + "tags": ["legacy"], "deprecated": true, "responses": { "200": { @@ -359,9 +325,7 @@ "/favorite/toggle": { "get": { "summary": "Add the current media to your favorites, or remove it if its already added to your favorites", - "tags": [ - "legacy" - ], + "tags": ["legacy"], "deprecated": true, "responses": { "200": { @@ -380,9 +344,7 @@ "/pause": { "get": { "summary": "Pause the current media", - "tags": [ - "legacy" - ], + "tags": ["legacy"], "deprecated": true, "responses": { "200": { @@ -401,9 +363,7 @@ "/next": { "get": { "summary": "Play the next song", - "tags": [ - "legacy" - ], + "tags": ["legacy"], "deprecated": true, "responses": { "200": { @@ -422,9 +382,7 @@ "/previous": { "get": { "summary": "Play the previous song", - "tags": [ - "legacy" - ], + "tags": ["legacy"], "deprecated": true, "responses": { "200": { @@ -443,9 +401,7 @@ "/playpause": { "get": { "summary": "Toggle play/pause", - "tags": [ - "legacy" - ], + "tags": ["legacy"], "deprecated": true, "responses": { "200": { @@ -558,10 +514,7 @@ "items": { "type": "string" }, - "example": [ - "Artist1", - "Artist2" - ] + "example": ["Artist1", "Artist2"] } } }, @@ -579,4 +532,4 @@ "description": "The settings management API" } ] -} \ No newline at end of file +} diff --git a/src/pages/settings/settings.html b/src/pages/settings/settings.html index dc889e0..a44f2a0 100644 --- a/src/pages/settings/settings.html +++ b/src/pages/settings/settings.html @@ -478,7 +478,7 @@

TIDAL Hi-Fi

5.19.0 + href="https://github.com/Mastermindzh/tidal-hifi/releases/tag/5.20.0">5.20.0