Skip to content

Commit 1005986

Browse files
committed
Bump to version v1.0.4 (matrix-rust-sdk/main 16891ff)
1 parent 4e74b98 commit 1005986

File tree

3 files changed

+128
-18
lines changed

3 files changed

+128
-18
lines changed

Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// swift-tools-version:5.9
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33
import PackageDescription
4-
let checksum = "3107c19ad82228c114a39375e8b1b1ad36d104b56250192001edb802590de102"
5-
let version = "v1.0.3"
4+
let checksum = "dffb8c8b5e6d068db970dd49c24c0f7f735d1d129df113b81e9b35338cea5fca"
5+
let version = "v1.0.4"
66
let url = "https://github.com/element-hq/matrix-rust-components-swift/releases/download/\(version)/MatrixSDKFFI.xcframework.zip"
77
let package = Package(
88
name: "MatrixRustSDK",

Sources/MatrixRustSDK/matrix_sdk_ffi.swift

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7798,7 +7798,7 @@ public protocol TimelineProtocol : AnyObject {
77987798

77997799
func sendVoiceMessage(url: String, audioInfo: AudioInfo, waveform: [UInt16], caption: String?, formattedCaption: FormattedBody?, progressWatcher: ProgressWatcher?) -> SendAttachmentJoinHandle
78007800

7801-
func subscribeToBackPaginationStatus(listener: PaginationStatusListener) throws -> TaskHandle
7801+
func subscribeToBackPaginationStatus(listener: PaginationStatusListener) async throws -> TaskHandle
78027802

78037803
func toggleReaction(eventId: String, key: String) async throws
78047804

@@ -8213,12 +8213,21 @@ open func sendVoiceMessage(url: String, audioInfo: AudioInfo, waveform: [UInt16]
82138213
})
82148214
}
82158215

8216-
open func subscribeToBackPaginationStatus(listener: PaginationStatusListener)throws -> TaskHandle {
8217-
return try FfiConverterTypeTaskHandle.lift(try rustCallWithError(FfiConverterTypeClientError.lift) {
8218-
uniffi_matrix_sdk_ffi_fn_method_timeline_subscribe_to_back_pagination_status(self.uniffiClonePointer(),
8219-
FfiConverterCallbackInterfacePaginationStatusListener.lower(listener),$0
8220-
)
8221-
})
8216+
open func subscribeToBackPaginationStatus(listener: PaginationStatusListener)async throws -> TaskHandle {
8217+
return
8218+
try await uniffiRustCallAsync(
8219+
rustFutureFunc: {
8220+
uniffi_matrix_sdk_ffi_fn_method_timeline_subscribe_to_back_pagination_status(
8221+
self.uniffiClonePointer(),
8222+
FfiConverterCallbackInterfacePaginationStatusListener.lower(listener)
8223+
)
8224+
},
8225+
pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_pointer,
8226+
completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_pointer,
8227+
freeFunc: ffi_matrix_sdk_ffi_rust_future_free_pointer,
8228+
liftFunc: FfiConverterTypeTaskHandle.lift,
8229+
errorHandler: FfiConverterTypeClientError.lift
8230+
)
82228231
}
82238232

82248233
open func toggleReaction(eventId: String, key: String)async throws {
@@ -12498,12 +12507,14 @@ public func FfiConverterTypeRoomPreview_lower(_ value: RoomPreview) -> RustBuffe
1249812507
public struct RoomSubscription {
1249912508
public var requiredState: [RequiredState]?
1250012509
public var timelineLimit: UInt32?
12510+
public var includeHeroes: Bool?
1250112511

1250212512
// Default memberwise initializers are never public by default, so we
1250312513
// declare one manually.
12504-
public init(requiredState: [RequiredState]?, timelineLimit: UInt32?) {
12514+
public init(requiredState: [RequiredState]?, timelineLimit: UInt32?, includeHeroes: Bool?) {
1250512515
self.requiredState = requiredState
1250612516
self.timelineLimit = timelineLimit
12517+
self.includeHeroes = includeHeroes
1250712518
}
1250812519
}
1250912520

@@ -12517,12 +12528,16 @@ extension RoomSubscription: Equatable, Hashable {
1251712528
if lhs.timelineLimit != rhs.timelineLimit {
1251812529
return false
1251912530
}
12531+
if lhs.includeHeroes != rhs.includeHeroes {
12532+
return false
12533+
}
1252012534
return true
1252112535
}
1252212536

1252312537
public func hash(into hasher: inout Hasher) {
1252412538
hasher.combine(requiredState)
1252512539
hasher.combine(timelineLimit)
12540+
hasher.combine(includeHeroes)
1252612541
}
1252712542
}
1252812543

@@ -12532,13 +12547,15 @@ public struct FfiConverterTypeRoomSubscription: FfiConverterRustBuffer {
1253212547
return
1253312548
try RoomSubscription(
1253412549
requiredState: FfiConverterOptionSequenceTypeRequiredState.read(from: &buf),
12535-
timelineLimit: FfiConverterOptionUInt32.read(from: &buf)
12550+
timelineLimit: FfiConverterOptionUInt32.read(from: &buf),
12551+
includeHeroes: FfiConverterOptionBool.read(from: &buf)
1253612552
)
1253712553
}
1253812554

1253912555
public static func write(_ value: RoomSubscription, into buf: inout [UInt8]) {
1254012556
FfiConverterOptionSequenceTypeRequiredState.write(value.requiredState, into: &buf)
1254112557
FfiConverterOptionUInt32.write(value.timelineLimit, into: &buf)
12558+
FfiConverterOptionBool.write(value.includeHeroes, into: &buf)
1254212559
}
1254312560
}
1254412561

@@ -20496,7 +20513,7 @@ extension FfiConverterCallbackInterfaceNotificationSettingsDelegate : FfiConvert
2049620513

2049720514
public protocol PaginationStatusListener : AnyObject {
2049820515

20499-
func onUpdate(status: PaginatorState)
20516+
func onUpdate(status: LiveBackPaginationStatus)
2050020517

2050120518
}
2050220519

@@ -20520,7 +20537,7 @@ fileprivate struct UniffiCallbackInterfacePaginationStatusListener {
2052020537
throw UniffiInternalError.unexpectedStaleHandle
2052120538
}
2052220539
return uniffiObj.onUpdate(
20523-
status: try FfiConverterTypePaginatorState_lift(status)
20540+
status: try FfiConverterTypeLiveBackPaginationStatus_lift(status)
2052420541
)
2052520542
}
2052620543

@@ -23762,9 +23779,10 @@ public func generateWebviewUrl(widgetSettings: WidgetSettings, room: Room, props
2376223779
* but should only be done as temporal workarounds until this function is
2376323780
* adjusted
2376423781
*/
23765-
public func getElementCallRequiredPermissions() -> WidgetCapabilities {
23782+
public func getElementCallRequiredPermissions(ownUserId: String) -> WidgetCapabilities {
2376623783
return try! FfiConverterTypeWidgetCapabilities.lift(try! rustCall() {
23767-
uniffi_matrix_sdk_ffi_fn_func_get_element_call_required_permissions($0
23784+
uniffi_matrix_sdk_ffi_fn_func_get_element_call_required_permissions(
23785+
FfiConverterString.lower(ownUserId),$0
2376823786
)
2376923787
})
2377023788
}
@@ -23942,7 +23960,7 @@ private var initializationResult: InitializationResult {
2394223960
if (uniffi_matrix_sdk_ffi_checksum_func_generate_webview_url() != 6844) {
2394323961
return InitializationResult.apiChecksumMismatch
2394423962
}
23945-
if (uniffi_matrix_sdk_ffi_checksum_func_get_element_call_required_permissions() != 30886) {
23963+
if (uniffi_matrix_sdk_ffi_checksum_func_get_element_call_required_permissions() != 51419) {
2394623964
return InitializationResult.apiChecksumMismatch
2394723965
}
2394823966
if (uniffi_matrix_sdk_ffi_checksum_func_log_event() != 62286) {
@@ -24848,7 +24866,7 @@ private var initializationResult: InitializationResult {
2484824866
if (uniffi_matrix_sdk_ffi_checksum_method_timeline_send_voice_message() != 49989) {
2484924867
return InitializationResult.apiChecksumMismatch
2485024868
}
24851-
if (uniffi_matrix_sdk_ffi_checksum_method_timeline_subscribe_to_back_pagination_status() != 32222) {
24869+
if (uniffi_matrix_sdk_ffi_checksum_method_timeline_subscribe_to_back_pagination_status() != 46161) {
2485224870
return InitializationResult.apiChecksumMismatch
2485324871
}
2485424872
if (uniffi_matrix_sdk_ffi_checksum_method_timeline_toggle_reaction() != 10294) {
@@ -24974,7 +24992,7 @@ private var initializationResult: InitializationResult {
2497424992
if (uniffi_matrix_sdk_ffi_checksum_method_notificationsettingsdelegate_settings_did_change() != 51708) {
2497524993
return InitializationResult.apiChecksumMismatch
2497624994
}
24977-
if (uniffi_matrix_sdk_ffi_checksum_method_paginationstatuslistener_on_update() != 58051) {
24995+
if (uniffi_matrix_sdk_ffi_checksum_method_paginationstatuslistener_on_update() != 29884) {
2497824996
return InitializationResult.apiChecksumMismatch
2497924997
}
2498024998
if (uniffi_matrix_sdk_ffi_checksum_method_progresswatcher_transmission_progress() != 41133) {

Sources/MatrixRustSDK/matrix_sdk_ui.swift

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,27 @@ fileprivate class UniffiHandleMap<T> {
381381
// Public interface members begin here.
382382

383383

384+
fileprivate struct FfiConverterBool : FfiConverter {
385+
typealias FfiType = Int8
386+
typealias SwiftType = Bool
387+
388+
public static func lift(_ value: Int8) throws -> Bool {
389+
return value != 0
390+
}
391+
392+
public static func lower(_ value: Bool) -> Int8 {
393+
return value ? 1 : 0
394+
}
395+
396+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> Bool {
397+
return try lift(readInt(&buf))
398+
}
399+
400+
public static func write(_ value: Bool, into buf: inout [UInt8]) {
401+
writeInt(&buf, lower(value))
402+
}
403+
}
404+
384405
fileprivate struct FfiConverterString: FfiConverter {
385406
typealias SwiftType = String
386407
typealias FfiType = RustBuffer
@@ -493,6 +514,77 @@ extension EventItemOrigin: Equatable, Hashable {}
493514

494515

495516

517+
// Note that we don't yet support `indirect` for enums.
518+
// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion.
519+
/**
520+
* Status for the back-pagination on a live timeline.
521+
*/
522+
523+
public enum LiveBackPaginationStatus {
524+
525+
/**
526+
* No back-pagination is happening right now.
527+
*/
528+
case idle(
529+
/**
530+
* Have we hit the start of the timeline, i.e. back-paginating wouldn't
531+
* have any effect?
532+
*/hitStartOfTimeline: Bool
533+
)
534+
/**
535+
* Back-pagination is already running in the background.
536+
*/
537+
case paginating
538+
}
539+
540+
541+
public struct FfiConverterTypeLiveBackPaginationStatus: FfiConverterRustBuffer {
542+
typealias SwiftType = LiveBackPaginationStatus
543+
544+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> LiveBackPaginationStatus {
545+
let variant: Int32 = try readInt(&buf)
546+
switch variant {
547+
548+
case 1: return .idle(hitStartOfTimeline: try FfiConverterBool.read(from: &buf)
549+
)
550+
551+
case 2: return .paginating
552+
553+
default: throw UniffiInternalError.unexpectedEnumCase
554+
}
555+
}
556+
557+
public static func write(_ value: LiveBackPaginationStatus, into buf: inout [UInt8]) {
558+
switch value {
559+
560+
561+
case let .idle(hitStartOfTimeline):
562+
writeInt(&buf, Int32(1))
563+
FfiConverterBool.write(hitStartOfTimeline, into: &buf)
564+
565+
566+
case .paginating:
567+
writeInt(&buf, Int32(2))
568+
569+
}
570+
}
571+
}
572+
573+
574+
public func FfiConverterTypeLiveBackPaginationStatus_lift(_ buf: RustBuffer) throws -> LiveBackPaginationStatus {
575+
return try FfiConverterTypeLiveBackPaginationStatus.lift(buf)
576+
}
577+
578+
public func FfiConverterTypeLiveBackPaginationStatus_lower(_ value: LiveBackPaginationStatus) -> RustBuffer {
579+
return FfiConverterTypeLiveBackPaginationStatus.lower(value)
580+
}
581+
582+
583+
584+
extension LiveBackPaginationStatus: Equatable, Hashable {}
585+
586+
587+
496588
private enum InitializationResult {
497589
case ok
498590
case contractVersionMismatch

0 commit comments

Comments
 (0)