Bump the SDK to v25.01.10-2, fix breaking API changes around sending media and mentions

This commit is contained in:
Stefan Ceriu
2025-01-10 18:19:53 +02:00
committed by Stefan Ceriu
parent 57b85d2650
commit ab334e90af
7 changed files with 280 additions and 186 deletions
+1 -1
View File
@@ -8415,7 +8415,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 = 24.12.20; version = "25.01.10-2";
}; };
}; };
701C7BEF8F70F7A83E852DCC /* XCRemoteSwiftPackageReference "GZIP" */ = { 701C7BEF8F70F7A83E852DCC /* XCRemoteSwiftPackageReference "GZIP" */ = {
@@ -149,8 +149,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" : "3047d2b193a437b53998fa0133c46f198ee57126", "revision" : "cc9cd80aa6954a7945d82c29182f81c5219f635e",
"version" : "24.12.20" "version" : "25.1.10-2"
} }
}, },
{ {
@@ -13653,6 +13653,75 @@ open class RoomSDKMock: MatrixRustSDK.Room {
} }
} }
//MARK: - roomEventsDebugString
open var roomEventsDebugStringThrowableError: Error?
var roomEventsDebugStringUnderlyingCallsCount = 0
open var roomEventsDebugStringCallsCount: Int {
get {
if Thread.isMainThread {
return roomEventsDebugStringUnderlyingCallsCount
} else {
var returnValue: Int? = nil
DispatchQueue.main.sync {
returnValue = roomEventsDebugStringUnderlyingCallsCount
}
return returnValue!
}
}
set {
if Thread.isMainThread {
roomEventsDebugStringUnderlyingCallsCount = newValue
} else {
DispatchQueue.main.sync {
roomEventsDebugStringUnderlyingCallsCount = newValue
}
}
}
}
open var roomEventsDebugStringCalled: Bool {
return roomEventsDebugStringCallsCount > 0
}
var roomEventsDebugStringUnderlyingReturnValue: [String]!
open var roomEventsDebugStringReturnValue: [String]! {
get {
if Thread.isMainThread {
return roomEventsDebugStringUnderlyingReturnValue
} else {
var returnValue: [String]? = nil
DispatchQueue.main.sync {
returnValue = roomEventsDebugStringUnderlyingReturnValue
}
return returnValue!
}
}
set {
if Thread.isMainThread {
roomEventsDebugStringUnderlyingReturnValue = newValue
} else {
DispatchQueue.main.sync {
roomEventsDebugStringUnderlyingReturnValue = newValue
}
}
}
}
open var roomEventsDebugStringClosure: (() async throws -> [String])?
open override func roomEventsDebugString() async throws -> [String] {
if let error = roomEventsDebugStringThrowableError {
throw error
}
roomEventsDebugStringCallsCount += 1
if let roomEventsDebugStringClosure = roomEventsDebugStringClosure {
return try await roomEventsDebugStringClosure()
} else {
return roomEventsDebugStringReturnValue
}
}
//MARK: - roomInfo //MARK: - roomInfo
open var roomInfoThrowableError: Error? open var roomInfoThrowableError: Error?
@@ -19916,15 +19985,16 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
//MARK: - sendAudio //MARK: - sendAudio
var sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = 0 open var sendAudioParamsAudioInfoProgressWatcherThrowableError: Error?
open var sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount: Int { var sendAudioParamsAudioInfoProgressWatcherUnderlyingCallsCount = 0
open var sendAudioParamsAudioInfoProgressWatcherCallsCount: Int {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount return sendAudioParamsAudioInfoProgressWatcherUnderlyingCallsCount
} else { } else {
var returnValue: Int? = nil var returnValue: Int? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount returnValue = sendAudioParamsAudioInfoProgressWatcherUnderlyingCallsCount
} }
return returnValue! return returnValue!
@@ -19932,29 +20002,29 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendAudioParamsAudioInfoProgressWatcherUnderlyingCallsCount = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendAudioParamsAudioInfoProgressWatcherUnderlyingCallsCount = newValue
} }
} }
} }
} }
open var sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCalled: Bool { open var sendAudioParamsAudioInfoProgressWatcherCalled: Bool {
return sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount > 0 return sendAudioParamsAudioInfoProgressWatcherCallsCount > 0
} }
open var sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments: (url: String, audioInfo: AudioInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)? open var sendAudioParamsAudioInfoProgressWatcherReceivedArguments: (params: UploadParameters, audioInfo: AudioInfo, progressWatcher: ProgressWatcher?)?
open var sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations: [(url: String, audioInfo: AudioInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)] = [] open var sendAudioParamsAudioInfoProgressWatcherReceivedInvocations: [(params: UploadParameters, audioInfo: AudioInfo, progressWatcher: ProgressWatcher?)] = []
var sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue: SendAttachmentJoinHandle! var sendAudioParamsAudioInfoProgressWatcherUnderlyingReturnValue: SendAttachmentJoinHandle!
open var sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue: SendAttachmentJoinHandle! { open var sendAudioParamsAudioInfoProgressWatcherReturnValue: SendAttachmentJoinHandle! {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue return sendAudioParamsAudioInfoProgressWatcherUnderlyingReturnValue
} else { } else {
var returnValue: SendAttachmentJoinHandle? = nil var returnValue: SendAttachmentJoinHandle? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue returnValue = sendAudioParamsAudioInfoProgressWatcherUnderlyingReturnValue
} }
return returnValue! return returnValue!
@@ -19962,40 +20032,44 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendAudioParamsAudioInfoProgressWatcherUnderlyingReturnValue = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendAudioParamsAudioInfoProgressWatcherUnderlyingReturnValue = newValue
} }
} }
} }
} }
open var sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure: ((String, AudioInfo, String?, FormattedBody?, ProgressWatcher?, Bool) -> SendAttachmentJoinHandle)? open var sendAudioParamsAudioInfoProgressWatcherClosure: ((UploadParameters, AudioInfo, ProgressWatcher?) throws -> SendAttachmentJoinHandle)?
open override func sendAudio(url: String, audioInfo: AudioInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool) -> SendAttachmentJoinHandle { open override func sendAudio(params: UploadParameters, audioInfo: AudioInfo, progressWatcher: ProgressWatcher?) throws -> SendAttachmentJoinHandle {
sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount += 1 if let error = sendAudioParamsAudioInfoProgressWatcherThrowableError {
sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments = (url: url, audioInfo: audioInfo, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue) throw error
DispatchQueue.main.async {
self.sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations.append((url: url, audioInfo: audioInfo, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue))
} }
if let sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure = sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure { sendAudioParamsAudioInfoProgressWatcherCallsCount += 1
return sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure(url, audioInfo, caption, formattedCaption, progressWatcher, useSendQueue) sendAudioParamsAudioInfoProgressWatcherReceivedArguments = (params: params, audioInfo: audioInfo, progressWatcher: progressWatcher)
DispatchQueue.main.async {
self.sendAudioParamsAudioInfoProgressWatcherReceivedInvocations.append((params: params, audioInfo: audioInfo, progressWatcher: progressWatcher))
}
if let sendAudioParamsAudioInfoProgressWatcherClosure = sendAudioParamsAudioInfoProgressWatcherClosure {
return try sendAudioParamsAudioInfoProgressWatcherClosure(params, audioInfo, progressWatcher)
} else { } else {
return sendAudioUrlAudioInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue return sendAudioParamsAudioInfoProgressWatcherReturnValue
} }
} }
//MARK: - sendFile //MARK: - sendFile
var sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = 0 open var sendFileParamsFileInfoProgressWatcherThrowableError: Error?
open var sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount: Int { var sendFileParamsFileInfoProgressWatcherUnderlyingCallsCount = 0
open var sendFileParamsFileInfoProgressWatcherCallsCount: Int {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount return sendFileParamsFileInfoProgressWatcherUnderlyingCallsCount
} else { } else {
var returnValue: Int? = nil var returnValue: Int? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount returnValue = sendFileParamsFileInfoProgressWatcherUnderlyingCallsCount
} }
return returnValue! return returnValue!
@@ -20003,29 +20077,29 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendFileParamsFileInfoProgressWatcherUnderlyingCallsCount = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendFileParamsFileInfoProgressWatcherUnderlyingCallsCount = newValue
} }
} }
} }
} }
open var sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCalled: Bool { open var sendFileParamsFileInfoProgressWatcherCalled: Bool {
return sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount > 0 return sendFileParamsFileInfoProgressWatcherCallsCount > 0
} }
open var sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments: (url: String, fileInfo: FileInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)? open var sendFileParamsFileInfoProgressWatcherReceivedArguments: (params: UploadParameters, fileInfo: FileInfo, progressWatcher: ProgressWatcher?)?
open var sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations: [(url: String, fileInfo: FileInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)] = [] open var sendFileParamsFileInfoProgressWatcherReceivedInvocations: [(params: UploadParameters, fileInfo: FileInfo, progressWatcher: ProgressWatcher?)] = []
var sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue: SendAttachmentJoinHandle! var sendFileParamsFileInfoProgressWatcherUnderlyingReturnValue: SendAttachmentJoinHandle!
open var sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue: SendAttachmentJoinHandle! { open var sendFileParamsFileInfoProgressWatcherReturnValue: SendAttachmentJoinHandle! {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue return sendFileParamsFileInfoProgressWatcherUnderlyingReturnValue
} else { } else {
var returnValue: SendAttachmentJoinHandle? = nil var returnValue: SendAttachmentJoinHandle? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue returnValue = sendFileParamsFileInfoProgressWatcherUnderlyingReturnValue
} }
return returnValue! return returnValue!
@@ -20033,40 +20107,44 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendFileParamsFileInfoProgressWatcherUnderlyingReturnValue = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendFileParamsFileInfoProgressWatcherUnderlyingReturnValue = newValue
} }
} }
} }
} }
open var sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure: ((String, FileInfo, String?, FormattedBody?, ProgressWatcher?, Bool) -> SendAttachmentJoinHandle)? open var sendFileParamsFileInfoProgressWatcherClosure: ((UploadParameters, FileInfo, ProgressWatcher?) throws -> SendAttachmentJoinHandle)?
open override func sendFile(url: String, fileInfo: FileInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool) -> SendAttachmentJoinHandle { open override func sendFile(params: UploadParameters, fileInfo: FileInfo, progressWatcher: ProgressWatcher?) throws -> SendAttachmentJoinHandle {
sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount += 1 if let error = sendFileParamsFileInfoProgressWatcherThrowableError {
sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments = (url: url, fileInfo: fileInfo, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue) throw error
DispatchQueue.main.async {
self.sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations.append((url: url, fileInfo: fileInfo, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue))
} }
if let sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure = sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure { sendFileParamsFileInfoProgressWatcherCallsCount += 1
return sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure(url, fileInfo, caption, formattedCaption, progressWatcher, useSendQueue) sendFileParamsFileInfoProgressWatcherReceivedArguments = (params: params, fileInfo: fileInfo, progressWatcher: progressWatcher)
DispatchQueue.main.async {
self.sendFileParamsFileInfoProgressWatcherReceivedInvocations.append((params: params, fileInfo: fileInfo, progressWatcher: progressWatcher))
}
if let sendFileParamsFileInfoProgressWatcherClosure = sendFileParamsFileInfoProgressWatcherClosure {
return try sendFileParamsFileInfoProgressWatcherClosure(params, fileInfo, progressWatcher)
} else { } else {
return sendFileUrlFileInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue return sendFileParamsFileInfoProgressWatcherReturnValue
} }
} }
//MARK: - sendImage //MARK: - sendImage
var sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = 0 open var sendImageParamsThumbnailPathImageInfoProgressWatcherThrowableError: Error?
open var sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount: Int { var sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingCallsCount = 0
open var sendImageParamsThumbnailPathImageInfoProgressWatcherCallsCount: Int {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount return sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingCallsCount
} else { } else {
var returnValue: Int? = nil var returnValue: Int? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount returnValue = sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingCallsCount
} }
return returnValue! return returnValue!
@@ -20074,29 +20152,29 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingCallsCount = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingCallsCount = newValue
} }
} }
} }
} }
open var sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCalled: Bool { open var sendImageParamsThumbnailPathImageInfoProgressWatcherCalled: Bool {
return sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount > 0 return sendImageParamsThumbnailPathImageInfoProgressWatcherCallsCount > 0
} }
open var sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments: (url: String, thumbnailUrl: String?, imageInfo: ImageInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)? open var sendImageParamsThumbnailPathImageInfoProgressWatcherReceivedArguments: (params: UploadParameters, thumbnailPath: String?, imageInfo: ImageInfo, progressWatcher: ProgressWatcher?)?
open var sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations: [(url: String, thumbnailUrl: String?, imageInfo: ImageInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)] = [] open var sendImageParamsThumbnailPathImageInfoProgressWatcherReceivedInvocations: [(params: UploadParameters, thumbnailPath: String?, imageInfo: ImageInfo, progressWatcher: ProgressWatcher?)] = []
var sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue: SendAttachmentJoinHandle! var sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingReturnValue: SendAttachmentJoinHandle!
open var sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue: SendAttachmentJoinHandle! { open var sendImageParamsThumbnailPathImageInfoProgressWatcherReturnValue: SendAttachmentJoinHandle! {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue return sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingReturnValue
} else { } else {
var returnValue: SendAttachmentJoinHandle? = nil var returnValue: SendAttachmentJoinHandle? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue returnValue = sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingReturnValue
} }
return returnValue! return returnValue!
@@ -20104,26 +20182,29 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingReturnValue = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendImageParamsThumbnailPathImageInfoProgressWatcherUnderlyingReturnValue = newValue
} }
} }
} }
} }
open var sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure: ((String, String?, ImageInfo, String?, FormattedBody?, ProgressWatcher?, Bool) -> SendAttachmentJoinHandle)? open var sendImageParamsThumbnailPathImageInfoProgressWatcherClosure: ((UploadParameters, String?, ImageInfo, ProgressWatcher?) throws -> SendAttachmentJoinHandle)?
open override func sendImage(url: String, thumbnailUrl: String?, imageInfo: ImageInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool) -> SendAttachmentJoinHandle { open override func sendImage(params: UploadParameters, thumbnailPath: String?, imageInfo: ImageInfo, progressWatcher: ProgressWatcher?) throws -> SendAttachmentJoinHandle {
sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount += 1 if let error = sendImageParamsThumbnailPathImageInfoProgressWatcherThrowableError {
sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments = (url: url, thumbnailUrl: thumbnailUrl, imageInfo: imageInfo, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue) throw error
DispatchQueue.main.async {
self.sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations.append((url: url, thumbnailUrl: thumbnailUrl, imageInfo: imageInfo, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue))
} }
if let sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure = sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure { sendImageParamsThumbnailPathImageInfoProgressWatcherCallsCount += 1
return sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure(url, thumbnailUrl, imageInfo, caption, formattedCaption, progressWatcher, useSendQueue) sendImageParamsThumbnailPathImageInfoProgressWatcherReceivedArguments = (params: params, thumbnailPath: thumbnailPath, imageInfo: imageInfo, progressWatcher: progressWatcher)
DispatchQueue.main.async {
self.sendImageParamsThumbnailPathImageInfoProgressWatcherReceivedInvocations.append((params: params, thumbnailPath: thumbnailPath, imageInfo: imageInfo, progressWatcher: progressWatcher))
}
if let sendImageParamsThumbnailPathImageInfoProgressWatcherClosure = sendImageParamsThumbnailPathImageInfoProgressWatcherClosure {
return try sendImageParamsThumbnailPathImageInfoProgressWatcherClosure(params, thumbnailPath, imageInfo, progressWatcher)
} else { } else {
return sendImageUrlThumbnailUrlImageInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue return sendImageParamsThumbnailPathImageInfoProgressWatcherReturnValue
} }
} }
@@ -20309,15 +20390,16 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
//MARK: - sendVideo //MARK: - sendVideo
var sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = 0 open var sendVideoParamsThumbnailPathVideoInfoProgressWatcherThrowableError: Error?
open var sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount: Int { var sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingCallsCount = 0
open var sendVideoParamsThumbnailPathVideoInfoProgressWatcherCallsCount: Int {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount return sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingCallsCount
} else { } else {
var returnValue: Int? = nil var returnValue: Int? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount returnValue = sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingCallsCount
} }
return returnValue! return returnValue!
@@ -20325,29 +20407,29 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingCallsCount = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingCallsCount = newValue
} }
} }
} }
} }
open var sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCalled: Bool { open var sendVideoParamsThumbnailPathVideoInfoProgressWatcherCalled: Bool {
return sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount > 0 return sendVideoParamsThumbnailPathVideoInfoProgressWatcherCallsCount > 0
} }
open var sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments: (url: String, thumbnailUrl: String?, videoInfo: VideoInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)? open var sendVideoParamsThumbnailPathVideoInfoProgressWatcherReceivedArguments: (params: UploadParameters, thumbnailPath: String?, videoInfo: VideoInfo, progressWatcher: ProgressWatcher?)?
open var sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations: [(url: String, thumbnailUrl: String?, videoInfo: VideoInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)] = [] open var sendVideoParamsThumbnailPathVideoInfoProgressWatcherReceivedInvocations: [(params: UploadParameters, thumbnailPath: String?, videoInfo: VideoInfo, progressWatcher: ProgressWatcher?)] = []
var sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue: SendAttachmentJoinHandle! var sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingReturnValue: SendAttachmentJoinHandle!
open var sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue: SendAttachmentJoinHandle! { open var sendVideoParamsThumbnailPathVideoInfoProgressWatcherReturnValue: SendAttachmentJoinHandle! {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue return sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingReturnValue
} else { } else {
var returnValue: SendAttachmentJoinHandle? = nil var returnValue: SendAttachmentJoinHandle? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue returnValue = sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingReturnValue
} }
return returnValue! return returnValue!
@@ -20355,40 +20437,44 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingReturnValue = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendVideoParamsThumbnailPathVideoInfoProgressWatcherUnderlyingReturnValue = newValue
} }
} }
} }
} }
open var sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure: ((String, String?, VideoInfo, String?, FormattedBody?, ProgressWatcher?, Bool) -> SendAttachmentJoinHandle)? open var sendVideoParamsThumbnailPathVideoInfoProgressWatcherClosure: ((UploadParameters, String?, VideoInfo, ProgressWatcher?) throws -> SendAttachmentJoinHandle)?
open override func sendVideo(url: String, thumbnailUrl: String?, videoInfo: VideoInfo, caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool) -> SendAttachmentJoinHandle { open override func sendVideo(params: UploadParameters, thumbnailPath: String?, videoInfo: VideoInfo, progressWatcher: ProgressWatcher?) throws -> SendAttachmentJoinHandle {
sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount += 1 if let error = sendVideoParamsThumbnailPathVideoInfoProgressWatcherThrowableError {
sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments = (url: url, thumbnailUrl: thumbnailUrl, videoInfo: videoInfo, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue) throw error
DispatchQueue.main.async {
self.sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations.append((url: url, thumbnailUrl: thumbnailUrl, videoInfo: videoInfo, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue))
} }
if let sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure = sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure { sendVideoParamsThumbnailPathVideoInfoProgressWatcherCallsCount += 1
return sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueClosure(url, thumbnailUrl, videoInfo, caption, formattedCaption, progressWatcher, useSendQueue) sendVideoParamsThumbnailPathVideoInfoProgressWatcherReceivedArguments = (params: params, thumbnailPath: thumbnailPath, videoInfo: videoInfo, progressWatcher: progressWatcher)
DispatchQueue.main.async {
self.sendVideoParamsThumbnailPathVideoInfoProgressWatcherReceivedInvocations.append((params: params, thumbnailPath: thumbnailPath, videoInfo: videoInfo, progressWatcher: progressWatcher))
}
if let sendVideoParamsThumbnailPathVideoInfoProgressWatcherClosure = sendVideoParamsThumbnailPathVideoInfoProgressWatcherClosure {
return try sendVideoParamsThumbnailPathVideoInfoProgressWatcherClosure(params, thumbnailPath, videoInfo, progressWatcher)
} else { } else {
return sendVideoUrlThumbnailUrlVideoInfoCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue return sendVideoParamsThumbnailPathVideoInfoProgressWatcherReturnValue
} }
} }
//MARK: - sendVoiceMessage //MARK: - sendVoiceMessage
var sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = 0 open var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherThrowableError: Error?
open var sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount: Int { var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingCallsCount = 0
open var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherCallsCount: Int {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount return sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingCallsCount
} else { } else {
var returnValue: Int? = nil var returnValue: Int? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount returnValue = sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingCallsCount
} }
return returnValue! return returnValue!
@@ -20396,29 +20482,29 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingCallsCount = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingCallsCount = newValue sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingCallsCount = newValue
} }
} }
} }
} }
open var sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueCalled: Bool { open var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherCalled: Bool {
return sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount > 0 return sendVoiceMessageParamsAudioInfoWaveformProgressWatcherCallsCount > 0
} }
open var sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments: (url: String, audioInfo: AudioInfo, waveform: [UInt16], caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)? open var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherReceivedArguments: (params: UploadParameters, audioInfo: AudioInfo, waveform: [UInt16], progressWatcher: ProgressWatcher?)?
open var sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations: [(url: String, audioInfo: AudioInfo, waveform: [UInt16], caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool)] = [] open var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherReceivedInvocations: [(params: UploadParameters, audioInfo: AudioInfo, waveform: [UInt16], progressWatcher: ProgressWatcher?)] = []
var sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue: SendAttachmentJoinHandle! var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingReturnValue: SendAttachmentJoinHandle!
open var sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue: SendAttachmentJoinHandle! { open var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherReturnValue: SendAttachmentJoinHandle! {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue return sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingReturnValue
} else { } else {
var returnValue: SendAttachmentJoinHandle? = nil var returnValue: SendAttachmentJoinHandle? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue returnValue = sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingReturnValue
} }
return returnValue! return returnValue!
@@ -20426,26 +20512,29 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline {
} }
set { set {
if Thread.isMainThread { if Thread.isMainThread {
sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingReturnValue = newValue
} else { } else {
DispatchQueue.main.sync { DispatchQueue.main.sync {
sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueUnderlyingReturnValue = newValue sendVoiceMessageParamsAudioInfoWaveformProgressWatcherUnderlyingReturnValue = newValue
} }
} }
} }
} }
open var sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueClosure: ((String, AudioInfo, [UInt16], String?, FormattedBody?, ProgressWatcher?, Bool) -> SendAttachmentJoinHandle)? open var sendVoiceMessageParamsAudioInfoWaveformProgressWatcherClosure: ((UploadParameters, AudioInfo, [UInt16], ProgressWatcher?) throws -> SendAttachmentJoinHandle)?
open override func sendVoiceMessage(url: String, audioInfo: AudioInfo, waveform: [UInt16], caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?, useSendQueue: Bool) -> SendAttachmentJoinHandle { open override func sendVoiceMessage(params: UploadParameters, audioInfo: AudioInfo, waveform: [UInt16], progressWatcher: ProgressWatcher?) throws -> SendAttachmentJoinHandle {
sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueCallsCount += 1 if let error = sendVoiceMessageParamsAudioInfoWaveformProgressWatcherThrowableError {
sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedArguments = (url: url, audioInfo: audioInfo, waveform: waveform, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue) throw error
DispatchQueue.main.async {
self.sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueReceivedInvocations.append((url: url, audioInfo: audioInfo, waveform: waveform, caption: caption, formattedCaption: formattedCaption, progressWatcher: progressWatcher, useSendQueue: useSendQueue))
} }
if let sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueClosure = sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueClosure { sendVoiceMessageParamsAudioInfoWaveformProgressWatcherCallsCount += 1
return sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueClosure(url, audioInfo, waveform, caption, formattedCaption, progressWatcher, useSendQueue) sendVoiceMessageParamsAudioInfoWaveformProgressWatcherReceivedArguments = (params: params, audioInfo: audioInfo, waveform: waveform, progressWatcher: progressWatcher)
DispatchQueue.main.async {
self.sendVoiceMessageParamsAudioInfoWaveformProgressWatcherReceivedInvocations.append((params: params, audioInfo: audioInfo, waveform: waveform, progressWatcher: progressWatcher))
}
if let sendVoiceMessageParamsAudioInfoWaveformProgressWatcherClosure = sendVoiceMessageParamsAudioInfoWaveformProgressWatcherClosure {
return try sendVoiceMessageParamsAudioInfoWaveformProgressWatcherClosure(params, audioInfo, waveform, progressWatcher)
} else { } else {
return sendVoiceMessageUrlAudioInfoWaveformCaptionFormattedCaptionProgressWatcherUseSendQueueReturnValue return sendVoiceMessageParamsAudioInfoWaveformProgressWatcherReturnValue
} }
} }
@@ -21481,13 +21570,13 @@ open class TimelineEventSDKMock: MatrixRustSDK.TimelineEvent {
return timestampCallsCount > 0 return timestampCallsCount > 0
} }
var timestampUnderlyingReturnValue: UInt64! var timestampUnderlyingReturnValue: Timestamp!
open var timestampReturnValue: UInt64! { open var timestampReturnValue: Timestamp! {
get { get {
if Thread.isMainThread { if Thread.isMainThread {
return timestampUnderlyingReturnValue return timestampUnderlyingReturnValue
} else { } else {
var returnValue: UInt64? = nil var returnValue: Timestamp? = nil
DispatchQueue.main.sync { DispatchQueue.main.sync {
returnValue = timestampUnderlyingReturnValue returnValue = timestampUnderlyingReturnValue
} }
@@ -21505,9 +21594,9 @@ open class TimelineEventSDKMock: MatrixRustSDK.TimelineEvent {
} }
} }
} }
open var timestampClosure: (() -> UInt64)? open var timestampClosure: (() -> Timestamp)?
open override func timestamp() -> UInt64 { open override func timestamp() -> Timestamp {
timestampCallsCount += 1 timestampCallsCount += 1
if let timestampClosure = timestampClosure { if let timestampClosure = timestampClosure {
return timestampClosure() return timestampClosure()
@@ -12,7 +12,6 @@ extension PhotoLibraryManagerMock {
var authorizationDenied = false var authorizationDenied = false
} }
// swiftlint:disable:next cyclomatic_complexity
convenience init(_ configuration: Configuration) { convenience init(_ configuration: Configuration) {
self.init() self.init()
@@ -255,11 +255,12 @@ class RoomTimelineController: RoomTimelineControllerProtocol {
message: String, message: String,
html: String?, html: String?,
intentionalMentions: IntentionalMentions) async { intentionalMentions: IntentionalMentions) async {
// We're waiting on an API for including mentions: https://github.com/matrix-org/matrix-rust-sdk/issues/4302
MXLog.info("Editing timeline item caption: \(eventOrTransactionID) in \(roomID)") MXLog.info("Editing timeline item caption: \(eventOrTransactionID) in \(roomID)")
// When formattedCaption is nil, caption will be parsed as markdown and generate the HTML for us. // When formattedCaption is nil, caption will be parsed as markdown and generate the HTML for us.
let newContent = createCaptionEdit(caption: message, formattedCaption: html.map { .init(format: .html, body: $0) }) let newContent = createCaptionEdit(caption: message,
formattedCaption: html.map { .init(format: .html, body: $0) },
mentions: intentionalMentions.toRustMentions())
switch await activeTimeline.edit(eventOrTransactionID, newContent: newContent) { switch await activeTimeline.edit(eventOrTransactionID, newContent: newContent) {
case .success: case .success:
MXLog.info("Finished editing caption") MXLog.info("Finished editing caption")
@@ -270,7 +271,7 @@ class RoomTimelineController: RoomTimelineControllerProtocol {
func removeCaption(_ eventOrTransactionID: EventOrTransactionId) async { func removeCaption(_ eventOrTransactionID: EventOrTransactionId) async {
// Set a `nil` caption to remove it from the event. // Set a `nil` caption to remove it from the event.
let newContent = createCaptionEdit(caption: nil, formattedCaption: nil) let newContent = createCaptionEdit(caption: nil, formattedCaption: nil, mentions: nil)
switch await activeTimeline.edit(eventOrTransactionID, newContent: newContent) { switch await activeTimeline.edit(eventOrTransactionID, newContent: newContent) {
case .success: case .success:
MXLog.info("Finished removing caption.") MXLog.info("Finished removing caption.")
@@ -229,16 +229,17 @@ final class TimelineProxy: TimelineProxyProtocol {
requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> { requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> {
MXLog.info("Sending audio") MXLog.info("Sending audio")
let handle = timeline.sendAudio(url: url.path(percentEncoded: false), do {
audioInfo: audioInfo, let handle = try timeline.sendAudio(params: .init(filename: url.path(percentEncoded: false),
caption: caption, caption: caption,
formattedCaption: nil, // Rust will build this from the caption's markdown. formattedCaption: nil, // Rust will build this from the caption's markdown.
progressWatcher: nil, mentions: nil,
useSendQueue: true) useSendQueue: true),
audioInfo: audioInfo,
progressWatcher: nil)
await requestHandle(handle) await requestHandle(handle)
do {
try await handle.join() try await handle.join()
MXLog.info("Finished sending audio") MXLog.info("Finished sending audio")
} catch { } catch {
@@ -255,16 +256,17 @@ final class TimelineProxy: TimelineProxyProtocol {
requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> { requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> {
MXLog.info("Sending file") MXLog.info("Sending file")
let handle = timeline.sendFile(url: url.path(percentEncoded: false), do {
fileInfo: fileInfo, let handle = try timeline.sendFile(params: .init(filename: url.path(percentEncoded: false),
caption: caption, caption: caption,
formattedCaption: nil, // Rust will build this from the caption's markdown. formattedCaption: nil, // Rust will build this from the caption's markdown.
progressWatcher: nil, mentions: nil,
useSendQueue: true) useSendQueue: true),
fileInfo: fileInfo,
progressWatcher: nil)
await requestHandle(handle) await requestHandle(handle)
do {
try await handle.join() try await handle.join()
MXLog.info("Finished sending file") MXLog.info("Finished sending file")
} catch { } catch {
@@ -282,17 +284,18 @@ final class TimelineProxy: TimelineProxyProtocol {
requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> { requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> {
MXLog.info("Sending image") MXLog.info("Sending image")
let handle = timeline.sendImage(url: url.path(percentEncoded: false), do {
thumbnailUrl: thumbnailURL.path(percentEncoded: false), let handle = try timeline.sendImage(params: .init(filename: url.path(percentEncoded: false),
imageInfo: imageInfo,
caption: caption, caption: caption,
formattedCaption: nil, // Rust will build this from the caption's markdown. formattedCaption: nil, // Rust will build this from the caption's markdown.
progressWatcher: nil, mentions: nil,
useSendQueue: true) useSendQueue: true),
thumbnailPath: thumbnailURL.path(percentEncoded: false),
imageInfo: imageInfo,
progressWatcher: nil)
await requestHandle(handle) await requestHandle(handle)
do {
try await handle.join() try await handle.join()
MXLog.info("Finished sending image") MXLog.info("Finished sending image")
} catch { } catch {
@@ -328,17 +331,18 @@ final class TimelineProxy: TimelineProxyProtocol {
requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> { requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> {
MXLog.info("Sending video") MXLog.info("Sending video")
let handle = timeline.sendVideo(url: url.path(percentEncoded: false), do {
thumbnailUrl: thumbnailURL.path(percentEncoded: false), let handle = try timeline.sendVideo(params: .init(filename: url.path(percentEncoded: false),
videoInfo: videoInfo,
caption: caption, caption: caption,
formattedCaption: nil, // Rust will build this from the caption's markdown. formattedCaption: nil,
progressWatcher: nil, mentions: nil,
useSendQueue: true) useSendQueue: true),
thumbnailPath: thumbnailURL.path(percentEncoded: false),
videoInfo: videoInfo,
progressWatcher: nil)
await requestHandle(handle) await requestHandle(handle)
do {
try await handle.join() try await handle.join()
MXLog.info("Finished sending video") MXLog.info("Finished sending video")
} catch { } catch {
@@ -355,17 +359,18 @@ final class TimelineProxy: TimelineProxyProtocol {
requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> { requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result<Void, TimelineProxyError> {
MXLog.info("Sending voice message") MXLog.info("Sending voice message")
let handle = timeline.sendVoiceMessage(url: url.path(percentEncoded: false), do {
audioInfo: audioInfo, let handle = try timeline.sendVoiceMessage(params: .init(filename: url.path(percentEncoded: false),
waveform: waveform,
caption: nil, caption: nil,
formattedCaption: nil, formattedCaption: nil,
progressWatcher: nil, mentions: nil,
useSendQueue: true) useSendQueue: true),
audioInfo: audioInfo,
waveform: waveform,
progressWatcher: nil)
await requestHandle(handle) await requestHandle(handle)
do {
try await handle.join() try await handle.join()
MXLog.info("Finished sending voice message") MXLog.info("Finished sending voice message")
} catch { } catch {
+1 -1
View File
@@ -61,7 +61,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: 24.12.20 exactVersion: 25.01.10-2
# 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