diff options
Diffstat (limited to 'Sora/Data/Settings')
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift index b07b38c..78aef7c 100644 --- a/Sora/Data/Settings/SettingsManager.swift +++ b/Sora/Data/Settings/SettingsManager.swift @@ -198,13 +198,17 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l defer { isUpdatingCache = false } + let sortedSearchHistory = newValue.sorted { $0.date > $1.date } + let payload = SettingsCodec.encodeOnce(sortedSearchHistory) + syncableData( key: "searchHistory", localData: $searchHistoryData, - newValue: newValue, - ) { $0.sorted { $0.date > $1.date } } + newValue: sortedSearchHistory, + encodedData: payload?.encodedData + ) { $0 } - searchHistoryCache = newValue.sorted { $0.date > $1.date } + searchHistoryCache = sortedSearchHistory pendingSyncKeys.insert(.searchHistory) triggerBatchedSync() @@ -427,13 +431,17 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l defer { isUpdatingCache = false } + let sortedSearchHistory = newValue.sorted { $0.date > $1.date } + let payload = SettingsCodec.encodeOnce(sortedSearchHistory) + syncableData( key: "searchHistory", localData: $searchHistoryData, - newValue: newValue, - ) { $0.sorted { $0.date > $1.date } } + newValue: sortedSearchHistory, + encodedData: payload?.encodedData + ) { $0 } - searchHistoryCache = newValue.sorted { $0.date > $1.date } + searchHistoryCache = sortedSearchHistory pendingSyncKeys.insert(.searchHistory) triggerBatchedSync() |