diff options
| author | Fuwn <[email protected]> | 2025-06-20 08:32:14 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-06-20 08:32:14 -0700 |
| commit | b416d1dda06b011e39660dc04529f20db82b7672 (patch) | |
| tree | 592401e0540904e40dd367a0ebb629d516dee828 | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-b416d1dda06b011e39660dc04529f20db82b7672.tar.xz sora-testing-b416d1dda06b011e39660dc04529f20db82b7672.zip | |
feat: Development commit
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift index 39dbfee..8c8f495 100644 --- a/Sora/Data/Settings/SettingsManager.swift +++ b/Sora/Data/Settings/SettingsManager.swift @@ -261,12 +261,10 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l if let iCloudData = NSUbiquitousKeyValueStore.default.data(forKey: key) { if let iCloudValues = Self.decode([T].self, from: iCloudData) { let localValues = Self.decode([T].self, from: localData) ?? [] - let mergedValues = (localValues + iCloudValues) - .reduce(into: [T]()) { result, value in - if !result.contains(where: { identifier($0) == identifier(value) }) { - result.append(value) - } - } + var seenValues = Set<UUID>() + let mergedValues = (localValues + iCloudValues).filter { value in + seenValues.insert(identifier(value)).inserted + } return sort(mergedValues) } |