Merge remote-tracking branch 'upstream/dev' into dev

This commit is contained in:
ikun 2024-08-06 08:50:27 +08:00
commit c53665499c
8 changed files with 65 additions and 38 deletions

View File

@ -6,6 +6,25 @@ Project versioning adheres to [Semantic Versioning](http://semver.org/).
Commit convention is based on [Conventional Commits](http://conventionalcommits.org). Commit convention is based on [Conventional Commits](http://conventionalcommits.org).
Change log format is based on [Keep a Changelog](http://keepachangelog.com/). Change log format is based on [Keep a Changelog](http://keepachangelog.com/).
## [1.5.0](https://github.com/lyswhut/lx-music-mobile/compare/v1.4.2...v1.5.0) - 2024-08-03
我们发布了关于 LX Music 项目发展调整与新项目计划的说明,
详情看: https://github.com/lyswhut/lx-music-desktop/issues/1912
### 新增
- 新增重复歌曲列表可以方便移除我的列表中的重复歌曲此列表会列出目标列表里歌曲名相同的歌曲可在“我的列表”里的列表名菜单中使用该功能与PC端的区别是可以点击歌曲名多选删除
- 新增打开当前歌曲详情页菜单,可以在歌曲菜单中使用
### 修复
- 修复潜在桌面歌词导致的崩溃问题
### 其他
- 更新 React native 到 v0.73.9
- 更新 exoplayer 到 v1.4.0
## [1.4.2](https://github.com/lyswhut/lx-music-mobile/compare/v1.4.1...v1.4.2) - 2024-06-01 ## [1.4.2](https://github.com/lyswhut/lx-music-mobile/compare/v1.4.1...v1.4.2) - 2024-06-01
我们发布了关于 LX Music Mod 项目发展调整与新项目计划的说明, 我们发布了关于 LX Music Mod 项目发展调整与新项目计划的说明,

72
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "lx-music-mobile-mod", "name": "lx-music-mobile-mod",
"version": "3.3.4", "version": "3.3.5",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "lx-music-mobile-mod", "name": "lx-music-mobile-mod",
"version": "3.3.4", "version": "3.3.5",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@craftzdog/react-native-buffer": "^6.0.5", "@craftzdog/react-native-buffer": "^6.0.5",
@ -36,7 +36,7 @@
"@babel/core": "^7.25.2", "@babel/core": "^7.25.2",
"@babel/eslint-parser": "^7.25.1", "@babel/eslint-parser": "^7.25.1",
"@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
"@babel/preset-env": "^7.25.2", "@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0", "@babel/runtime": "^7.25.0",
"@react-native/babel-preset": "^0.74.86", "@react-native/babel-preset": "^0.74.86",
"@react-native/metro-config": "^0.74.86", "@react-native/metro-config": "^0.74.86",
@ -679,10 +679,13 @@
} }
}, },
"node_modules/@babel/parser": { "node_modules/@babel/parser": {
"version": "7.25.0", "version": "7.25.3",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz",
"integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
"license": "MIT", "license": "MIT",
"dependencies": {
"@babel/types": "^7.25.2"
},
"bin": { "bin": {
"parser": "bin/babel-parser.js" "parser": "bin/babel-parser.js"
}, },
@ -691,13 +694,13 @@
} }
}, },
"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
"version": "7.25.0", "version": "7.25.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz",
"integrity": "sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==", "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8",
"@babel/traverse": "^7.25.0" "@babel/traverse": "^7.25.3"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"
@ -2097,16 +2100,16 @@
} }
}, },
"node_modules/@babel/preset-env": { "node_modules/@babel/preset-env": {
"version": "7.25.2", "version": "7.25.3",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.2.tgz", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz",
"integrity": "sha512-Y2Vkwy3ITW4id9c6KXshVV/x5yCGK7VdJmKkzOzNsDZMojRKfSA/033rRbLqlRozmhRXCejxWHLSJOg/wUHfzw==", "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@babel/compat-data": "^7.25.2", "@babel/compat-data": "^7.25.2",
"@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-compilation-targets": "^7.25.2",
"@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8",
"@babel/helper-validator-option": "^7.24.8", "@babel/helper-validator-option": "^7.24.8",
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.0", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3",
"@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7",
@ -2334,14 +2337,14 @@
} }
}, },
"node_modules/@babel/traverse": { "node_modules/@babel/traverse": {
"version": "7.25.2", "version": "7.25.3",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.2.tgz", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz",
"integrity": "sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==", "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.24.7", "@babel/code-frame": "^7.24.7",
"@babel/generator": "^7.25.0", "@babel/generator": "^7.25.0",
"@babel/parser": "^7.25.0", "@babel/parser": "^7.25.3",
"@babel/template": "^7.25.0", "@babel/template": "^7.25.0",
"@babel/types": "^7.25.2", "@babel/types": "^7.25.2",
"debug": "^4.3.1", "debug": "^4.3.1",
@ -13687,17 +13690,20 @@
} }
}, },
"@babel/parser": { "@babel/parser": {
"version": "7.25.0", "version": "7.25.3",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz",
"integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==" "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
"requires": {
"@babel/types": "^7.25.2"
}
}, },
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": { "@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
"version": "7.25.0", "version": "7.25.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz",
"integrity": "sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==", "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==",
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8",
"@babel/traverse": "^7.25.0" "@babel/traverse": "^7.25.3"
} }
}, },
"@babel/plugin-bugfix-safari-class-field-initializer-scope": { "@babel/plugin-bugfix-safari-class-field-initializer-scope": {
@ -14528,15 +14534,15 @@
} }
}, },
"@babel/preset-env": { "@babel/preset-env": {
"version": "7.25.2", "version": "7.25.3",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.2.tgz", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz",
"integrity": "sha512-Y2Vkwy3ITW4id9c6KXshVV/x5yCGK7VdJmKkzOzNsDZMojRKfSA/033rRbLqlRozmhRXCejxWHLSJOg/wUHfzw==", "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==",
"requires": { "requires": {
"@babel/compat-data": "^7.25.2", "@babel/compat-data": "^7.25.2",
"@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-compilation-targets": "^7.25.2",
"@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8",
"@babel/helper-validator-option": "^7.24.8", "@babel/helper-validator-option": "^7.24.8",
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.0", "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3",
"@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7",
@ -14723,13 +14729,13 @@
} }
}, },
"@babel/traverse": { "@babel/traverse": {
"version": "7.25.2", "version": "7.25.3",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.2.tgz", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz",
"integrity": "sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==", "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==",
"requires": { "requires": {
"@babel/code-frame": "^7.24.7", "@babel/code-frame": "^7.24.7",
"@babel/generator": "^7.25.0", "@babel/generator": "^7.25.0",
"@babel/parser": "^7.25.0", "@babel/parser": "^7.25.3",
"@babel/template": "^7.25.0", "@babel/template": "^7.25.0",
"@babel/types": "^7.25.2", "@babel/types": "^7.25.2",
"debug": "^4.3.1", "debug": "^4.3.1",

View File

@ -1,6 +1,6 @@
{ {
"name": "lx-music-mobile-mod", "name": "lx-music-mobile-mod",
"version": "1.5.0-beta.3", "version": "3.3.5",
"versionCode": 67, "versionCode": 67,
"private": true, "private": true,
"scripts": { "scripts": {
@ -71,7 +71,7 @@
"@babel/core": "^7.25.2", "@babel/core": "^7.25.2",
"@babel/eslint-parser": "^7.25.1", "@babel/eslint-parser": "^7.25.1",
"@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
"@babel/preset-env": "^7.25.2", "@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0", "@babel/runtime": "^7.25.0",
"@react-native/babel-preset": "^0.74.86", "@react-native/babel-preset": "^0.74.86",
"@react-native/metro-config": "^0.74.86", "@react-native/metro-config": "^0.74.86",

File diff suppressed because one or more lines are too long

View File

@ -40,7 +40,7 @@ export const handleShowMusicSourceDetail = async(minfo: LX.Music.MusicInfoOnline
export const handleDislikeMusic = async(musicInfo: LX.Music.MusicInfoOnline) => { export const handleDislikeMusic = async(musicInfo: LX.Music.MusicInfoOnline) => {
const confirm = await confirmDialog({ const confirm = await confirmDialog({
message: global.i18n.t('lists_dislike_music_tip', { name: musicInfo.name }), message: musicInfo.singer ? global.i18n.t('lists_dislike_music_singer_tip', { name: musicInfo.name, singer: musicInfo.singer }) : global.i18n.t('lists_dislike_music_tip', { name: musicInfo.name }),
cancelButtonText: global.i18n.t('cancel_button_text_2'), cancelButtonText: global.i18n.t('cancel_button_text_2'),
confirmButtonText: global.i18n.t('confirm_button_text'), confirmButtonText: global.i18n.t('confirm_button_text'),
bgClose: false, bgClose: false,

View File

@ -117,6 +117,7 @@
"list_updating": "updating", "list_updating": "updating",
"lists__duplicate": "repeat song", "lists__duplicate": "repeat song",
"lists_dislike_music_add_tip": "Added", "lists_dislike_music_add_tip": "Added",
"lists_dislike_music_singer_tip": "Do you really not like {singer}'s {name}?",
"lists_dislike_music_tip": "Do you really dislike {name}?", "lists_dislike_music_tip": "Do you really dislike {name}?",
"load_failed": "Ah, loading failed 😥", "load_failed": "Ah, loading failed 😥",
"loading": "Loading...", "loading": "Loading...",

View File

@ -117,6 +117,7 @@
"list_updating": "更新中", "list_updating": "更新中",
"lists__duplicate": "重复歌曲", "lists__duplicate": "重复歌曲",
"lists_dislike_music_add_tip": "已添加", "lists_dislike_music_add_tip": "已添加",
"lists_dislike_music_singer_tip": "你真的不喜欢 {singer} 的 {name} 吗?",
"lists_dislike_music_tip": "你真的不喜欢 {name} 吗?", "lists_dislike_music_tip": "你真的不喜欢 {name} 吗?",
"load_failed": "啊 加载失败了 😥", "load_failed": "啊 加载失败了 😥",
"loading": "加载中...", "loading": "加载中...",

View File

@ -99,7 +99,7 @@ export const handleShowMusicSourceDetail = async(minfo: SelectInfo['musicInfo'])
export const handleDislikeMusic = async(musicInfo: SelectInfo['musicInfo']) => { export const handleDislikeMusic = async(musicInfo: SelectInfo['musicInfo']) => {
const confirm = await confirmDialog({ const confirm = await confirmDialog({
message: global.i18n.t('lists_dislike_music_tip', { name: musicInfo.name }), message: musicInfo.singer ? global.i18n.t('lists_dislike_music_singer_tip', { name: musicInfo.name, singer: musicInfo.singer }) : global.i18n.t('lists_dislike_music_tip', { name: musicInfo.name }),
cancelButtonText: global.i18n.t('cancel_button_text_2'), cancelButtonText: global.i18n.t('cancel_button_text_2'),
confirmButtonText: global.i18n.t('confirm_button_text'), confirmButtonText: global.i18n.t('confirm_button_text'),
bgClose: false, bgClose: false,