sdk: update to 25.04.14

This commit is contained in:
Mauro Romito
2025-04-14 11:13:49 +02:00
committed by Mauro
parent 4f4729b8df
commit 9d53b29902
12 changed files with 119 additions and 21 deletions
+11 -1
View File
@@ -1533,6 +1533,7 @@
227AC5D71A4CE43512062243 /* URL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URL.swift; sourceTree = "<group>"; }; 227AC5D71A4CE43512062243 /* URL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URL.swift; sourceTree = "<group>"; };
22DB19219E6CC4D002E15D48 /* GlobalSearchScreenCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalSearchScreenCell.swift; sourceTree = "<group>"; }; 22DB19219E6CC4D002E15D48 /* GlobalSearchScreenCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalSearchScreenCell.swift; sourceTree = "<group>"; };
2355398E4A55DA5A89128AD1 /* EncryptionKeyProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptionKeyProvider.swift; sourceTree = "<group>"; }; 2355398E4A55DA5A89128AD1 /* EncryptionKeyProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptionKeyProvider.swift; sourceTree = "<group>"; };
23674BF78CE814366EBD8762 /* cy */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cy; path = cy.lproj/InfoPlist.strings; sourceTree = "<group>"; };
2389732B0E115A999A069083 /* NotificationSettingsScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationSettingsScreenCoordinator.swift; sourceTree = "<group>"; }; 2389732B0E115A999A069083 /* NotificationSettingsScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationSettingsScreenCoordinator.swift; sourceTree = "<group>"; };
23E6EB7960BC9D0F7396B3BD /* RoomChangeRolesScreenRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChangeRolesScreenRow.swift; sourceTree = "<group>"; }; 23E6EB7960BC9D0F7396B3BD /* RoomChangeRolesScreenRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChangeRolesScreenRow.swift; sourceTree = "<group>"; };
23EE69982BBA18C6D51AD08E /* UserProfileScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfileScreen.swift; sourceTree = "<group>"; }; 23EE69982BBA18C6D51AD08E /* UserProfileScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfileScreen.swift; sourceTree = "<group>"; };
@@ -1584,6 +1585,7 @@
2AE83A3DD63BCFBB956FE5CB /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = nl; path = nl.lproj/Localizable.stringsdict; sourceTree = "<group>"; }; 2AE83A3DD63BCFBB956FE5CB /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = nl; path = nl.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
2AF715D4FD4710EBB637D661 /* SettingsScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsScreenViewModelProtocol.swift; sourceTree = "<group>"; }; 2AF715D4FD4710EBB637D661 /* SettingsScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsScreenViewModelProtocol.swift; sourceTree = "<group>"; };
2B1FB56520A847DD2532D5C8 /* VideoMediaEventsTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoMediaEventsTimelineView.swift; sourceTree = "<group>"; }; 2B1FB56520A847DD2532D5C8 /* VideoMediaEventsTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoMediaEventsTimelineView.swift; sourceTree = "<group>"; };
2B9BCACD0CC4CB8E37F17732 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = lt; path = lt.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
2BA894BC09972DC45E497D37 /* TimelineInteractionHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineInteractionHandler.swift; sourceTree = "<group>"; }; 2BA894BC09972DC45E497D37 /* TimelineInteractionHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineInteractionHandler.swift; sourceTree = "<group>"; };
2BB385E148DE55C85C0A02D6 /* SoftLogoutScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoftLogoutScreenModels.swift; sourceTree = "<group>"; }; 2BB385E148DE55C85C0A02D6 /* SoftLogoutScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoftLogoutScreenModels.swift; sourceTree = "<group>"; };
2BDB3E65A79779EDA5D33D8A /* AudioPlayerState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioPlayerState.swift; sourceTree = "<group>"; }; 2BDB3E65A79779EDA5D33D8A /* AudioPlayerState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioPlayerState.swift; sourceTree = "<group>"; };
@@ -2209,6 +2211,7 @@
B08CBE1E670690ECF11C2C6A /* eu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = eu; path = eu.lproj/Localizable.stringsdict; sourceTree = "<group>"; }; B08CBE1E670690ECF11C2C6A /* eu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = eu; path = eu.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
B0A307A44F952CD73E63AE31 /* RoomEventStringBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomEventStringBuilder.swift; sourceTree = "<group>"; }; B0A307A44F952CD73E63AE31 /* RoomEventStringBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomEventStringBuilder.swift; sourceTree = "<group>"; };
B0BA67B3E4EF9D29D14A78CE /* AppLockSettingsScreenViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLockSettingsScreenViewModelTests.swift; sourceTree = "<group>"; }; B0BA67B3E4EF9D29D14A78CE /* AppLockSettingsScreenViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLockSettingsScreenViewModelTests.swift; sourceTree = "<group>"; };
B0C5E5931A668B18D8C09028 /* cy */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cy; path = cy.lproj/Localizable.strings; sourceTree = "<group>"; };
B0F5CC38803B8382D2C63222 /* TimelineControllerFactoryMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineControllerFactoryMock.swift; sourceTree = "<group>"; }; B0F5CC38803B8382D2C63222 /* TimelineControllerFactoryMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineControllerFactoryMock.swift; sourceTree = "<group>"; };
B14B1DE3E2D5D26732C49036 /* RoomChangeRolesScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChangeRolesScreenViewModel.swift; sourceTree = "<group>"; }; B14B1DE3E2D5D26732C49036 /* RoomChangeRolesScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChangeRolesScreenViewModel.swift; sourceTree = "<group>"; };
B16048D30F0438731C41F775 /* StateRoomTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateRoomTimelineItem.swift; sourceTree = "<group>"; }; B16048D30F0438731C41F775 /* StateRoomTimelineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateRoomTimelineItem.swift; sourceTree = "<group>"; };
@@ -2394,6 +2397,7 @@
D622EC7898469BB1D0881CDD /* PollFormScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollFormScreen.swift; sourceTree = "<group>"; }; D622EC7898469BB1D0881CDD /* PollFormScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollFormScreen.swift; sourceTree = "<group>"; };
D653265D006E708E4E51AD64 /* HomeScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeScreenCoordinator.swift; sourceTree = "<group>"; }; D653265D006E708E4E51AD64 /* HomeScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeScreenCoordinator.swift; sourceTree = "<group>"; };
D66B5D86A9AB95E0E01BED82 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = "<group>"; }; D66B5D86A9AB95E0E01BED82 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = "<group>"; };
D67CBAFA48ED0B6FCE74F88F /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/Localizable.strings; sourceTree = "<group>"; };
D6DC38E64A5ED3FDB201029A /* BugReportService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BugReportService.swift; sourceTree = "<group>"; }; D6DC38E64A5ED3FDB201029A /* BugReportService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BugReportService.swift; sourceTree = "<group>"; };
D7149BDDE47F8AD104E644E2 /* TraceLogPack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TraceLogPack.swift; sourceTree = "<group>"; }; D7149BDDE47F8AD104E644E2 /* TraceLogPack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TraceLogPack.swift; sourceTree = "<group>"; };
D7673F2B0B038FAB2A8D16AD /* ElementTextFieldStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ElementTextFieldStyle.swift; sourceTree = "<group>"; }; D7673F2B0B038FAB2A8D16AD /* ElementTextFieldStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ElementTextFieldStyle.swift; sourceTree = "<group>"; };
@@ -6350,6 +6354,7 @@
be, be,
bg, bg,
cs, cs,
cy,
de, de,
el, el,
en, en,
@@ -6364,6 +6369,7 @@
id, id,
it, it,
ka, ka,
lt,
nb, nb,
nl, nl,
pl, pl,
@@ -7916,6 +7922,7 @@
475D47D0BFE961B02BAC5D49 /* id */, 475D47D0BFE961B02BAC5D49 /* id */,
6FC5015B9634698BDB8701AF /* it */, 6FC5015B9634698BDB8701AF /* it */,
D1896F6288D80E1F3EFB3DF8 /* ka */, D1896F6288D80E1F3EFB3DF8 /* ka */,
2B9BCACD0CC4CB8E37F17732 /* lt */,
7720ACAC6155AB7F9C70B546 /* nb */, 7720ACAC6155AB7F9C70B546 /* nb */,
2AE83A3DD63BCFBB956FE5CB /* nl */, 2AE83A3DD63BCFBB956FE5CB /* nl */,
4C8D988E82A8DFA13BE46F7C /* pl */, 4C8D988E82A8DFA13BE46F7C /* pl */,
@@ -7940,6 +7947,7 @@
F0205C03F98BE861EDABCB0D /* be */, F0205C03F98BE861EDABCB0D /* be */,
49193CB0C248D621A96FB2AA /* bg */, 49193CB0C248D621A96FB2AA /* bg */,
8D8169443E5AC5FF71BFB3DB /* cs */, 8D8169443E5AC5FF71BFB3DB /* cs */,
B0C5E5931A668B18D8C09028 /* cy */,
35AFCF4C05DEED04E3DB1A16 /* de */, 35AFCF4C05DEED04E3DB1A16 /* de */,
113356152C099951A6D17D85 /* el */, 113356152C099951A6D17D85 /* el */,
CACA846B3E3E9A521D98B178 /* en */, CACA846B3E3E9A521D98B178 /* en */,
@@ -7954,6 +7962,7 @@
EF98A02DED04075F7CF0C721 /* id */, EF98A02DED04075F7CF0C721 /* id */,
7B04BD3874D736127A8156B8 /* it */, 7B04BD3874D736127A8156B8 /* it */,
4629710C0337ADD9C8909542 /* ka */, 4629710C0337ADD9C8909542 /* ka */,
D67CBAFA48ED0B6FCE74F88F /* lt */,
F51D674A5B5F1FE1B878E20F /* nb */, F51D674A5B5F1FE1B878E20F /* nb */,
CDE3F3911FF7CC639BDE5844 /* nl */, CDE3F3911FF7CC639BDE5844 /* nl */,
8140010A796DB2C7977B6643 /* pl */, 8140010A796DB2C7977B6643 /* pl */,
@@ -7978,6 +7987,7 @@
34ED3AB7E0287552A5648AB3 /* be */, 34ED3AB7E0287552A5648AB3 /* be */,
EA880E78AF4BD24E45A7808C /* bg */, EA880E78AF4BD24E45A7808C /* bg */,
8D1FA20DAB853C1156054912 /* cs */, 8D1FA20DAB853C1156054912 /* cs */,
23674BF78CE814366EBD8762 /* cy */,
84311D707B09854D67F78BBF /* de */, 84311D707B09854D67F78BBF /* de */,
8585C636A10B8141A7AE909F /* el */, 8585C636A10B8141A7AE909F /* el */,
1215A4FC53D2319E81AE8970 /* en */, 1215A4FC53D2319E81AE8970 /* en */,
@@ -8617,7 +8627,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.04.09; version = 25.04.14;
}; };
}; };
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" : "5c16b97c7753bd9b6512877b66b580ffebe4bc89", "revision" : "1f43ea9360f43ecd3d6674048265823709c96f1a",
"version" : "25.4.9" "version" : "25.4.14"
} }
}, },
{ {
@@ -13641,6 +13641,81 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable {
} }
} }
//MARK: - memberWithSenderInfo
open var memberWithSenderInfoUserIdThrowableError: Error?
var memberWithSenderInfoUserIdUnderlyingCallsCount = 0
open var memberWithSenderInfoUserIdCallsCount: Int {
get {
if Thread.isMainThread {
return memberWithSenderInfoUserIdUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = memberWithSenderInfoUserIdUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
memberWithSenderInfoUserIdUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
memberWithSenderInfoUserIdUnderlyingCallsCount = newValue
}
}
}
}
open var memberWithSenderInfoUserIdCalled: Bool {
return memberWithSenderInfoUserIdCallsCount > 0
}
open var memberWithSenderInfoUserIdReceivedUserId: String?
open var memberWithSenderInfoUserIdReceivedInvocations: [String] = []
var memberWithSenderInfoUserIdUnderlyingReturnValue: RoomMemberWithSenderInfo!
open var memberWithSenderInfoUserIdReturnValue: RoomMemberWithSenderInfo! {
get {
if Thread.isMainThread {
return memberWithSenderInfoUserIdUnderlyingReturnValue
} else {
var returnValue: RoomMemberWithSenderInfo? = nil
DispatchQueue.main.sync {
returnValue = memberWithSenderInfoUserIdUnderlyingReturnValue
}
return returnValue!
}
}
set {
if Thread.isMainThread {
memberWithSenderInfoUserIdUnderlyingReturnValue = newValue
} else {
DispatchQueue.main.sync {
memberWithSenderInfoUserIdUnderlyingReturnValue = newValue
}
}
}
}
open var memberWithSenderInfoUserIdClosure: ((String) async throws -> RoomMemberWithSenderInfo)?
open override func memberWithSenderInfo(userId: String) async throws -> RoomMemberWithSenderInfo {
if let error = memberWithSenderInfoUserIdThrowableError {
throw error
}
memberWithSenderInfoUserIdCallsCount += 1
memberWithSenderInfoUserIdReceivedUserId = userId
DispatchQueue.main.async {
self.memberWithSenderInfoUserIdReceivedInvocations.append(userId)
}
if let memberWithSenderInfoUserIdClosure = memberWithSenderInfoUserIdClosure {
return try await memberWithSenderInfoUserIdClosure(userId)
} else {
return memberWithSenderInfoUserIdReturnValue
}
}
//MARK: - members //MARK: - members
open var membersThrowableError: Error? open var membersThrowableError: Error?
@@ -18625,13 +18700,13 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable {
return ownMembershipDetailsCallsCount > 0 return ownMembershipDetailsCallsCount > 0
} }
var ownMembershipDetailsUnderlyingReturnValue: RoomMembershipDetails? var ownMembershipDetailsUnderlyingReturnValue: RoomMemberWithSenderInfo?
open var ownMembershipDetailsReturnValue: RoomMembershipDetails? { open var ownMembershipDetailsReturnValue: RoomMemberWithSenderInfo? {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return ownMembershipDetailsUnderlyingReturnValue return ownMembershipDetailsUnderlyingReturnValue
} else { } else {
var returnValue: RoomMembershipDetails?? = nil var returnValue: RoomMemberWithSenderInfo?? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = ownMembershipDetailsUnderlyingReturnValue returnValue = ownMembershipDetailsUnderlyingReturnValue
} }
@@ -18649,9 +18724,9 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable {
} }
} }
} }
open var ownMembershipDetailsClosure: (() async -> RoomMembershipDetails?)? open var ownMembershipDetailsClosure: (() async -> RoomMemberWithSenderInfo?)?
open override func ownMembershipDetails() async -> RoomMembershipDetails? { open override func ownMembershipDetails() async -> RoomMemberWithSenderInfo? {
ownMembershipDetailsCallsCount += 1 ownMembershipDetailsCallsCount += 1
if let ownMembershipDetailsClosure = ownMembershipDetailsClosure { if let ownMembershipDetailsClosure = ownMembershipDetailsClosure {
return await ownMembershipDetailsClosure() return await ownMembershipDetailsClosure()
@@ -21,7 +21,7 @@ extension ClientBuilder {
.enableOidcRefreshLock() .enableOidcRefreshLock()
.setSessionDelegate(sessionDelegate: sessionDelegate) .setSessionDelegate(sessionDelegate: sessionDelegate)
.userAgent(userAgent: UserAgentBuilder.makeASCIIUserAgent()) .userAgent(userAgent: UserAgentBuilder.makeASCIIUserAgent())
.requestConfig(config: .init(retryLimit: 0, timeout: 30000, maxConcurrentRequests: nil, retryTimeout: nil)) .requestConfig(config: .init(retryLimit: 0, timeout: 30000, maxConcurrentRequests: nil, maxRetryTime: nil))
.useEventCachePersistentStorage(value: true) .useEventCachePersistentStorage(value: true)
builder = switch slidingSync { builder = switch slidingSync {
@@ -128,7 +128,7 @@ class AuthenticationService: AuthenticationServiceProtocol {
} }
return await userSession(for: client) return await userSession(for: client)
} catch let ClientError.MatrixApi(errorKind, _, _) { } catch let ClientError.MatrixApi(errorKind, _, _, _) {
MXLog.error("Failed logging in with error kind: \(errorKind)") MXLog.error("Failed logging in with error kind: \(errorKind)")
switch errorKind { switch errorKind {
case .forbidden: case .forbidden:
@@ -437,7 +437,7 @@ class ClientProxy: ClientProxyProtocol {
await waitForRoomToSync(roomID: roomID, timeout: .seconds(30)) await waitForRoomToSync(roomID: roomID, timeout: .seconds(30))
return .success(()) return .success(())
} catch ClientError.MatrixApi(.forbidden, _, _) { } catch ClientError.MatrixApi(.forbidden, _, _, _) {
MXLog.error("Failed joining roomAlias: \(roomID) forbidden") MXLog.error("Failed joining roomAlias: \(roomID) forbidden")
return .failure(.forbiddenAccess) return .failure(.forbiddenAccess)
} catch { } catch {
@@ -453,7 +453,7 @@ class ClientProxy: ClientProxyProtocol {
await waitForRoomToSync(roomID: room.id(), timeout: .seconds(30)) await waitForRoomToSync(roomID: room.id(), timeout: .seconds(30))
return .success(()) return .success(())
} catch ClientError.MatrixApi(.forbidden, _, _) { } catch ClientError.MatrixApi(.forbidden, _, _, _) {
MXLog.error("Failed joining roomAlias: \(roomAlias) forbidden") MXLog.error("Failed joining roomAlias: \(roomAlias) forbidden")
return .failure(.forbiddenAccess) return .failure(.forbiddenAccess)
} catch { } catch {
@@ -494,7 +494,7 @@ class ClientProxy: ClientProxyProtocol {
let data = try Data(contentsOf: media.url) let data = try Data(contentsOf: media.url)
let matrixUrl = try await client.uploadMedia(mimeType: mimeType, data: data, progressWatcher: nil) let matrixUrl = try await client.uploadMedia(mimeType: mimeType, data: data, progressWatcher: nil)
return .success(matrixUrl) return .success(matrixUrl)
} catch let ClientError.MatrixApi(errorKind, _, _) { } catch let ClientError.MatrixApi(errorKind, _, _, _) {
MXLog.error("Failed uploading media with error kind: \(errorKind)") MXLog.error("Failed uploading media with error kind: \(errorKind)")
return .failure(ClientProxyError.failedUploadingMedia(errorKind)) return .failure(ClientProxyError.failedUploadingMedia(errorKind))
} catch { } catch {
@@ -526,7 +526,7 @@ class ClientProxy: ClientProxyProtocol {
do { do {
let roomPreview = try await client.getRoomPreviewFromRoomId(roomId: identifier, viaServers: via) let roomPreview = try await client.getRoomPreviewFromRoomId(roomId: identifier, viaServers: via)
return try .success(RoomPreviewProxy(roomPreview: roomPreview)) return try .success(RoomPreviewProxy(roomPreview: roomPreview))
} catch ClientError.MatrixApi(.forbidden, _, _) { } catch ClientError.MatrixApi(.forbidden, _, _, _) {
MXLog.error("Failed retrieving preview for room: \(identifier) is private") MXLog.error("Failed retrieving preview for room: \(identifier) is private")
return .failure(.roomPreviewIsPrivate) return .failure(.roomPreviewIsPrivate)
} catch { } catch {
@@ -97,7 +97,7 @@ class KeychainController: KeychainControllerProtocol {
func retrieveSessionFromKeychain(userId: String) throws -> Session { func retrieveSessionFromKeychain(userId: String) throws -> Session {
MXLog.info("Retrieving an updated Session from the keychain.") MXLog.info("Retrieving an updated Session from the keychain.")
guard let session = restorationTokenForUsername(userId)?.session else { guard let session = restorationTokenForUsername(userId)?.session else {
throw ClientError.Generic(msg: "Failed to find RestorationToken in the Keychain.") throw ClientError.Generic(msg: "Failed to find RestorationToken in the Keychain.", details: nil)
} }
return session return session
} }
@@ -39,6 +39,15 @@ struct NotificationItemProxy: NotificationItemProxyProtocol {
var isRoomDirect: Bool { var isRoomDirect: Bool {
notificationItem.roomInfo.isDirect notificationItem.roomInfo.isDirect
} }
var isRoomPrivate: Bool {
switch notificationItem.roomInfo.joinRule {
case .invite, .knock, .restricted, .knockRestricted:
true
default:
false
}
}
var roomJoinedMembers: Int { var roomJoinedMembers: Int {
Int(notificationItem.roomInfo.joinedMembersCount) Int(notificationItem.roomInfo.joinedMembersCount)
@@ -89,6 +98,8 @@ struct EmptyNotificationItemProxy: NotificationItemProxyProtocol {
var isNoisy: Bool { false } var isNoisy: Bool { false }
var isRoomDirect: Bool { false } var isRoomDirect: Bool { false }
var isRoomPrivate: Bool { false }
var senderAvatarMediaSource: MediaSourceProxy? { nil } var senderAvatarMediaSource: MediaSourceProxy? { nil }
@@ -29,6 +29,8 @@ protocol NotificationItemProxyProtocol {
var roomJoinedMembers: Int { get } var roomJoinedMembers: Int { get }
var isRoomDirect: Bool { get } var isRoomDirect: Bool { get }
var isRoomPrivate: Bool { get }
var isNoisy: Bool { get } var isNoisy: Bool { get }
@@ -24,11 +24,11 @@ final class RoomPreviewProxy: RoomPreviewProxyProtocol {
} }
var senderRoomMember: RoomMemberProxy? var senderRoomMember: RoomMemberProxy?
if let member = details.senderRoomMember { if let member = details.senderInfo {
senderRoomMember = .init(member: member) senderRoomMember = .init(member: member)
} }
return RoomMembershipDetailsProxy(ownRoomMember: RoomMemberProxy(member: details.ownRoomMember), return RoomMembershipDetailsProxy(ownRoomMember: RoomMemberProxy(member: details.roomMember),
senderRoomMember: senderRoomMember) senderRoomMember: senderRoomMember)
} }
} }
+3 -3
View File
@@ -106,9 +106,9 @@ struct NotificationContentBuilder {
let displayName = notificationItem.senderDisplayName ?? notificationItem.roomDisplayName let displayName = notificationItem.senderDisplayName ?? notificationItem.roomDisplayName
notification.body = String(messageEventStringBuilder.buildAttributedString(for: messageType, senderDisplayName: displayName).characters) notification.body = String(messageEventStringBuilder.buildAttributedString(for: messageType, senderDisplayName: displayName).characters)
// For now we are fine hiding all images if the visibility is not `always` while we wait for an `isPublic` flag guard settings.timelineMediaVisibility == .always ||
// to be implemented in the SDK. (settings.timelineMediaVisibility == .privateOnly && notificationItem.isRoomPrivate)
guard settings.timelineMediaVisibility == .always else { return notification } else { return notification }
switch messageType { switch messageType {
case .image(content: let content): case .image(content: let content):
+1 -1
View File
@@ -59,7 +59,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.04.09 exactVersion: 25.04.14
# path: ../matrix-rust-sdk # path: ../matrix-rust-sdk
Compound: Compound:
url: https://github.com/element-hq/compound-ios url: https://github.com/element-hq/compound-ios