Fix missing read receipts in the timeline and edits in the room list. (#4807)

* Update the enterprise submodule.

* Update the SDK.
This commit is contained in:
Doug
2025-12-02 15:49:23 +00:00
committed by GitHub
parent bf7df1ec0a
commit d545a2b904
6 changed files with 130 additions and 25 deletions
+1 -1
View File
@@ -9498,7 +9498,7 @@
repositoryURL = "https://github.com/element-hq/matrix-rust-components-swift"; repositoryURL = "https://github.com/element-hq/matrix-rust-components-swift";
requirement = { requirement = {
kind = exactVersion; kind = exactVersion;
version = 25.11.27; version = 25.12.02;
}; };
}; };
701C7BEF8F70F7A83E852DCC /* XCRemoteSwiftPackageReference "GZIP" */ = { 701C7BEF8F70F7A83E852DCC /* XCRemoteSwiftPackageReference "GZIP" */ = {
@@ -158,8 +158,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/element-hq/matrix-rust-components-swift", "location" : "https://github.com/element-hq/matrix-rust-components-swift",
"state" : { "state" : {
"revision" : "1490877fdef3a870f5008eda68486edbd280d16c", "revision" : "059bf9db4cfcace1cee9d1d8d4ff21a8a1297557",
"version" : "25.11.27" "version" : "25.12.2"
} }
}, },
{ {
@@ -3732,18 +3732,18 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable {
try await removeAvatarClosure?() try await removeAvatarClosure?()
} }
//MARK: - resetServerInfo //MARK: - resetSupportedVersions
open var resetServerInfoThrowableError: Error? open var resetSupportedVersionsThrowableError: Error?
var resetServerInfoUnderlyingCallsCount = 0 var resetSupportedVersionsUnderlyingCallsCount = 0
open var resetServerInfoCallsCount: Int { open var resetSupportedVersionsCallsCount: Int {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return resetServerInfoUnderlyingCallsCount return resetSupportedVersionsUnderlyingCallsCount
} else { } else {
var returnValue: Int? = nil var returnValue: Int? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = resetServerInfoUnderlyingCallsCount returnValue = resetSupportedVersionsUnderlyingCallsCount
} }
return returnValue! return returnValue!
@@ -3751,25 +3751,65 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
resetServerInfoUnderlyingCallsCount = newValue resetSupportedVersionsUnderlyingCallsCount = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
resetServerInfoUnderlyingCallsCount = newValue resetSupportedVersionsUnderlyingCallsCount = newValue
} }
} }
} }
} }
open var resetServerInfoCalled: Bool { open var resetSupportedVersionsCalled: Bool {
return resetServerInfoCallsCount > 0 return resetSupportedVersionsCallsCount > 0
} }
open var resetServerInfoClosure: (() async throws -> Void)? open var resetSupportedVersionsClosure: (() async throws -> Void)?
open override func resetServerInfo() async throws { open override func resetSupportedVersions() async throws {
if let error = resetServerInfoThrowableError { if let error = resetSupportedVersionsThrowableError {
throw error throw error
} }
resetServerInfoCallsCount += 1 resetSupportedVersionsCallsCount += 1
try await resetServerInfoClosure?() try await resetSupportedVersionsClosure?()
}
//MARK: - resetWellKnown
open var resetWellKnownThrowableError: Error?
var resetWellKnownUnderlyingCallsCount = 0
open var resetWellKnownCallsCount: Int {
get {
if Thread.isMainThread {
return resetWellKnownUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = resetWellKnownUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
resetWellKnownUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
resetWellKnownUnderlyingCallsCount = newValue
}
}
}
}
open var resetWellKnownCalled: Bool {
return resetWellKnownCallsCount > 0
}
open var resetWellKnownClosure: (() async throws -> Void)?
open override func resetWellKnown() async throws {
if let error = resetWellKnownThrowableError {
throw error
}
resetWellKnownCallsCount += 1
try await resetWellKnownClosure?()
} }
//MARK: - resolveRoomAlias //MARK: - resolveRoomAlias
@@ -22982,6 +23022,71 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable
try await addChildToSpaceChildIdSpaceIdClosure?(childId, spaceId) try await addChildToSpaceChildIdSpaceIdClosure?(childId, spaceId)
} }
//MARK: - editableSpaces
var editableSpacesUnderlyingCallsCount = 0
open var editableSpacesCallsCount: Int {
get {
if Thread.isMainThread {
return editableSpacesUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = editableSpacesUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
editableSpacesUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
editableSpacesUnderlyingCallsCount = newValue
}
}
}
}
open var editableSpacesCalled: Bool {
return editableSpacesCallsCount > 0
}
var editableSpacesUnderlyingReturnValue: [SpaceRoom]!
open var editableSpacesReturnValue: [SpaceRoom]! {
get {
if Thread.isMainThread {
return editableSpacesUnderlyingReturnValue
} else {
var returnValue: [SpaceRoom]? = nil
DispatchQueue.main.sync {
returnValue = editableSpacesUnderlyingReturnValue
}
return returnValue!
}
}
set {
if Thread.isMainThread {
editableSpacesUnderlyingReturnValue = newValue
} else {
DispatchQueue.main.sync {
editableSpacesUnderlyingReturnValue = newValue
}
}
}
}
open var editableSpacesClosure: (() async -> [SpaceRoom])?
open override func editableSpaces() async -> [SpaceRoom] {
editableSpacesCallsCount += 1
if let editableSpacesClosure = editableSpacesClosure {
return await editableSpacesClosure()
} else {
return editableSpacesReturnValue
}
}
//MARK: - joinedParentsOfChild //MARK: - joinedParentsOfChild
open var joinedParentsOfChildChildIdThrowableError: Error? open var joinedParentsOfChildChildIdThrowableError: Error?
@@ -85,7 +85,7 @@ class JoinedRoomProxy: JoinedRoomProxyProtocol {
filter: .eventTypeFilter(filter: excludedEventsFilter), filter: .eventTypeFilter(filter: excludedEventsFilter),
internalIdPrefix: nil, internalIdPrefix: nil,
dateDividerMode: .daily, dateDividerMode: .daily,
trackReadReceipts: true, trackReadReceipts: .messageLikeEvents,
reportUtds: true)), reportUtds: true)),
kind: .live) kind: .live)
@@ -150,7 +150,7 @@ class JoinedRoomProxy: JoinedRoomProxyProtocol {
filter: .all, filter: .all,
internalIdPrefix: UUID().uuidString, internalIdPrefix: UUID().uuidString,
dateDividerMode: .daily, dateDividerMode: .daily,
trackReadReceipts: false, trackReadReceipts: .disabled,
reportUtds: true)) reportUtds: true))
return .success(TimelineProxy(timeline: sdkTimeline, kind: .detached)) return .success(TimelineProxy(timeline: sdkTimeline, kind: .detached))
@@ -178,7 +178,7 @@ class JoinedRoomProxy: JoinedRoomProxyProtocol {
filter: .all, filter: .all,
internalIdPrefix: UUID().uuidString, internalIdPrefix: UUID().uuidString,
dateDividerMode: .daily, dateDividerMode: .daily,
trackReadReceipts: true, trackReadReceipts: .messageLikeEvents,
reportUtds: true)) reportUtds: true))
let timeline = TimelineProxy(timeline: sdkTimeline, kind: .thread(rootEventID: eventID)) let timeline = TimelineProxy(timeline: sdkTimeline, kind: .thread(rootEventID: eventID))
@@ -225,7 +225,7 @@ class JoinedRoomProxy: JoinedRoomProxyProtocol {
filter: .onlyMessage(types: rustMessageTypes), filter: .onlyMessage(types: rustMessageTypes),
internalIdPrefix: nil, internalIdPrefix: nil,
dateDividerMode: .monthly, dateDividerMode: .monthly,
trackReadReceipts: false, trackReadReceipts: .disabled,
reportUtds: true)) reportUtds: true))
let timeline = TimelineProxy(timeline: sdkTimeline, kind: .media(presentation)) let timeline = TimelineProxy(timeline: sdkTimeline, kind: .media(presentation))
@@ -256,7 +256,7 @@ class JoinedRoomProxy: JoinedRoomProxyProtocol {
filter: .all, filter: .all,
internalIdPrefix: nil, internalIdPrefix: nil,
dateDividerMode: .daily, dateDividerMode: .daily,
trackReadReceipts: false, trackReadReceipts: .disabled,
reportUtds: true)) reportUtds: true))
let timeline = TimelineProxy(timeline: sdkTimeline, kind: .pinned) let timeline = TimelineProxy(timeline: sdkTimeline, kind: .pinned)
+1 -1
View File
@@ -71,7 +71,7 @@ packages:
# Element/Matrix dependencies # Element/Matrix dependencies
MatrixRustSDK: MatrixRustSDK:
url: https://github.com/element-hq/matrix-rust-components-swift url: https://github.com/element-hq/matrix-rust-components-swift
exactVersion: 25.11.27 exactVersion: 25.12.02
# path: ../matrix-rust-sdk # path: ../matrix-rust-sdk
Compound: Compound:
path: compound-ios path: compound-ios