修复快照被意外删除的问题

pull/1238/head
lyswhut 2023-03-09 16:53:35 +08:00
parent 0684e29098
commit fc61cf16ed
2 changed files with 7 additions and 2 deletions

View File

@ -87,7 +87,7 @@ const initDeviceInfo = () => {
}
const devices = store.get('clients') as DevicesInfo['clients'] | undefined
if (devices) devicesInfo.clients = devices
deviceKeys = Object.values(devicesInfo.clients).map(device => device.key).filter(k => k)
deviceKeys = Object.values(devicesInfo.clients).map(device => device.snapshotKey).filter(k => k)
const snapshotInfo = store.get('snapshotInfo') as DevicesInfo['snapshotInfo'] | undefined
if (snapshotInfo) devicesInfo.snapshotInfo = snapshotInfo
}
@ -111,6 +111,7 @@ export const saveClientKeyInfo = (keyInfo: LX.Sync.ServerKeyInfo) => {
}
export const getClientKeyInfo = (clientId?: string): LX.Sync.ServerKeyInfo | null => {
if (!clientId) return null
if (!devicesInfo.serverId) initDeviceInfo()
return devicesInfo.clients[clientId] ?? null
}
export const getServerId = (): string => {

View File

@ -219,6 +219,10 @@ const overwriteList = (sourceListData: LX.Sync.ListData, targetListData: LX.Sync
const handleMergeListData = async(socket: LX.Sync.Server.Socket): Promise<[LX.Sync.ListData, boolean, boolean]> => {
const mode: LX.Sync.Mode = await getSyncMode(socket)
if (mode == 'cancel') {
socket.close(SYNC_CLOSE_CODE.normal)
throw new Error('cancel')
}
const [remoteListData, localListData] = await Promise.all([getRemoteListData(socket), getLocalListData()])
console.log('handleMergeListData', 'remoteListData, localListData')
let listData: LX.Sync.ListData
@ -246,7 +250,7 @@ const handleMergeListData = async(socket: LX.Sync.Server.Socket): Promise<[LX.Sy
requiredUpdateRemoteListData = false
break
// case 'none': return null
case 'cancel':
// case 'cancel':
default:
socket.close(SYNC_CLOSE_CODE.normal)
throw new Error('cancel')