From e182dde71860bc89ae591bcbbdc1170afe7e4b67 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Fri, 29 Oct 2021 20:09:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=9F=90=E4=BA=9B?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B=E4=BC=9A=E5=88=97=E8=A1=A8=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=A4=B1=E8=B4=A5=EF=BC=8C=E5=AF=BC=E8=87=B4=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=96=AD=E5=BC=80=E6=97=A0=E9=99=90=E9=87=8D=E8=BF=9E?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 2 ++ src/main/modules/sync/server/syncList.js | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index f9447d85..3c4b319c 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,3 +1,5 @@ ### 修复 - 修复某些情况下获取URL失败时会意外切歌的问题 +- 修复了某些情况下会列表同步失败,导致连接断开无限重连的问题 +- 修复列表数据过大导致同步失败的问题 diff --git a/src/main/modules/sync/server/syncList.js b/src/main/modules/sync/server/syncList.js index 69b68468..88c69c9e 100644 --- a/src/main/modules/sync/server/syncList.js +++ b/src/main/modules/sync/server/syncList.js @@ -259,8 +259,10 @@ const mergeListDataFromSnapshot = (sourceList, targetList, snapshotList, addMusi const targetListItemIds = new Set() for (const m of sourceList.list) sourceListItemIds.add(m.songmid) for (const m of targetList.list) targetListItemIds.add(m.songmid) - for (const m of snapshotList.list) { - if (!sourceListItemIds.has(m.songmid) || !targetListItemIds.has(m.songmid)) removedListIds.add(m.songmid) + if (snapshotList) { + for (const m of snapshotList.list) { + if (!sourceListItemIds.has(m.songmid) || !targetListItemIds.has(m.songmid)) removedListIds.add(m.songmid) + } } let newList @@ -294,7 +296,6 @@ const mergeListDataFromSnapshot = (sourceList, targetList, snapshotList, addMusi const handleMergeListDataFromSnapshot = async(socket, snapshot) => { const addMusicLocationType = global.appSetting.list.addMusicLocationType const [remoteListData, localListData] = await Promise.all([getRemoteListData(socket), getLocalListData()]) - console.log('handleMergeListDataFromSnapshot', 'remoteListData, localListData') const newListData = {} newListData.defaultList = mergeListDataFromSnapshot(localListData.defaultList, remoteListData.defaultList, snapshot.defaultList, addMusicLocationType) newListData.loveList = mergeListDataFromSnapshot(localListData.loveList, remoteListData.loveList, snapshot.loveList, addMusicLocationType)