Skip to content

Commit 0b3b862

Browse files
Merge pull request #3735 from nextcloud/GUI-26
Fix SyncMetadata
2 parents 3de324e + 7b3f850 commit 0b3b862

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

iOSClient/Files/NCFiles+SyncMetadata.swift

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,14 @@ extension NCFiles {
8686
return
8787
}
8888

89-
// Skip error or e2ee
90-
let resultsReadFile = await NCNetworking.shared.readFileAsync(serverUrlFileName: serverUrl, account: session.account) { task in
89+
// Get account for the first metadata, to be safe, it is better to take the account here and not from the session
90+
// since it can cause problems if you change users in the meantime.
91+
//
92+
// Read the current folder
93+
guard let account = metadatas.first?.account else {
94+
return
95+
}
96+
let resultsReadFile = await NCNetworking.shared.readFileAsync(serverUrlFileName: serverUrl, account: account) { task in
9197
Task {
9298
await self.networking.networkingTasks.track(identifier: identifier, task: task)
9399
}
@@ -103,6 +109,10 @@ extension NCFiles {
103109

104110
// Iterate directories and fetch only when ETag changed
105111
for metadata in metadatas {
112+
// user changed
113+
if metadata.account != session.account {
114+
return
115+
}
106116
if Task.isCancelled {
107117
break
108118
}
@@ -113,7 +123,7 @@ extension NCFiles {
113123
}
114124
let serverUrl = metadata.serverUrlFileName
115125

116-
let resultsReadFolder = await NCNetworking.shared.readFolderAsync(serverUrl: serverUrl, account: session.account) { task in
126+
let resultsReadFolder = await NCNetworking.shared.readFolderAsync(serverUrl: serverUrl, account: metadata.account) { task in
117127
Task {
118128
await self.networking.networkingTasks.track(identifier: identifier, task: task)
119129
}

0 commit comments

Comments
 (0)