summaryrefslogtreecommitdiff
path: root/Sora/Data/Settings/SettingsManager.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Data/Settings/SettingsManager.swift')
-rw-r--r--Sora/Data/Settings/SettingsManager.swift20
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()