mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 19:44:05 +00:00
Update the SDK and Element Call. (#4527)
* Update Element Call to RC3 * Update the SDK. * Add feature flag for latest event sorter.
This commit is contained in:
@@ -63,6 +63,7 @@ final class AppSettings {
|
||||
case developerOptionsEnabled
|
||||
case nextGenHTMLParserEnabled
|
||||
case linkPreviewsEnabled
|
||||
case latestEventSorterEnabled
|
||||
|
||||
// Doug's tweaks 🔧
|
||||
case hideUnreadMessagesBadge
|
||||
@@ -389,6 +390,9 @@ final class AppSettings {
|
||||
@UserPreference(key: UserDefaultsKeys.linkPreviewsEnabled, defaultValue: false, storageType: .userDefaults(store))
|
||||
var linkPreviewsEnabled
|
||||
|
||||
@UserPreference(key: UserDefaultsKeys.latestEventSorterEnabled, defaultValue: false, storageType: .userDefaults(store))
|
||||
var latestEventSorterEnabled
|
||||
|
||||
@UserPreference(key: UserDefaultsKeys.developerOptionsEnabled, defaultValue: isDevelopmentBuild, storageType: .userDefaults(store))
|
||||
var developerOptionsEnabled
|
||||
}
|
||||
|
||||
@@ -17941,6 +17941,77 @@ open class RoomListSDKMock: MatrixRustSDK.RoomList, @unchecked Sendable {
|
||||
}
|
||||
}
|
||||
|
||||
//MARK: - entriesWithDynamicAdaptersWith
|
||||
|
||||
var entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingCallsCount = 0
|
||||
open var entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerCallsCount: Int {
|
||||
get {
|
||||
if Thread.isMainThread {
|
||||
return entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingCallsCount
|
||||
} else {
|
||||
var returnValue: Int? = nil
|
||||
DispatchQueue.main.sync {
|
||||
returnValue = entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingCallsCount
|
||||
}
|
||||
|
||||
return returnValue!
|
||||
}
|
||||
}
|
||||
set {
|
||||
if Thread.isMainThread {
|
||||
entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingCallsCount = newValue
|
||||
} else {
|
||||
DispatchQueue.main.sync {
|
||||
entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingCallsCount = newValue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
open var entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerCalled: Bool {
|
||||
return entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerCallsCount > 0
|
||||
}
|
||||
open var entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerReceivedArguments: (pageSize: UInt32, enableLatestEventSorter: Bool, listener: RoomListEntriesListener)?
|
||||
open var entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerReceivedInvocations: [(pageSize: UInt32, enableLatestEventSorter: Bool, listener: RoomListEntriesListener)] = []
|
||||
|
||||
var entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingReturnValue: RoomListEntriesWithDynamicAdaptersResult!
|
||||
open var entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerReturnValue: RoomListEntriesWithDynamicAdaptersResult! {
|
||||
get {
|
||||
if Thread.isMainThread {
|
||||
return entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingReturnValue
|
||||
} else {
|
||||
var returnValue: RoomListEntriesWithDynamicAdaptersResult? = nil
|
||||
DispatchQueue.main.sync {
|
||||
returnValue = entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingReturnValue
|
||||
}
|
||||
|
||||
return returnValue!
|
||||
}
|
||||
}
|
||||
set {
|
||||
if Thread.isMainThread {
|
||||
entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingReturnValue = newValue
|
||||
} else {
|
||||
DispatchQueue.main.sync {
|
||||
entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerUnderlyingReturnValue = newValue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
open var entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerClosure: ((UInt32, Bool, RoomListEntriesListener) -> RoomListEntriesWithDynamicAdaptersResult)?
|
||||
|
||||
open override func entriesWithDynamicAdaptersWith(pageSize: UInt32, enableLatestEventSorter: Bool, listener: RoomListEntriesListener) -> RoomListEntriesWithDynamicAdaptersResult {
|
||||
entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerCallsCount += 1
|
||||
entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerReceivedArguments = (pageSize: pageSize, enableLatestEventSorter: enableLatestEventSorter, listener: listener)
|
||||
DispatchQueue.main.async {
|
||||
self.entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerReceivedInvocations.append((pageSize: pageSize, enableLatestEventSorter: enableLatestEventSorter, listener: listener))
|
||||
}
|
||||
if let entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerClosure = entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerClosure {
|
||||
return entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerClosure(pageSize, enableLatestEventSorter, listener)
|
||||
} else {
|
||||
return entriesWithDynamicAdaptersWithPageSizeEnableLatestEventSorterListenerReturnValue
|
||||
}
|
||||
}
|
||||
|
||||
//MARK: - loadingState
|
||||
|
||||
open var loadingStateListenerThrowableError: Error?
|
||||
|
||||
+1
@@ -52,6 +52,7 @@ protocol DeveloperOptionsProtocol: AnyObject {
|
||||
var fuzzyRoomListSearchEnabled: Bool { get set }
|
||||
var lowPriorityFilterEnabled: Bool { get set }
|
||||
var knockingEnabled: Bool { get set }
|
||||
var latestEventSorterEnabled: Bool { get set }
|
||||
|
||||
var nextGenHTMLParserEnabled: Bool { get set }
|
||||
var linkPreviewsEnabled: Bool { get set }
|
||||
|
||||
+5
@@ -62,6 +62,11 @@ struct DeveloperOptionsScreen: View {
|
||||
Toggle(isOn: $context.lowPriorityFilterEnabled) {
|
||||
Text("Low priority filter")
|
||||
}
|
||||
|
||||
Toggle(isOn: $context.latestEventSorterEnabled) {
|
||||
Text("Latest event sorter")
|
||||
Text("Requires app reboot")
|
||||
}
|
||||
}
|
||||
|
||||
Section("Timeline") {
|
||||
|
||||
@@ -89,10 +89,12 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol {
|
||||
self.roomList = roomList
|
||||
|
||||
do {
|
||||
listUpdatesSubscriptionResult = roomList.entriesWithDynamicAdapters(pageSize: UInt32(roomListPageSize), listener: SDKListener { [weak self] updates in
|
||||
guard let self else { return }
|
||||
diffsPublisher.send(updates)
|
||||
})
|
||||
listUpdatesSubscriptionResult = roomList.entriesWithDynamicAdaptersWith(pageSize: UInt32(roomListPageSize),
|
||||
enableLatestEventSorter: appSettings.lowPriorityFilterEnabled,
|
||||
listener: SDKListener { [weak self] updates in
|
||||
guard let self else { return }
|
||||
diffsPublisher.send(updates)
|
||||
})
|
||||
|
||||
// Forces the listener above to be called with the current state
|
||||
setFilter(.all(filters: []))
|
||||
|
||||
Reference in New Issue
Block a user