summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-06-20 08:32:14 -0700
committerFuwn <[email protected]>2025-06-20 08:32:14 -0700
commitb416d1dda06b011e39660dc04529f20db82b7672 (patch)
tree592401e0540904e40dd367a0ebb629d516dee828
parentfeat: Development commit (diff)
downloadsora-testing-b416d1dda06b011e39660dc04529f20db82b7672.tar.xz
sora-testing-b416d1dda06b011e39660dc04529f20db82b7672.zip
feat: Development commit
-rw-r--r--Sora/Data/Settings/SettingsManager.swift10
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)
}