From c3509b4b1c1d38a7f9f1749761ee3b0dfda21634 Mon Sep 17 00:00:00 2001 From: Valentin Weiss <10179089+WeissDev@users.noreply.github.com> Date: Mon, 1 Sep 2025 18:27:26 +0200 Subject: [PATCH 1/2] chore: update matrix-rust-sdk to 0.13.0 --- cpp/generated/matrix_sdk_ffi.cpp | 2205 ++++++++---- cpp/generated/matrix_sdk_ffi.hpp | 293 +- matrix-rust-sdk.patch | 4965 ++++++++++++++++++++++++++- src/generated/matrix_sdk.ts | 550 +++ src/generated/matrix_sdk_common.ts | 9 + src/generated/matrix_sdk_ffi-ffi.ts | 248 +- src/generated/matrix_sdk_ffi.ts | 3148 +++++++++-------- swift/matrix_sdk.swift | 821 +++++ swift/matrix_sdk_common.swift | 11 + swift/matrix_sdk_ffi.swift | 2475 ++++++------- ubrn.yaml | 6 +- 11 files changed, 10969 insertions(+), 3762 deletions(-) diff --git a/cpp/generated/matrix_sdk_ffi.cpp b/cpp/generated/matrix_sdk_ffi.cpp index 771b684..b720962 100644 --- a/cpp/generated/matrix_sdk_ffi.cpp +++ b/cpp/generated/matrix_sdk_ffi.cpp @@ -389,7 +389,8 @@ uniffi_matrix_sdk_ffi_fn_method_client_cached_avatar_url(void *ptr); int8_t uniffi_matrix_sdk_ffi_fn_method_client_can_deactivate_account( void *ptr, RustCallStatus *uniffi_out_err); /*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_client_clear_caches(void *ptr); +uniffi_matrix_sdk_ffi_fn_method_client_clear_caches(void *ptr, + RustBuffer sync_service); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_client_create_room(void *ptr, RustBuffer request); @@ -462,6 +463,8 @@ uniffi_matrix_sdk_ffi_fn_method_client_ignore_user(void *ptr, /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_client_ignored_users(void *ptr); /*handle*/ uint64_t +uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported(void *ptr); +/*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_client_is_report_room_api_supported(void *ptr); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_client_is_room_alias_available( @@ -496,7 +499,7 @@ void *uniffi_matrix_sdk_ffi_fn_method_client_observe_room_account_data_event( /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_client_remove_avatar(void *ptr); /*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities(void *ptr); +uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info(void *ptr); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_client_resolve_room_alias( void *ptr, RustBuffer room_alias); /*handle*/ uint64_t @@ -604,6 +607,8 @@ uniffi_matrix_sdk_ffi_fn_method_clientbuilder_build_with_qr_code( void * uniffi_matrix_sdk_ffi_fn_method_clientbuilder_cross_process_store_locks_holder_name( void *ptr, RustBuffer holder_name, RustCallStatus *uniffi_out_err); +void *uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings( + void *ptr, RustBuffer decryption_settings, RustCallStatus *uniffi_out_err); void * uniffi_matrix_sdk_ffi_fn_method_clientbuilder_disable_automatic_token_refresh( void *ptr, RustCallStatus *uniffi_out_err); @@ -624,9 +629,6 @@ void *uniffi_matrix_sdk_ffi_fn_method_clientbuilder_proxy( void *ptr, RustBuffer url, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_method_clientbuilder_request_config( void *ptr, RustBuffer config, RustCallStatus *uniffi_out_err); -void * -uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement( - void *ptr, RustBuffer trust_requirement, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_key_recipient_strategy( void *ptr, RustBuffer strategy, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_method_clientbuilder_server_name( @@ -653,6 +655,8 @@ uniffi_matrix_sdk_ffi_fn_method_clientbuilder_sliding_sync_version_builder( void * uniffi_matrix_sdk_ffi_fn_method_clientbuilder_system_is_memory_constrained( void *ptr, RustCallStatus *uniffi_out_err); +void *uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled( + void *ptr, int8_t enabled, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_method_clientbuilder_user_agent( void *ptr, RustBuffer user_agent, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_method_clientbuilder_username( @@ -901,35 +905,10 @@ uniffi_matrix_sdk_ffi_fn_method_room_avatar_url(void *ptr, /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_ban_user(void *ptr, RustBuffer user_id, RustBuffer reason); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban(void *ptr, - RustBuffer user_id); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite(void *ptr, - RustBuffer user_id); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick(void *ptr, - RustBuffer user_id); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin(void *ptr, - RustBuffer user_id); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other(void *ptr, - RustBuffer user_id); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own(void *ptr, - RustBuffer user_id); -/*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( - void *ptr, RustBuffer user_id, RustBuffer message); -/*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - void *ptr, RustBuffer user_id, RustBuffer state_event); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - void *ptr, RustBuffer user_id); RustBuffer uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias( void *ptr, RustCallStatus *uniffi_out_err); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft(void *ptr); +/*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft( + void *ptr, RustBuffer thread_root); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_clear_event_cache_storage(void *ptr); /*handle*/ uint64_t @@ -972,7 +951,7 @@ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_invited_members_count( /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_is_direct(void *ptr); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_is_encrypted(void *ptr); -int8_t +RustBuffer uniffi_matrix_sdk_ffi_fn_method_room_is_public(void *ptr, RustCallStatus *uniffi_out_err); int8_t uniffi_matrix_sdk_ffi_fn_method_room_is_send_queue_enabled( @@ -991,8 +970,8 @@ uniffi_matrix_sdk_ffi_fn_method_room_latest_encryption_state(void *ptr); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_latest_event(void *ptr); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_leave(void *ptr); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft(void *ptr); +/*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft( + void *ptr, RustBuffer thread_root); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_mark_as_read(void *ptr, RustBuffer receipt_type); @@ -1047,9 +1026,8 @@ uniffi_matrix_sdk_ffi_fn_method_room_reset_power_levels(void *ptr); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_room_events_debug_string(void *ptr); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_room_info(void *ptr); -/*handle*/ uint64_t -uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft(void *ptr, - RustBuffer draft); +/*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft( + void *ptr, RustBuffer draft, RustBuffer thread_root); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_room_send_call_notification( void *ptr, RustBuffer call_id, RustBuffer application, RustBuffer notify_type, RustBuffer mentions); @@ -1185,8 +1163,9 @@ void *uniffi_matrix_sdk_ffi_fn_method_roomlistservice_room( void *ptr, RustBuffer room_id, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_method_roomlistservice_state( void *ptr, uint64_t listener, RustCallStatus *uniffi_out_err); -void uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( - void *ptr, RustBuffer room_ids, RustCallStatus *uniffi_out_err); +/*handle*/ uint64_t +uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( + void *ptr, RustBuffer room_ids); void *uniffi_matrix_sdk_ffi_fn_method_roomlistservice_sync_indicator( void *ptr, uint32_t delay_before_showing_in_ms, uint32_t delay_before_hiding_in_ms, uint64_t listener, @@ -1207,6 +1186,57 @@ void * uniffi_matrix_sdk_ffi_fn_method_roommessageeventcontentwithoutrelation_with_mentions( void *ptr, RustBuffer mentions, RustCallStatus *uniffi_out_err); void * +uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels(void *ptr, + RustCallStatus *uniffi_out_err); +void uniffi_matrix_sdk_ffi_fn_free_roompowerlevels( + void *ptr, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban( + void *ptr, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite( + void *ptr, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick( + void *ptr, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin( + void *ptr, RustCallStatus *uniffi_out_err); +int8_t +uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other( + void *ptr, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own( + void *ptr, RustCallStatus *uniffi_out_err); +int8_t +uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message( + void *ptr, RustBuffer message, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state( + void *ptr, RustBuffer state_event, RustCallStatus *uniffi_out_err); +int8_t +uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification( + void *ptr, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban( + void *ptr, RustBuffer user_id, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite( + void *ptr, RustBuffer user_id, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick( + void *ptr, RustBuffer user_id, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin( + void *ptr, RustBuffer user_id, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other( + void *ptr, RustBuffer user_id, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own( + void *ptr, RustBuffer user_id, RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message( + void *ptr, RustBuffer user_id, RustBuffer message, + RustCallStatus *uniffi_out_err); +int8_t uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state( + void *ptr, RustBuffer user_id, RustBuffer state_event, + RustCallStatus *uniffi_out_err); +int8_t +uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification( + void *ptr, RustBuffer user_id, RustCallStatus *uniffi_out_err); +RustBuffer uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels( + void *ptr, RustCallStatus *uniffi_out_err); +RustBuffer uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values( + void *ptr, RustCallStatus *uniffi_out_err); +void * uniffi_matrix_sdk_ffi_fn_clone_roompreview(void *ptr, RustCallStatus *uniffi_out_err); void uniffi_matrix_sdk_ffi_fn_free_roompreview(void *ptr, @@ -1331,6 +1361,8 @@ uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_cross_process_lock( void *ptr, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_offline_mode( void *ptr, RustCallStatus *uniffi_out_err); +void *uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos( + void *ptr, int8_t enable, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_clone_taskhandle(void *ptr, RustCallStatus *uniffi_out_err); void uniffi_matrix_sdk_ffi_fn_free_taskhandle(void *ptr, @@ -1346,6 +1378,8 @@ void uniffi_matrix_sdk_ffi_fn_free_threadsummary( void *ptr, RustCallStatus *uniffi_out_err); RustBuffer uniffi_matrix_sdk_ffi_fn_method_threadsummary_latest_event( void *ptr, RustCallStatus *uniffi_out_err); +uint64_t uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies( + void *ptr, RustCallStatus *uniffi_out_err); void *uniffi_matrix_sdk_ffi_fn_clone_timeline(void *ptr, RustCallStatus *uniffi_out_err); void uniffi_matrix_sdk_ffi_fn_free_timeline(void *ptr, @@ -1404,7 +1438,7 @@ void *uniffi_matrix_sdk_ffi_fn_method_timeline_send_image( RustCallStatus *uniffi_out_err); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_timeline_send_location( void *ptr, RustBuffer body, RustBuffer geo_uri, RustBuffer description, - RustBuffer zoom_level, RustBuffer asset_type); + RustBuffer zoom_level, RustBuffer asset_type, RustBuffer reply_params); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_timeline_send_poll_response( void *ptr, RustBuffer poll_start_event_id, RustBuffer answers); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_method_timeline_send_read_receipt( @@ -1596,8 +1630,6 @@ void *uniffi_matrix_sdk_ffi_fn_func_content_without_relation_from_message( RustBuffer uniffi_matrix_sdk_ffi_fn_func_create_caption_edit( RustBuffer caption, RustBuffer formatted_caption, RustBuffer mentions, RustCallStatus *uniffi_out_err); -void uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging( - int8_t enabled, RustCallStatus *uniffi_out_err); RustBuffer uniffi_matrix_sdk_ffi_fn_func_gen_transaction_id( RustCallStatus *uniffi_out_err); /*handle*/ uint64_t uniffi_matrix_sdk_ffi_fn_func_generate_webview_url( @@ -1615,8 +1647,6 @@ void uniffi_matrix_sdk_ffi_fn_func_log_event(RustBuffer file, RustBuffer line, RustBuffer target, RustBuffer message, RustCallStatus *uniffi_out_err); -RustBuffer uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - RustBuffer string, RustCallStatus *uniffi_out_err); RustBuffer uniffi_matrix_sdk_ffi_fn_func_make_widget_driver( RustBuffer settings, RustCallStatus *uniffi_out_err); RustBuffer uniffi_matrix_sdk_ffi_fn_func_matrix_to_room_alias_permalink( @@ -1638,6 +1668,8 @@ RustBuffer uniffi_matrix_sdk_ffi_fn_func_new_virtual_element_call_widget( RustBuffer props, RustCallStatus *uniffi_out_err); RustBuffer uniffi_matrix_sdk_ffi_fn_func_parse_matrix_entity_from( RustBuffer uri, RustCallStatus *uniffi_out_err); +void uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + RustBuffer configuration, RustCallStatus *uniffi_out_err); RustBuffer uniffi_matrix_sdk_ffi_fn_func_room_alias_name_from_room_display_name( RustBuffer room_name, RustCallStatus *uniffi_out_err); RustBuffer @@ -1776,7 +1808,6 @@ void ffi_matrix_sdk_ffi_rust_future_complete_void( uint16_t uniffi_matrix_sdk_ffi_checksum_func_content_without_relation_from_message(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit(); -uint16_t uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_generate_webview_url(); uint16_t @@ -1784,7 +1815,6 @@ uniffi_matrix_sdk_ffi_checksum_func_get_element_call_required_permissions(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_init_platform(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_is_room_alias_format_valid(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_log_event(); -uint16_t uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_matrix_to_room_alias_permalink(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_matrix_to_user_permalink(); @@ -1798,6 +1828,7 @@ uniffi_matrix_sdk_ffi_checksum_func_message_event_content_from_markdown_as_emote uint16_t uniffi_matrix_sdk_ffi_checksum_func_message_event_content_new(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from(); +uint16_t uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_display_name(); uint16_t uniffi_matrix_sdk_ffi_checksum_func_sdk_git_sha(); @@ -1852,6 +1883,8 @@ uniffi_matrix_sdk_ffi_checksum_method_client_homeserver_login_details(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_ignore_user(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_ignored_users(); uint16_t +uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported(); +uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_supported(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_is_room_alias_available(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_join_room_by_id(); @@ -1869,8 +1902,7 @@ uniffi_matrix_sdk_ffi_checksum_method_client_observe_account_data_event(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_observe_room_account_data_event(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_remove_avatar(); -uint16_t -uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities(); +uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_resolve_room_alias(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_restore_session(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_client_restore_session_with(); @@ -1923,6 +1955,8 @@ uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_build_with_qr_code(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_cross_process_store_locks_holder_name(); uint16_t +uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings(); +uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_automatic_token_refresh(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_built_in_root_certificates(); @@ -1936,8 +1970,6 @@ uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_homeserver_url(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_proxy(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_request_config(); uint16_t -uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_recipient_strategy(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_server_name(); uint16_t @@ -1957,6 +1989,7 @@ uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_sliding_sync_version_builder(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_system_is_memory_constrained(); +uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_username(); uint16_t @@ -2072,16 +2105,6 @@ uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_alternative_aliases(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_apply_power_level_changes(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_avatar_url(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_ban_user(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message(); -uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state(); -uint16_t -uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_room_clear_event_cache_storage(); @@ -2211,6 +2234,43 @@ uint16_t uniffi_matrix_sdk_ffi_checksum_method_roommembersiterator_len(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_roommembersiterator_next_chunk(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_roommessageeventcontentwithoutrelation_with_mentions(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification(); +uint16_t uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite(); +uint16_t uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels(); +uint16_t uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_roompreview_info(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_roompreview_inviter(); @@ -2260,9 +2320,12 @@ uint16_t uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_cross_process_lock(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_offline_mode(); +uint16_t +uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_taskhandle_is_finished(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_threadsummary_latest_event(); +uint16_t uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener(); uint16_t uniffi_matrix_sdk_ffi_checksum_method_timeline_create_message_content(); @@ -13770,7 +13833,7 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( rt, jsi::PropNameID::forAscii( rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_client_clear_caches"), - 1, + 2, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this @@ -14107,6 +14170,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_method_client_ignored_users( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_" + "supported"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "client_is_livekit_rtc_supported"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_fn_method_client_is_report_room_api_" "supported"] = jsi::Function::createFromHostFunction( rt, @@ -14262,18 +14337,19 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_method_client_remove_avatar( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_" - "capabilities"] = jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" - "client_reset_server_capabilities"), - 1, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities( - rt, thisVal, args, count); - }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, + "ubrn_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_fn_method_client_resolve_room_alias"] = jsi::Function::createFromHostFunction( rt, @@ -14768,6 +14844,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_cross_process_store_locks_holder_name( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_" + "settings"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "clientbuilder_decryption_settings"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_disable_automatic_" "token_refresh"] = jsi::Function::createFromHostFunction( rt, @@ -14867,19 +14955,6 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_request_config( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_" - "trust_requirement"] = jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_" - "decryption_trust_requirement"), - 2, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement( - rt, thisVal, args, count); - }); props["ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_key_recipient_" "strategy"] = jsi::Function::createFromHostFunction( rt, @@ -15017,6 +15092,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_system_is_memory_constrained( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "clientbuilder_threads_enabled"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_user_agent"] = jsi::Function::createFromHostFunction( rt, @@ -16263,115 +16350,6 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( return this->cpp_uniffi_matrix_sdk_ffi_fn_method_room_ban_user( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban"), - 2, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite"), - 2, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick"), - 2, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, - "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin"), - 2, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" - "room_can_user_redact_other"), - 2, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, - "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own"), - 2, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" - "room_can_user_send_message"), - 3, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, - "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state"), - 3, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_" - "notification"] = jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_" - "can_user_trigger_room_notification"), - 2, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - rt, thisVal, args, count); - }); props["ubrn_uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias"] = jsi::Function::createFromHostFunction( rt, @@ -16390,7 +16368,7 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( jsi::PropNameID::forAscii( rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft"), - 1, + 2, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this @@ -16742,7 +16720,7 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( jsi::PropNameID::forAscii( rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft"), - 1, + 2, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this @@ -17024,7 +17002,7 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( jsi::PropNameID::forAscii( rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft"), - 2, + 3, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this @@ -17817,6 +17795,273 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_method_roommessageeventcontentwithoutrelation_with_mentions( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, "ubrn_uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this->cpp_uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_free_roompowerlevels"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, "ubrn_uniffi_matrix_sdk_ffi_fn_free_roompowerlevels"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this->cpp_uniffi_matrix_sdk_ffi_fn_free_roompowerlevels( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_" + "ban"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_own_user_ban"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_" + "invite"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_own_user_invite"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_" + "kick"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_own_user_kick"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_" + "unpin"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_own_user_pin_unpin"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_" + "redact_other"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_own_user_redact_other"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_" + "redact_own"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_own_user_redact_own"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_" + "send_message"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_own_user_send_message"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_" + "send_state"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_own_user_send_state"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_" + "trigger_room_notification"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_" + "user_trigger_room_notification"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_user_ban"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_" + "invite"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_user_invite"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_user_kick"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_" + "unpin"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_user_pin_unpin"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_" + "other"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_user_redact_other"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_" + "own"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_user_redact_own"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_" + "message"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_user_send_message"), + 3, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_" + "state"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_can_user_send_state"), + 3, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_" + "room_notification"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_" + "trigger_room_notification"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_" + "levels"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "roompowerlevels_user_power_levels"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, + "ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_fn_clone_roompreview"] = jsi::Function::createFromHostFunction( rt, @@ -18478,6 +18723,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_offline_mode( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_" + "pos"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_" + "syncservicebuilder_with_share_pos"), + 2, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_fn_clone_taskhandle"] = jsi::Function::createFromHostFunction( rt, @@ -18558,6 +18815,19 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_method_threadsummary_latest_event( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, + "ubrn_uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_fn_clone_timeline"] = jsi::Function::createFromHostFunction( rt, @@ -18824,7 +19094,7 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( jsi::PropNameID::forAscii( rt, "ubrn_uniffi_matrix_sdk_ffi_fn_method_timeline_send_location"), - 6, + 7, [this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value { return this @@ -19908,18 +20178,6 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( return this->cpp_uniffi_matrix_sdk_ffi_fn_func_create_caption_edit( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, "ubrn_uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging"), - 1, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging( - rt, thisVal, args, count); - }); props["ubrn_uniffi_matrix_sdk_ffi_fn_func_gen_transaction_id"] = jsi::Function::createFromHostFunction( rt, @@ -19989,18 +20247,6 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( return this->cpp_uniffi_matrix_sdk_ffi_fn_func_log_event( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_fn_func_make_element_well_known"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, "ubrn_uniffi_matrix_sdk_ffi_fn_func_make_element_well_known"), - 1, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - rt, thisVal, args, count); - }); props["ubrn_uniffi_matrix_sdk_ffi_fn_func_make_widget_driver"] = jsi::Function::createFromHostFunction( rt, @@ -20124,6 +20370,19 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_fn_func_parse_matrix_entity_from( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, + "ubrn_uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_fn_func_room_alias_name_from_room_display_" "name"] = jsi::Function::createFromHostFunction( rt, @@ -20769,19 +21028,6 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, - "ubrn_uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging( - rt, thisVal, args, count); - }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id"] = jsi::Function::createFromHostFunction( rt, @@ -20854,18 +21100,6 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( return this->cpp_uniffi_matrix_sdk_ffi_checksum_func_log_event( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" - "func_make_element_well_known"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known( - rt, thisVal, args, count); - }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver"] = jsi::Function::createFromHostFunction( rt, @@ -20988,6 +21222,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "func_reload_tracing_file_writer"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_" "display_name"] = jsi::Function::createFromHostFunction( rt, @@ -21497,6 +21743,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_client_ignored_users( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_" + "supported"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_client_is_livekit_rtc_supported"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_" "supported"] = jsi::Function::createFromHostFunction( rt, @@ -21653,18 +21911,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_client_remove_avatar( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_" - "capabilities"] = jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" - "method_client_reset_server_capabilities"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities( - rt, thisVal, args, count); - }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_client_reset_server_info"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_resolve_room_" "alias"] = jsi::Function::createFromHostFunction( rt, @@ -22136,6 +22394,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_cross_process_store_locks_holder_name( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_" + "settings"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_clientbuilder_decryption_settings"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_" "automatic_token_refresh"] = jsi::Function::createFromHostFunction( rt, @@ -22238,19 +22508,6 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_request_config( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_" - "decryption_trust_requirement"] = jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_" - "decryption_trust_requirement"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement( - rt, thisVal, args, count); - }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_" "recipient_strategy"] = jsi::Function::createFromHostFunction( rt, @@ -22390,6 +22647,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_system_is_memory_constrained( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_" + "enabled"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_clientbuilder_threads_enabled"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent"] = jsi::Function::createFromHostFunction( rt, @@ -23334,117 +23603,6 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_ban_user( rt, thisVal, args, count); }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, - "ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" - "method_room_can_user_invite"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii( - rt, - "ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" - "method_room_can_user_pin_unpin"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_" - "other"] = jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" - "method_room_can_user_redact_other"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" - "method_room_can_user_redact_own"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_" - "message"] = jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" - "method_room_can_user_send_message"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state"] = - jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" - "method_room_can_user_send_state"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state( - rt, thisVal, args, count); - }); - props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_" - "notification"] = jsi::Function::createFromHostFunction( - rt, - jsi::PropNameID::forAscii(rt, - "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" - "room_can_user_trigger_room_notification"), - 0, - [this](jsi::Runtime &rt, const jsi::Value &thisVal, - const jsi::Value *args, size_t count) -> jsi::Value { - return this - ->cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification( - rt, thisVal, args, count); - }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias"] = jsi::Function::createFromHostFunction( rt, @@ -24756,6 +24914,259 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roommessageeventcontentwithoutrelation_with_mentions( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_ban"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_roompowerlevels_can_own_user_ban"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_invite"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_own_user_invite"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_kick"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_roompowerlevels_can_own_user_kick"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_pin_unpin"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_own_user_pin_unpin"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_redact_other"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_own_user_redact_other"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_redact_own"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_own_user_redact_own"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_send_message"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_own_user_send_message"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_send_state"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_own_user_send_state"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_" + "user_trigger_room_notification"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_" + "own_user_trigger_room_notification"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "ban"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_roompowerlevels_can_user_ban"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "invite"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_roompowerlevels_can_user_invite"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "kick"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_roompowerlevels_can_user_kick"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "pin_unpin"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_user_pin_unpin"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "redact_other"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_user_redact_other"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "redact_own"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_user_redact_own"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "send_message"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_user_send_message"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "send_state"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, + "ubrn_uniffi_matrix_sdk_ffi_checksum_method_" + "roompowerlevels_can_user_send_state"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_" + "trigger_room_notification"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii( + rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_" + "user_trigger_room_notification"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_" + "levels"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_roompowerlevels_user_power_levels"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels( + rt, thisVal, args, count); + }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_roompowerlevels_values"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget"] = jsi::Function::createFromHostFunction( rt, @@ -25193,6 +25604,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_offline_mode( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_" + "share_pos"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_syncservicebuilder_with_share_pos"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel"] = jsi::Function::createFromHostFunction( rt, @@ -25230,6 +25653,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_latest_event( rt, thisVal, args, count); }); + props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_" + "replies"] = jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_matrix_sdk_ffi_checksum_" + "method_threadsummary_num_replies"), + 0, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies( + rt, thisVal, args, count); + }); props["ubrn_uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener"] = jsi::Function::createFromHostFunction( rt, @@ -26819,6 +27254,18 @@ NativeMatrixSdkFfi::NativeMatrixSdkFfi( ->cpp_uniffi_internal_fn_method_roommessageeventcontentwithoutrelation_ffi__bless_pointer( rt, thisVal, args, count); }); + props["ubrn_uniffi_internal_fn_method_roompowerlevels_ffi__bless_pointer"] = + jsi::Function::createFromHostFunction( + rt, + jsi::PropNameID::forAscii(rt, "ubrn_uniffi_internal_fn_method_" + "roompowerlevels_ffi__bless_pointer"), + 1, + [this](jsi::Runtime &rt, const jsi::Value &thisVal, + const jsi::Value *args, size_t count) -> jsi::Value { + return this + ->cpp_uniffi_internal_fn_method_roompowerlevels_ffi__bless_pointer( + rt, thisVal, args, count); + }); props["ubrn_uniffi_internal_fn_method_roompreview_ffi__bless_pointer"] = jsi::Function::createFromHostFunction( rt, @@ -27707,6 +28154,22 @@ jsi::Value NativeMatrixSdkFfi:: auto obj = jsi::Object::createFromHostObject(rt, ptrObj); return jsi::Value(rt, obj); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_internal_fn_method_roompowerlevels_ffi__bless_pointer( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto pointer = + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]); + auto static destructor = [](uint64_t p) { + auto pointer = reinterpret_cast(static_cast(p)); + RustCallStatus status = {0}; + uniffi_matrix_sdk_ffi_fn_free_roompowerlevels(pointer, &status); + }; + auto ptrObj = + std::make_shared(pointer, destructor); + auto obj = jsi::Object::createFromHostObject(rt, ptrObj); + return jsi::Value(rt, obj); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_internal_fn_method_roompreview_ffi__bless_pointer( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -28166,7 +28629,9 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_client_clear_caches( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { auto value = uniffi_matrix_sdk_ffi_fn_method_client_clear_caches( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0])); + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1])); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); @@ -28521,6 +28986,16 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_client_ignored_users( return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0])); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, + value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_fn_method_client_is_report_room_api_supported( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -28703,10 +29178,10 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_client_remove_avatar( value); } jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities( + cpp_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities( + auto value = uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info( uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0])); return uniffi_jsi::Bridging::toJs(rt, callInvoker, @@ -29284,6 +29759,23 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_disable_automatic_token_refresh( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -29408,23 +29900,6 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - RustCallStatus status = - uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); - auto value = - uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1]), - &status); - uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( - rt, callInvoker, status, args[count - 1]); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_key_recipient_strategy( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -29607,6 +30082,20 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[1]), &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_user_agent( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -30953,119 +31442,6 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_room_ban_user( value); } jsi::Value -NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value -NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value -NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value -NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[2])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[2])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = - uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1])); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { @@ -31084,7 +31460,9 @@ jsi::Value NativeMatrixSdkFfi:: jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { auto value = uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0])); + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1])); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); @@ -31332,7 +31710,8 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_room_is_public( uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( rt, callInvoker, status, args[count - 1]); - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); + return uniffi::matrix_sdk_ffi::Bridging::toJs(rt, callInvoker, + value); } jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_fn_method_room_is_send_queue_enabled( @@ -31430,7 +31809,9 @@ jsi::Value NativeMatrixSdkFfi:: jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { auto value = uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0])); + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1])); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); @@ -31717,7 +32098,9 @@ jsi::Value NativeMatrixSdkFfi:: auto value = uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft( uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1])); + args[1]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[2])); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); @@ -32463,17 +32846,14 @@ jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { - RustCallStatus status = - uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); - uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[1]), - &status); - uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( - rt, callInvoker, status, args[count - 1]); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1])); - return jsi::Value::undefined(); + return uniffi_jsi::Bridging::toJs(rt, callInvoker, + value); } jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_fn_method_roomlistservice_sync_indicator( @@ -32592,6 +32972,353 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value +NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value +NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_free_roompowerlevels( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + uniffi_matrix_sdk_ffi_fn_free_roompowerlevels( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return jsi::Value::undefined(); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[2]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[2]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi::matrix_sdk_ffi::Bridging::toJs(rt, callInvoker, + value); +} +jsi::Value +NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi::matrix_sdk_ffi::Bridging::toJs(rt, callInvoker, + value); +} jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_clone_roompreview( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { @@ -33288,6 +34015,22 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = + uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[1]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_clone_taskhandle( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { @@ -33376,6 +34119,19 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi::matrix_sdk_ffi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + auto value = uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies( + uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_clone_timeline( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { @@ -33702,7 +34458,9 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_method_timeline_send_location( uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, args[4]), uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[5])); + args[5]), + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[6])); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); @@ -34988,19 +35746,6 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_func_create_caption_edit( value); } jsi::Value -NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - RustCallStatus status = - uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); - uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging( - uniffi_jsi::Bridging::fromJs(rt, callInvoker, args[0]), &status); - uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( - rt, callInvoker, status, args[count - 1]); - - return jsi::Value::undefined(); -} -jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_func_gen_transaction_id( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { @@ -35098,22 +35843,6 @@ jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_func_log_event( return jsi::Value::undefined(); } jsi::Value -NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - RustCallStatus status = - uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); - auto value = uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, - args[0]), - &status); - uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( - rt, callInvoker, status, args[count - 1]); - - return uniffi::matrix_sdk_ffi::Bridging::toJs(rt, callInvoker, - value); -} -jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_func_make_widget_driver( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { @@ -35275,6 +36004,21 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_fn_func_parse_matrix_entity_from( return uniffi::matrix_sdk_ffi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + RustCallStatus status = + uniffi::matrix_sdk_ffi::Bridging::rustSuccess(rt); + uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + uniffi::matrix_sdk_ffi::Bridging::fromJs(rt, callInvoker, + args[0]), + &status); + uniffi::matrix_sdk_ffi::Bridging::copyIntoJs( + rt, callInvoker, status, args[count - 1]); + + return jsi::Value::undefined(); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_fn_func_room_alias_name_from_room_display_name( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -35955,14 +36699,6 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit( return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -36012,14 +36748,6 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_checksum_func_log_event( return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -36106,6 +36834,14 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_display_name( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -36454,6 +37190,15 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_supported( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -36566,11 +37311,10 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities( + cpp_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) { - auto value = - uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities(); + auto value = uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info(); return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } @@ -36897,6 +37641,15 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_automatic_token_refresh( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -36968,15 +37721,6 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = - uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_recipient_strategy( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -37076,6 +37820,15 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -37736,81 +38489,6 @@ NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_checksum_method_room_ban_user( return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } -jsi::Value -NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = - uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = - uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} -jsi::Value NativeMatrixSdkFfi:: - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count) { - auto value = - uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification(); - - return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); -} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -38712,6 +39390,185 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -39004,6 +39861,15 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi::cpp_uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -39029,6 +39895,15 @@ jsi::Value NativeMatrixSdkFfi:: return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); } +jsi::Value NativeMatrixSdkFfi:: + cpp_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count) { + auto value = + uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies(); + + return uniffi_jsi::Bridging::toJs(rt, callInvoker, value); +} jsi::Value NativeMatrixSdkFfi:: cpp_uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, diff --git a/cpp/generated/matrix_sdk_ffi.hpp b/cpp/generated/matrix_sdk_ffi.hpp index 5c8f2f8..31895ed 100644 --- a/cpp/generated/matrix_sdk_ffi.hpp +++ b/cpp/generated/matrix_sdk_ffi.hpp @@ -158,6 +158,10 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_client_is_report_room_api_supported( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -201,8 +205,7 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_client_remove_avatar( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); - jsi::Value - cpp_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities( + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_client_resolve_room_alias( @@ -342,6 +345,10 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_disable_automatic_token_refresh( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -371,10 +378,6 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); jsi::Value - cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_key_recipient_strategy( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -416,6 +419,9 @@ class NativeMatrixSdkFfi : public jsi::HostObject { cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_system_is_memory_constrained( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_user_agent( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -764,34 +770,6 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_ban_user( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value - cpp_uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -1182,6 +1160,89 @@ class NativeMatrixSdkFfi : public jsi::HostObject { cpp_uniffi_matrix_sdk_ffi_fn_method_roommessageeventcontentwithoutrelation_with_mentions( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_free_roompowerlevels( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_clone_roompreview( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -1367,6 +1428,10 @@ class NativeMatrixSdkFfi : public jsi::HostObject { cpp_uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_offline_mode( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_clone_taskhandle( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -1388,6 +1453,9 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_threadsummary_latest_event( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_clone_timeline( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -1761,9 +1829,6 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_create_caption_edit( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_gen_transaction_id( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -1783,9 +1848,6 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_log_event( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_make_widget_driver( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -1819,6 +1881,9 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_parse_matrix_entity_from( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_fn_func_room_alias_name_from_room_display_name( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -1995,9 +2060,6 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -2017,9 +2079,6 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_log_event( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -2056,6 +2115,9 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_display_name( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, @@ -2200,6 +2262,10 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_supported( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -2245,8 +2311,7 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_client_remove_avatar( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); - jsi::Value - cpp_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities( + jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); jsi::Value @@ -2383,6 +2448,10 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_automatic_token_refresh( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -2414,10 +2483,6 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); jsi::Value - cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_recipient_strategy( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -2461,6 +2526,10 @@ class NativeMatrixSdkFfi : public jsi::HostObject { cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_system_is_memory_constrained( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -2746,36 +2815,6 @@ class NativeMatrixSdkFfi : public jsi::HostObject { jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_room_ban_user( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); - jsi::Value - cpp_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification( - jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, - size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -3142,6 +3181,85 @@ class NativeMatrixSdkFfi : public jsi::HostObject { cpp_uniffi_matrix_sdk_ffi_checksum_method_roommessageeventcontentwithoutrelation_with_mentions( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); + jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -3264,6 +3382,10 @@ class NativeMatrixSdkFfi : public jsi::HostObject { cpp_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_offline_mode( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -3274,6 +3396,10 @@ class NativeMatrixSdkFfi : public jsi::HostObject { cpp_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_latest_event( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value + cpp_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); @@ -3722,6 +3848,9 @@ class NativeMatrixSdkFfi : public jsi::HostObject { cpp_uniffi_internal_fn_method_roommessageeventcontentwithoutrelation_ffi__bless_pointer( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); + jsi::Value cpp_uniffi_internal_fn_method_roompowerlevels_ffi__bless_pointer( + jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, + size_t count); jsi::Value cpp_uniffi_internal_fn_method_roompreview_ffi__bless_pointer( jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count); diff --git a/matrix-rust-sdk.patch b/matrix-rust-sdk.patch index 2c70dfe..234eea6 100644 --- a/matrix-rust-sdk.patch +++ b/matrix-rust-sdk.patch @@ -1,8 +1,152 @@ diff --git a/Cargo.lock b/Cargo.lock -index 38bf49c3f..befbece11 100644 +index 0621c6ecd..f97adc83a 100644 --- a/Cargo.lock +++ b/Cargo.lock -@@ -212,43 +212,44 @@ checksum = "9dbc3a507a82b17ba0d98f6ce8fd6954ea0c8152e98009d36a40d8dcc8ce078a" +@@ -16,18 +16,18 @@ dependencies = [ + + [[package]] + name = "addr2line" +-version = "0.21.0" ++version = "0.24.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" ++checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" + dependencies = [ + "gimli", + ] + + [[package]] +-name = "adler" +-version = "1.0.2" ++name = "adler2" ++version = "2.0.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" ++checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + + [[package]] + name = "aead" +@@ -52,12 +52,12 @@ dependencies = [ + + [[package]] + name = "ahash" +-version = "0.8.11" ++version = "0.8.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" ++checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" + dependencies = [ + "cfg-if", +- "getrandom 0.2.15", ++ "getrandom 0.3.3", + "once_cell", + "version_check", + "zerocopy", +@@ -74,18 +74,18 @@ dependencies = [ + + [[package]] + name = "aligned-vec" +-version = "0.6.1" ++version = "0.6.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7e0966165eaf052580bd70eb1b32cb3d6245774c0104d1b2793e9650bf83b52a" ++checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b" + dependencies = [ + "equator", + ] + + [[package]] + name = "allocator-api2" +-version = "0.2.18" ++version = "0.2.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" ++checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + + [[package]] + name = "android-tzdata" +@@ -110,9 +110,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + + [[package]] + name = "anstream" +-version = "0.6.14" ++version = "0.6.20" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" ++checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" + dependencies = [ + "anstyle", + "anstyle-parse", +@@ -125,43 +125,44 @@ dependencies = [ + + [[package]] + name = "anstyle" +-version = "1.0.7" ++version = "1.0.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" ++checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" + + [[package]] + name = "anstyle-parse" +-version = "0.2.4" ++version = "0.2.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" ++checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" + dependencies = [ + "utf8parse", + ] + + [[package]] + name = "anstyle-query" +-version = "1.1.0" ++version = "1.1.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" ++checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" + dependencies = [ +- "windows-sys 0.52.0", ++ "windows-sys 0.60.2", + ] + + [[package]] + name = "anstyle-wincon" +-version = "3.0.3" ++version = "3.0.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" ++checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" + dependencies = [ + "anstyle", +- "windows-sys 0.52.0", ++ "once_cell_polyfill", ++ "windows-sys 0.60.2", + ] + + [[package]] + name = "anyhow" +-version = "1.0.95" ++version = "1.0.99" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" ++checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" + + [[package]] + name = "anymap2" +@@ -191,9 +192,9 @@ checksum = "eae2ed21cd55021f05707a807a5fc85695dafb98832921f6cfa06db67ca5b869" + + [[package]] + name = "arrayref" +-version = "0.3.8" ++version = "0.3.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" ++checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + + [[package]] + name = "arrayvec" +@@ -212,43 +213,44 @@ checksum = "9dbc3a507a82b17ba0d98f6ce8fd6954ea0c8152e98009d36a40d8dcc8ce078a" [[package]] name = "askama" @@ -35,7 +179,7 @@ index 38bf49c3f..befbece11 100644 + "memchr", "proc-macro2", "quote", -+ "rustc-hash 2.0.0", ++ "rustc-hash", "serde", + "serde_derive", "syn", @@ -59,11 +203,181 @@ index 38bf49c3f..befbece11 100644 + "memchr", + "serde", + "serde_derive", -+ "winnow 0.7.12", ++ "winnow", + ] + + [[package]] +@@ -281,9 +283,9 @@ checksum = "5f093eed78becd229346bf859eec0aa4dd7ddde0757287b2b4107a1f09c80002" + + [[package]] + name = "async-channel" +-version = "2.3.1" ++version = "2.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" ++checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" + dependencies = [ + "concurrent-queue", + "event-listener-strategy", +@@ -305,13 +307,13 @@ dependencies = [ + + [[package]] + name = "async-compression" +-version = "0.4.12" ++version = "0.4.30" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" ++checksum = "977eb15ea9efd848bb8a4a1a2500347ed7f0bf794edf0dc3ddcf439f43d36b23" + dependencies = [ +- "flate2", ++ "compression-codecs", ++ "compression-core", + "futures-core", +- "memchr", + "pin-project-lite", + "tokio", + ] +@@ -328,9 +330,9 @@ dependencies = [ + + [[package]] + name = "async-stream" +-version = "0.3.5" ++version = "0.3.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" ++checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" + dependencies = [ + "async-stream-impl", + "futures-core", +@@ -339,9 +341,9 @@ dependencies = [ + + [[package]] + name = "async-stream-impl" +-version = "0.3.5" ++version = "0.3.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" ++checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" + dependencies = [ + "proc-macro2", + "quote", +@@ -350,9 +352,9 @@ dependencies = [ + + [[package]] + name = "async-trait" +-version = "0.1.85" ++version = "0.1.89" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" ++checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" + dependencies = [ + "proc-macro2", + "quote", +@@ -361,9 +363,12 @@ dependencies = [ + + [[package]] + name = "async_cell" +-version = "0.2.2" ++version = "0.2.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "834eee9ce518130a3b4d5af09ecc43e9d6b57ee76613f227a1ddd6b77c7a62bc" ++checksum = "447ab28afbb345f5408b120702a44e5529ebf90b1796ec76e9528df8e288e6c2" ++dependencies = [ ++ "loom", ++] + + [[package]] + name = "atomic-waker" +@@ -373,15 +378,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + + [[package]] + name = "autocfg" +-version = "1.3.0" ++version = "1.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" ++checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + + [[package]] + name = "axum" +-version = "0.8.1" ++version = "0.8.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6d6fd624c75e18b3b4c6b9caf42b1afe24437daaee904069137d8bab077be8b8" ++checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" + dependencies = [ + "axum-core", + "bytes", +@@ -413,12 +418,12 @@ dependencies = [ + + [[package]] + name = "axum-core" +-version = "0.5.0" ++version = "0.5.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "df1362f362fd16024ae199c1970ce98f9661bf5ef94b9808fee734bc3698b733" ++checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" + dependencies = [ + "bytes", +- "futures-util", ++ "futures-core", + "http", + "http-body", + "http-body-util", +@@ -433,9 +438,9 @@ dependencies = [ + + [[package]] + name = "backon" +-version = "1.5.0" ++version = "1.5.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fd0b50b1b78dbadd44ab18b3c794e496f3a139abb9fbc27d9c94c4eebbb96496" ++checksum = "592277618714fbcecda9a02ba7a8781f319d26532a88553bbacc77ba5d2b3a8d" + dependencies = [ + "fastrand", + "gloo-timers", +@@ -444,17 +449,17 @@ dependencies = [ + + [[package]] + name = "backtrace" +-version = "0.3.71" ++version = "0.3.75" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" ++checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" + dependencies = [ + "addr2line", +- "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", ++ "windows-targets 0.52.6", ] [[package]] -@@ -498,15 +499,6 @@ dependencies = [ +@@ -465,15 +470,15 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + + [[package]] + name = "base64ct" +-version = "1.6.0" ++version = "1.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" ++checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" + + [[package]] + name = "basic-toml" +-version = "0.1.9" ++version = "0.1.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8" ++checksum = "ba62675e8242a4c4e806d12f11d136e626e6c8361d6b829310732241652a178a" + dependencies = [ + "serde", + ] +@@ -498,15 +503,6 @@ dependencies = [ "wiremock", ] @@ -79,7 +393,87 @@ index 38bf49c3f..befbece11 100644 [[package]] name = "bitflags" version = "1.3.2" -@@ -635,16 +627,16 @@ dependencies = [ +@@ -515,9 +511,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + + [[package]] + name = "bitflags" +-version = "2.8.0" ++version = "2.9.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" ++checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" + dependencies = [ + "serde", + ] +@@ -570,26 +566,26 @@ dependencies = [ + + [[package]] + name = "bstr" +-version = "1.9.1" ++version = "1.12.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" ++checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" + dependencies = [ + "memchr", +- "regex-automata 0.4.8", ++ "regex-automata 0.4.10", + "serde", + ] + + [[package]] + name = "bumpalo" +-version = "3.16.0" ++version = "3.19.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" ++checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" + + [[package]] + name = "bytemuck" +-version = "1.16.3" ++version = "1.23.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" ++checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" + + [[package]] + name = "byteorder" +@@ -605,9 +601,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + + [[package]] + name = "bytes" +-version = "1.9.0" ++version = "1.10.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" ++checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + + [[package]] + name = "bytesize" +@@ -617,34 +613,34 @@ checksum = "a3c8f83209414aacf0eeae3cf730b18d6981697fba62f200fcfb92b9f082acba" + + [[package]] + name = "camino" +-version = "1.1.7" ++version = "1.1.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" ++checksum = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5" + dependencies = [ + "serde", + ] + + [[package]] + name = "cargo-platform" +-version = "0.1.8" ++version = "0.1.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" ++checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" + dependencies = [ + "serde", + ] [[package]] name = "cargo_metadata" @@ -95,235 +489,4461 @@ index 38bf49c3f..befbece11 100644 "serde", "serde_json", - "thiserror 1.0.63", -+ "thiserror 2.0.11", ++ "thiserror 2.0.16", ] [[package]] -@@ -3369,16 +3361,6 @@ version = "0.1.53" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "515a63dc9666c865e848b043ab52fe9a5c713ae89cde4b5fbaae67cfd614b93a" +@@ -661,9 +657,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" --[[package]] --name = "mime_guess" --version = "2.0.5" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" --dependencies = [ -- "mime", -- "unicase", --] -- [[package]] - name = "minicov" - version = "0.3.7" -@@ -5576,7 +5558,7 @@ dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", -- "winnow", -+ "winnow 0.6.20", + name = "castaway" +-version = "0.2.3" ++version = "0.2.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" ++checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" + dependencies = [ + "rustversion", ] +@@ -679,18 +675,25 @@ dependencies = [ [[package]] -@@ -5824,17 +5806,19 @@ checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" - - [[package]] - name = "uniffi" --version = "0.28.0" -+version = "0.29.4" + name = "cc" +-version = "1.2.22" ++version = "1.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f31bff6daf87277a9014bcdefbc2842b0553392919d1096843c5aad899ca4588" -+checksum = "c6d968cb62160c11f2573e6be724ef8b1b18a277aededd17033f8a912d73e2b4" +-checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1" ++checksum = "590f9024a68a8c40351881787f1934dc11afd69090f5edb6831464694d836ea3" dependencies = [ - "anyhow", - "camino", -+ "cargo_metadata", - "clap", - "uniffi_bindgen", - "uniffi_build", - "uniffi_core", - "uniffi_macros", -+ "uniffi_pipeline", ++ "find-msvc-tools", + "shlex", ] [[package]] -@@ -5846,9 +5830,9 @@ dependencies = [ + name = "cfg-if" +-version = "1.0.0" ++version = "1.0.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" ++checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" ++ ++[[package]] ++name = "cfg_aliases" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] - name = "uniffi_bindgen" --version = "0.28.0" -+version = "0.29.4" + name = "chacha20" +@@ -718,9 +721,9 @@ dependencies = [ + + [[package]] + name = "chrono" +-version = "0.4.39" ++version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "96061d7e01b185aa405f7c9b134741ab3e50cc6796a47d6fd8ab9a5364b5feed" -+checksum = "f6b39ef1acbe1467d5d210f274fae344cb6f8766339330cb4c9688752899bf6b" +-checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" ++checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ - "anyhow", - "askama", -@@ -5858,60 +5842,61 @@ dependencies = [ - "glob", - "goblin", - "heck", -+ "indexmap", - "once_cell", -- "paste", + "android-tzdata", + "iana-time-zone", +@@ -728,7 +731,7 @@ dependencies = [ + "num-traits", "serde", -+ "tempfile", - "textwrap", - "toml 0.5.11", -+ "uniffi_internal_macros", - "uniffi_meta", -- "uniffi_testing", -+ "uniffi_pipeline", - "uniffi_udl", + "wasm-bindgen", +- "windows-targets 0.52.6", ++ "windows-link", ] [[package]] - name = "uniffi_build" --version = "0.28.0" -+version = "0.29.4" +@@ -771,9 +774,9 @@ dependencies = [ + + [[package]] + name = "clap" +-version = "4.5.9" ++version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9d6b86f9b221046af0c533eafe09ece04e2f1ded04ccdc9bba0ec09aec1c52bd" -+checksum = "6683e6b665423cddeacd89a3f97312cf400b2fb245a26f197adaf65c45d505b2" +-checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" ++checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57" dependencies = [ - "anyhow", - "camino", - "uniffi_bindgen", - ] + "clap_builder", + "clap_derive", +@@ -781,9 +784,9 @@ dependencies = [ --[[package]] --name = "uniffi_checksum_derive" --version = "0.28.3" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "802d2051a700e3ec894c79f80d2705b69d85844dafbbe5d1a92776f8f48b563a" --dependencies = [ -- "quote", -- "syn", --] -- [[package]] - name = "uniffi_core" --version = "0.28.0" -+version = "0.29.4" + name = "clap_builder" +-version = "4.5.9" ++version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3210d57d6ab6065ab47a2898dacdb7c606fd6a4156196831fa3bf82e34ac58a6" -+checksum = "c2d990b553d6b9a7ee9c3ae71134674739913d52350b56152b0e613595bb5a6f" +-checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" ++checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41" dependencies = [ - "anyhow", - "async-compat", - "bytes", -- "camino", -- "log", - "once_cell", -- "paste", - "static_assertions", - ] + "anstream", + "anstyle", +@@ -793,9 +796,9 @@ dependencies = [ -+[[package]] + [[package]] + name = "clap_derive" +-version = "4.5.8" ++version = "4.5.45" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" ++checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" + dependencies = [ + "heck", + "proc-macro2", +@@ -805,15 +808,15 @@ dependencies = [ + + [[package]] + name = "clap_lex" +-version = "0.7.1" ++version = "0.7.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" ++checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" + + [[package]] + name = "color-eyre" +-version = "0.6.3" ++version = "0.6.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" ++checksum = "e5920befb47832a6d61ee3a3a846565cfa39b331331e68a3b1d1116630f2f26d" + dependencies = [ + "backtrace", + "color-spantrace", +@@ -826,9 +829,9 @@ dependencies = [ + + [[package]] + name = "color-spantrace" +-version = "0.2.1" ++version = "0.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" ++checksum = "b8b88ea9df13354b55bc7234ebcce36e6ef896aca2e42a15de9e10edce01b427" + dependencies = [ + "once_cell", + "owo-colors", +@@ -838,9 +841,9 @@ dependencies = [ + + [[package]] + name = "colorchoice" +-version = "1.0.1" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" ++checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" + + [[package]] + name = "compact_str" +@@ -856,6 +859,23 @@ dependencies = [ + "static_assertions", + ] + ++[[package]] ++name = "compression-codecs" ++version = "0.4.30" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "485abf41ac0c8047c07c87c72c8fb3eb5197f6e9d7ded615dfd1a00ae00a0f64" ++dependencies = [ ++ "compression-core", ++ "flate2", ++ "memchr", ++] ++ ++[[package]] ++name = "compression-core" ++version = "0.4.29" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e47641d3deaf41fb1538ac1f54735925e275eaf3bf4d55c81b137fba797e5cbb" ++ + [[package]] + name = "concurrent-queue" + version = "2.5.0" +@@ -867,14 +887,14 @@ dependencies = [ + + [[package]] + name = "console" +-version = "0.15.8" ++version = "0.15.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" ++checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" + dependencies = [ + "encode_unicode", +- "lazy_static", + "libc", +- "windows-sys 0.52.0", ++ "once_cell", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -916,33 +936,33 @@ dependencies = [ + + [[package]] + name = "core-foundation-sys" +-version = "0.8.6" ++version = "0.8.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" ++checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + + [[package]] + name = "cpp_demangle" +-version = "0.4.3" ++version = "0.4.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7e8227005286ec39567949b33df9896bcadfa6051bccca2488129f108ca23119" ++checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d" + dependencies = [ + "cfg-if", + ] + + [[package]] + name = "cpufeatures" +-version = "0.2.12" ++version = "0.2.17" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" ++checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" + dependencies = [ + "libc", + ] + + [[package]] + name = "crc32fast" +-version = "1.4.2" ++version = "1.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" ++checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" + dependencies = [ + "cfg-if", + ] +@@ -996,9 +1016,9 @@ dependencies = [ + + [[package]] + name = "crossbeam-deque" +-version = "0.8.5" ++version = "0.8.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" ++checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" + dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +@@ -1015,9 +1035,9 @@ dependencies = [ + + [[package]] + name = "crossbeam-utils" +-version = "0.8.20" ++version = "0.8.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" ++checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + + [[package]] + name = "crossterm" +@@ -1025,11 +1045,11 @@ version = "0.28.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "crossterm_winapi", + "mio", + "parking_lot", +- "rustix", ++ "rustix 0.38.44", + "signal-hook", + "signal-hook-mio", + "winapi", +@@ -1046,9 +1066,9 @@ dependencies = [ + + [[package]] + name = "crunchy" +-version = "0.2.2" ++version = "0.2.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" ++checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + + [[package]] + name = "crypto-common" +@@ -1110,9 +1130,9 @@ dependencies = [ + + [[package]] + name = "darling" +-version = "0.20.10" ++version = "0.20.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" ++checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" + dependencies = [ + "darling_core", + "darling_macro", +@@ -1120,9 +1140,9 @@ dependencies = [ + + [[package]] + name = "darling_core" +-version = "0.20.10" ++version = "0.20.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" ++checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" + dependencies = [ + "fnv", + "ident_case", +@@ -1134,9 +1154,9 @@ dependencies = [ + + [[package]] + name = "darling_macro" +-version = "0.20.10" ++version = "0.20.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" ++checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" + dependencies = [ + "darling_core", + "quote", +@@ -1151,21 +1171,9 @@ checksum = "0c03c416ed1a30fbb027ef484ba6ab6f80e1eada675e1a2b92fd673c045a1f1d" + + [[package]] + name = "deadpool" +-version = "0.10.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb84100978c1c7b37f09ed3ce3e5f843af02c2a2c431bae5b19230dad2c1b490" +-dependencies = [ +- "async-trait", +- "deadpool-runtime", +- "num_cpus", +- "tokio", +-] +- +-[[package]] +-name = "deadpool" +-version = "0.12.1" ++version = "0.12.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6541a3916932fe57768d4be0b1ffb5ec7cbf74ca8c903fdfd5c0fe8aa958f0ed" ++checksum = "5ed5957ff93768adf7a65ab167a17835c3d2c3c50d084fe305174c112f468e2f" + dependencies = [ + "deadpool-runtime", + "num_cpus", +@@ -1187,7 +1195,7 @@ version = "0.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "9e531d0beb6d12daa84df0482bf89e06c7ed059551ae1d7313dc7531d37778fb" + dependencies = [ +- "deadpool 0.12.1", ++ "deadpool", + "deadpool-sync", + "rusqlite", + ] +@@ -1213,9 +1221,9 @@ dependencies = [ + + [[package]] + name = "decancer" +-version = "3.3.0" ++version = "3.3.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d59c633be7ba6fcf3c153e11d647990e4e4bd463a4d5834ba0a45caa96da6baf" ++checksum = "a9244323129647178bf41ac861a2cdb9d9c81b9b09d3d0d1de9cd302b33b8a1d" + dependencies = [ + "lazy_static", + "regex", +@@ -1235,9 +1243,9 @@ dependencies = [ + + [[package]] + name = "der" +-version = "0.7.9" ++version = "0.7.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" ++checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" + dependencies = [ + "const-oid", + "zeroize", +@@ -1245,9 +1253,9 @@ dependencies = [ + + [[package]] + name = "deranged" +-version = "0.3.11" ++version = "0.5.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" ++checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" + dependencies = [ + "powerfmt", + ] +@@ -1318,7 +1326,7 @@ dependencies = [ + "libc", + "option-ext", + "redox_users", +- "windows-sys 0.59.0", ++ "windows-sys 0.60.2", + ] + + [[package]] +@@ -1345,9 +1353,9 @@ dependencies = [ + + [[package]] + name = "ed25519-dalek" +-version = "2.1.1" ++version = "2.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" ++checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" + dependencies = [ + "curve25519-dalek", + "ed25519", +@@ -1360,9 +1368,9 @@ dependencies = [ + + [[package]] + name = "either" +-version = "1.13.0" ++version = "1.15.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" ++checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + + [[package]] + name = "emojis" +@@ -1375,24 +1383,24 @@ dependencies = [ + + [[package]] + name = "encode_unicode" +-version = "0.3.6" ++version = "1.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" ++checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" + + [[package]] + name = "equator" +-version = "0.2.2" ++version = "0.4.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c35da53b5a021d2484a7cc49b2ac7f2d840f8236a286f84202369bd338d761ea" ++checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc" + dependencies = [ + "equator-macro", + ] + + [[package]] + name = "equator-macro" +-version = "0.2.1" ++version = "0.4.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3bf679796c0322556351f287a51b49e48f7c4986e727b5dd78c972d30e2e16cc" ++checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" + dependencies = [ + "proc-macro2", + "quote", +@@ -1401,25 +1409,25 @@ dependencies = [ + + [[package]] + name = "equivalent" +-version = "1.0.1" ++version = "1.0.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" ++checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + + [[package]] + name = "errno" +-version = "0.3.9" ++version = "0.3.13" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" ++checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" + dependencies = [ + "libc", +- "windows-sys 0.52.0", ++ "windows-sys 0.60.2", + ] + + [[package]] + name = "event-listener" +-version = "5.4.0" ++version = "5.4.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" ++checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" + dependencies = [ + "concurrent-queue", + "parking", +@@ -1428,9 +1436,9 @@ dependencies = [ + + [[package]] + name = "event-listener-strategy" +-version = "0.5.2" ++version = "0.5.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" ++checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" + dependencies = [ + "event-listener", + "pin-project-lite", +@@ -1557,7 +1565,7 @@ dependencies = [ + "futures-util", + "matrix-sdk", + "matrix-sdk-ui", +- "rand", ++ "rand 0.8.5", + "serde", + "serde_json", + "tokio", +@@ -1572,7 +1580,7 @@ dependencies = [ + "anyhow", + "dirs", + "matrix-sdk", +- "rand", ++ "rand 0.8.5", + "serde", + "serde_json", + "tokio", +@@ -1705,9 +1713,9 @@ dependencies = [ + + [[package]] + name = "fastrand" +-version = "2.2.0" ++version = "2.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" ++checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + + [[package]] + name = "fiat-crypto" +@@ -1715,6 +1723,12 @@ version = "0.2.9" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + ++[[package]] ++name = "find-msvc-tools" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e178e4fba8a2726903f6ba98a6d221e76f9c12c650d5dc0e6afdc50677b49650" ++ + [[package]] + name = "findshlibs" + version = "0.10.2" +@@ -1729,9 +1743,9 @@ dependencies = [ + + [[package]] + name = "flate2" +-version = "1.0.30" ++version = "1.1.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" ++checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" + dependencies = [ + "crc32fast", + "miniz_oxide", +@@ -1766,9 +1780,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + + [[package]] + name = "form_urlencoded" +-version = "1.2.1" ++version = "1.2.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" ++checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" + dependencies = [ + "percent-encoding", + ] +@@ -1800,9 +1814,9 @@ dependencies = [ + + [[package]] + name = "futures" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" ++checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" + dependencies = [ + "futures-channel", + "futures-core", +@@ -1896,6 +1910,20 @@ dependencies = [ + "thread_local", + ] + ++[[package]] ++name = "generator" ++version = "0.8.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" ++dependencies = [ ++ "cc", ++ "cfg-if", ++ "libc", ++ "log", ++ "rustversion", ++ "windows", ++] ++ + [[package]] + name = "generic-array" + version = "0.14.7" +@@ -1908,40 +1936,42 @@ dependencies = [ + + [[package]] + name = "getrandom" +-version = "0.2.15" ++version = "0.2.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" ++checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" + dependencies = [ + "cfg-if", + "js-sys", + "libc", +- "wasi 0.11.0+wasi-snapshot-preview1", ++ "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", + ] + + [[package]] + name = "getrandom" +-version = "0.3.1" ++version = "0.3.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" ++checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" + dependencies = [ + "cfg-if", ++ "js-sys", + "libc", +- "wasi 0.13.3+wasi-0.2.2", +- "windows-targets 0.52.6", ++ "r-efi", ++ "wasi 0.14.3+wasi-0.2.4", ++ "wasm-bindgen", + ] + + [[package]] + name = "gimli" +-version = "0.28.1" ++version = "0.31.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" ++checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + + [[package]] + name = "glob" +-version = "0.3.2" ++version = "0.3.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" ++checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + + [[package]] + name = "gloo-timers" +@@ -1993,9 +2023,9 @@ dependencies = [ + + [[package]] + name = "h2" +-version = "0.4.5" ++version = "0.4.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" ++checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" + dependencies = [ + "atomic-waker", + "bytes", +@@ -2012,9 +2042,9 @@ dependencies = [ + + [[package]] + name = "half" +-version = "2.4.1" ++version = "2.6.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" ++checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" + dependencies = [ + "cfg-if", + "crunchy", +@@ -2022,20 +2052,12 @@ dependencies = [ + + [[package]] + name = "hashbrown" +-version = "0.14.5" ++version = "0.15.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" ++checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" + dependencies = [ +- "ahash", + "allocator-api2", +-] +- +-[[package]] +-name = "hashbrown" +-version = "0.15.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +-dependencies = [ ++ "equivalent", + "foldhash", + ] + +@@ -2045,7 +2067,7 @@ version = "0.10.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" + dependencies = [ +- "hashbrown 0.15.2", ++ "hashbrown", + ] + + [[package]] +@@ -2056,9 +2078,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + + [[package]] + name = "hermit-abi" +-version = "0.3.9" ++version = "0.5.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" ++checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + + [[package]] + name = "hex" +@@ -2097,23 +2119,21 @@ dependencies = [ + + [[package]] + name = "html5ever" +-version = "0.29.0" ++version = "0.29.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2e15626aaf9c351bc696217cbe29cb9b5e86c43f8a46b5e2f5c6c5cf7cb904ce" ++checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" + dependencies = [ + "log", + "mac", + "markup5ever", +- "proc-macro2", +- "quote", +- "syn", ++ "match_token", + ] + + [[package]] + name = "http" +-version = "1.2.0" ++version = "1.3.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" ++checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" + dependencies = [ + "bytes", + "fnv", +@@ -2132,12 +2152,12 @@ dependencies = [ + + [[package]] + name = "http-body-util" +-version = "0.1.2" ++version = "0.1.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" ++checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" + dependencies = [ + "bytes", +- "futures-util", ++ "futures-core", + "http", + "http-body", + "pin-project-lite", +@@ -2145,9 +2165,9 @@ dependencies = [ + + [[package]] + name = "httparse" +-version = "1.9.4" ++version = "1.10.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" ++checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + + [[package]] + name = "httpdate" +@@ -2157,13 +2177,14 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + + [[package]] + name = "hyper" +-version = "1.4.1" ++version = "1.7.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" ++checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" + dependencies = [ ++ "atomic-waker", + "bytes", + "futures-channel", +- "futures-util", ++ "futures-core", + "h2", + "http", + "http-body", +@@ -2171,6 +2192,7 @@ dependencies = [ + "httpdate", + "itoa", + "pin-project-lite", ++ "pin-utils", + "smallvec", + "tokio", + "want", +@@ -2178,11 +2200,10 @@ dependencies = [ + + [[package]] + name = "hyper-rustls" +-version = "0.27.2" ++version = "0.27.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" ++checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" + dependencies = [ +- "futures-util", + "http", + "hyper", + "hyper-util", +@@ -2191,7 +2212,7 @@ dependencies = [ + "tokio", + "tokio-rustls", + "tower-service", +- "webpki-roots", ++ "webpki-roots 1.0.2", + ] + + [[package]] +@@ -2212,16 +2233,21 @@ dependencies = [ + + [[package]] + name = "hyper-util" +-version = "0.1.10" ++version = "0.1.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" ++checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" + dependencies = [ ++ "base64", + "bytes", + "futures-channel", ++ "futures-core", + "futures-util", + "http", + "http-body", + "hyper", ++ "ipnet", ++ "libc", ++ "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", +@@ -2231,14 +2257,15 @@ dependencies = [ + + [[package]] + name = "iana-time-zone" +-version = "0.1.60" ++version = "0.1.63" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" ++checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" + dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", ++ "log", + "wasm-bindgen", + "windows-core", + ] +@@ -2254,21 +2281,22 @@ dependencies = [ + + [[package]] + name = "icu_collections" +-version = "1.5.0" ++version = "2.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" ++checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" + dependencies = [ + "displaydoc", ++ "potential_utf", + "yoke", + "zerofrom", + "zerovec", + ] + + [[package]] +-name = "icu_locid" +-version = "1.5.0" ++name = "icu_locale_core" ++version = "2.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" ++checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" + dependencies = [ + "displaydoc", + "litemap", +@@ -2277,31 +2305,11 @@ dependencies = [ + "zerovec", + ] + +-[[package]] +-name = "icu_locid_transform" +-version = "1.5.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +-dependencies = [ +- "displaydoc", +- "icu_locid", +- "icu_locid_transform_data", +- "icu_provider", +- "tinystr", +- "zerovec", +-] +- +-[[package]] +-name = "icu_locid_transform_data" +-version = "1.5.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" +- + [[package]] + name = "icu_normalizer" +-version = "1.5.0" ++version = "2.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" ++checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" + dependencies = [ + "displaydoc", + "icu_collections", +@@ -2309,67 +2317,54 @@ dependencies = [ + "icu_properties", + "icu_provider", + "smallvec", +- "utf16_iter", +- "utf8_iter", +- "write16", + "zerovec", + ] + + [[package]] + name = "icu_normalizer_data" +-version = "1.5.0" ++version = "2.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" ++checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + + [[package]] + name = "icu_properties" +-version = "1.5.1" ++version = "2.0.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" ++checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" + dependencies = [ + "displaydoc", + "icu_collections", +- "icu_locid_transform", ++ "icu_locale_core", + "icu_properties_data", + "icu_provider", +- "tinystr", ++ "potential_utf", ++ "zerotrie", + "zerovec", + ] + + [[package]] + name = "icu_properties_data" +-version = "1.5.0" ++version = "2.0.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" ++checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + + [[package]] + name = "icu_provider" +-version = "1.5.0" ++version = "2.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" ++checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" + dependencies = [ + "displaydoc", +- "icu_locid", +- "icu_provider_macros", ++ "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", ++ "zerotrie", + "zerovec", + ] + +-[[package]] +-name = "icu_provider_macros" +-version = "1.5.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +-dependencies = [ +- "proc-macro2", +- "quote", +- "syn", +-] +- + [[package]] + name = "ident_case" + version = "1.0.1" +@@ -2378,9 +2373,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + + [[package]] + name = "idna" +-version = "1.0.3" ++version = "1.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" ++checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" + dependencies = [ + "idna_adapter", + "smallvec", +@@ -2389,9 +2384,9 @@ dependencies = [ + + [[package]] + name = "idna_adapter" +-version = "1.2.0" ++version = "1.2.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" ++checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" + dependencies = [ + "icu_normalizer", + "icu_properties", +@@ -2399,12 +2394,13 @@ dependencies = [ + + [[package]] + name = "image" +-version = "0.25.5" ++version = "0.25.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" ++checksum = "1c6a3ce16143778e24df6f95365f12ed105425b22abefd289dd88a64bab59605" + dependencies = [ + "bytemuck", + "byteorder-lite", ++ "moxcms", + "num-traits", + ] + +@@ -2453,9 +2449,9 @@ dependencies = [ + + [[package]] + name = "indenter" +-version = "0.3.3" ++version = "0.3.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" ++checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" + + [[package]] + name = "indexed_db_futures" +@@ -2476,26 +2472,26 @@ dependencies = [ + + [[package]] + name = "indexmap" +-version = "2.7.1" ++version = "2.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" ++checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" + dependencies = [ + "equivalent", +- "hashbrown 0.15.2", ++ "hashbrown", + "serde", + ] + + [[package]] + name = "indoc" +-version = "2.0.5" ++version = "2.0.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" ++checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" + + [[package]] + name = "inferno" +-version = "0.11.20" ++version = "0.11.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7c77a3ae7d4761b9c64d2c030f70746ceb8cfba32dce0325a56792e0a4816c31" ++checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" + dependencies = [ + "ahash", + "indexmap", +@@ -2504,16 +2500,16 @@ dependencies = [ + "log", + "num-format", + "once_cell", +- "quick-xml", ++ "quick-xml 0.26.0", + "rgb", + "str_stack", + ] + + [[package]] + name = "inout" +-version = "0.1.3" ++version = "0.1.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" ++checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" + dependencies = [ + "block-padding", + "generic-array", +@@ -2521,25 +2517,23 @@ dependencies = [ + + [[package]] + name = "insta" +-version = "1.42.1" ++version = "1.43.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "71c1b125e30d93896b365e156c33dadfffab45ee8400afcbba4752f59de08a86" ++checksum = "154934ea70c58054b556dd430b99a98c2a7ff5309ac9891597e339b5c28f4371" + dependencies = [ + "console", +- "linked-hash-map", + "once_cell", + "pest", + "pest_derive", +- "pin-project", + "serde", + "similar", + ] + + [[package]] + name = "instability" +-version = "0.3.7" ++version = "0.3.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d" ++checksum = "435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a" + dependencies = [ + "darling", + "indoc", +@@ -2549,27 +2543,48 @@ dependencies = [ + ] + + [[package]] +-name = "ipnet" +-version = "2.9.0" ++name = "io-uring" ++version = "0.7.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +- ++checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" ++dependencies = [ ++ "bitflags 2.9.3", ++ "cfg-if", ++ "libc", ++] ++ ++[[package]] ++name = "ipnet" ++version = "2.11.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" ++ ++[[package]] ++name = "iri-string" ++version = "0.7.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" ++dependencies = [ ++ "memchr", ++ "serde", ++] ++ + [[package]] + name = "is-terminal" +-version = "0.4.12" ++version = "0.4.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" ++checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" + dependencies = [ + "hermit-abi", + "libc", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + + [[package]] + name = "is_terminal_polyfill" +-version = "1.70.0" ++version = "1.70.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" ++checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + + [[package]] + name = "itertools" +@@ -2600,9 +2615,9 @@ dependencies = [ + + [[package]] + name = "itoa" +-version = "1.0.11" ++version = "1.0.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" ++checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + + [[package]] + name = "jni-sys" +@@ -2651,9 +2666,9 @@ dependencies = [ + + [[package]] + name = "konst" +-version = "0.3.9" ++version = "0.3.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "50a0ba6de5f7af397afff922f22c149ff605c766cd3269cf6c1cd5e466dbe3b9" ++checksum = "4381b9b00c55f251f2ebe9473aef7c117e96828def1a7cb3bd3f0f903c6894e9" + dependencies = [ + "const_panic", + "konst_kernel", +@@ -2662,9 +2677,9 @@ dependencies = [ + + [[package]] + name = "konst_kernel" +-version = "0.3.9" ++version = "0.3.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "be0a455a1719220fd6adf756088e1c69a85bf14b6a9e24537a5cc04f503edb2b" ++checksum = "e4b1eb7788f3824c629b1116a7a9060d6e898c358ebff59070093d51103dcc3c" + dependencies = [ + "typewit", + ] +@@ -2683,17 +2698,17 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + + [[package]] + name = "libc" +-version = "0.2.169" ++version = "0.2.175" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" ++checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" + + [[package]] + name = "libredox" +-version = "0.1.3" ++version = "0.1.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" ++checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "libc", + ] + +@@ -2709,28 +2724,28 @@ dependencies = [ + ] + + [[package]] +-name = "linked-hash-map" +-version = "0.5.6" ++name = "linux-raw-sys" ++version = "0.4.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" ++checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + + [[package]] + name = "linux-raw-sys" +-version = "0.4.14" ++version = "0.9.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" ++checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + + [[package]] + name = "litemap" +-version = "0.7.4" ++version = "0.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" ++checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + + [[package]] + name = "lock_api" +-version = "0.4.12" ++version = "0.4.13" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" ++checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" + dependencies = [ + "autocfg", + "scopeguard", +@@ -2738,9 +2753,9 @@ dependencies = [ + + [[package]] + name = "log" +-version = "0.4.22" ++version = "0.4.27" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" ++checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + + [[package]] + name = "log-panics" +@@ -2752,15 +2767,34 @@ dependencies = [ + "log", + ] + ++[[package]] ++name = "loom" ++version = "0.7.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" ++dependencies = [ ++ "cfg-if", ++ "generator", ++ "scoped-tls", ++ "tracing", ++ "tracing-subscriber", ++] ++ + [[package]] + name = "lru" +-version = "0.12.3" ++version = "0.12.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" ++checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" + dependencies = [ +- "hashbrown 0.14.5", ++ "hashbrown", + ] + ++[[package]] ++name = "lru-slab" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" ++ + [[package]] + name = "mac" + version = "0.1.1" +@@ -2822,9 +2856,9 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + + [[package]] + name = "markup5ever" +-version = "0.14.0" ++version = "0.14.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "82c88c6129bd24319e62a0359cb6b958fa7e8be6e19bb1663bc396b90883aca5" ++checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" + dependencies = [ + "log", + "phf", +@@ -2834,6 +2868,17 @@ dependencies = [ + "tendril", + ] + ++[[package]] ++name = "match_token" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ + [[package]] + name = "matchers" + version = "0.1.0" +@@ -2856,7 +2901,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "4e2551de3bba2cc65b52dc6b268df6114011fe118ac24870fbcf1b35537bd721" + dependencies = [ + "matrix-pickle-derive", +- "thiserror 1.0.63", ++ "thiserror 1.0.69", + ] + + [[package]] +@@ -2919,7 +2964,7 @@ dependencies = [ + "percent-encoding", + "pin-project-lite", + "proptest", +- "rand", ++ "rand 0.8.5", + "reqwest", + "ruma", + "serde", +@@ -2930,7 +2975,7 @@ dependencies = [ + "similar-asserts", + "stream_assert", + "tempfile", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tokio", + "tokio-stream", + "tokio-test", +@@ -2958,7 +3003,7 @@ dependencies = [ + "assert_matches2", + "assign", + "async-trait", +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "decancer", + "eyeball", + "eyeball-im", +@@ -2977,7 +3022,7 @@ dependencies = [ + "serde_json", + "similar-asserts", + "stream_assert", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tokio", + "tracing", + "unicode-normalization", +@@ -2995,7 +3040,7 @@ dependencies = [ + "futures-core", + "futures-executor", + "futures-util", +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "gloo-timers", + "imbl", + "insta", +@@ -3005,7 +3050,7 @@ dependencies = [ + "ruma", + "serde", + "serde_json", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tokio", + "tracing", + "tracing-subscriber", +@@ -3047,7 +3092,7 @@ dependencies = [ + "matrix-sdk-test", + "pbkdf2", + "proptest", +- "rand", ++ "rand 0.8.5", + "rmp-serde", + "ruma", + "serde", +@@ -3056,7 +3101,7 @@ dependencies = [ + "similar-asserts", + "stream_assert", + "subtle", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "time", + "tokio", + "tokio-stream", +@@ -3083,13 +3128,13 @@ dependencies = [ + "matrix-sdk-ffi-macros", + "matrix-sdk-sqlite", + "pbkdf2", +- "rand", ++ "rand 0.8.5", + "ruma", + "serde", + "serde_json", + "sha2", + "tempfile", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tokio", + "tracing-subscriber", + "uniffi", +@@ -3123,7 +3168,7 @@ dependencies = [ + "sentry-tracing", + "serde", + "serde_json", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tokio", + "tracing", + "tracing-appender", +@@ -3154,7 +3199,7 @@ dependencies = [ + "assert_matches2", + "async-trait", + "base64", +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "gloo-utils", + "growable-bloom-filter", + "hkdf", +@@ -3165,13 +3210,13 @@ dependencies = [ + "matrix-sdk-crypto", + "matrix-sdk-store-encryption", + "matrix-sdk-test", +- "rand", ++ "rand 0.8.5", + "ruma", + "serde", + "serde-wasm-bindgen", + "serde_json", + "sha2", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tokio", + "tracing", + "tracing-subscriber", +@@ -3203,7 +3248,7 @@ dependencies = [ + "matrix-sdk-test", + "matrix-sdk-ui", + "once_cell", +- "rand", ++ "rand 0.8.5", + "reqwest", + "serde_json", + "similar-asserts", +@@ -3222,7 +3267,7 @@ dependencies = [ + "image", + "qrcode", + "ruma-common", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "vodozemac", + ] + +@@ -3251,7 +3296,7 @@ dependencies = [ + "serde_path_to_error", + "similar-asserts", + "tempfile", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tokio", + "tracing", + "vodozemac", +@@ -3265,15 +3310,15 @@ dependencies = [ + "base64", + "blake3", + "chacha20poly1305", +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "hmac", + "pbkdf2", +- "rand", ++ "rand 0.8.5", + "rmp-serde", + "serde", + "serde_json", + "sha2", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "zeroize", + ] + +@@ -3283,7 +3328,7 @@ version = "0.13.0" + dependencies = [ + "as_variant", + "ctor", +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "http", + "insta", + "matrix-sdk-common", +@@ -3319,7 +3364,7 @@ dependencies = [ + "async-rx", + "async-stream", + "async_cell", +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "chrono", + "emojis", + "eyeball", +@@ -3344,7 +3389,7 @@ dependencies = [ + "serde_json", + "stream_assert", + "tempfile", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tokio", + "tokio-stream", + "tracing", +@@ -3357,15 +3402,15 @@ dependencies = [ + + [[package]] + name = "memchr" +-version = "2.7.4" ++version = "2.7.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" ++checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" + + [[package]] + name = "memmap2" +-version = "0.9.4" ++version = "0.9.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" ++checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" + dependencies = [ + "libc", + ] +@@ -3378,19 +3423,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + + [[package]] + name = "mime2ext" +-version = "0.1.53" ++version = "0.1.54" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "515a63dc9666c865e848b043ab52fe9a5c713ae89cde4b5fbaae67cfd614b93a" +- +-[[package]] +-name = "mime_guess" +-version = "2.0.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +-dependencies = [ +- "mime", +- "unicase", +-] ++checksum = "cbf6f36070878c42c5233846cd3de24cf9016828fd47bc22957a687298bb21fc" + + [[package]] + name = "minicov" +@@ -3410,24 +3445,33 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + + [[package]] + name = "miniz_oxide" +-version = "0.7.4" ++version = "0.8.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" ++checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" + dependencies = [ +- "adler", ++ "adler2", + ] + + [[package]] + name = "mio" +-version = "1.0.2" ++version = "1.0.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" ++checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" + dependencies = [ +- "hermit-abi", + "libc", + "log", +- "wasi 0.11.0+wasi-snapshot-preview1", +- "windows-sys 0.52.0", ++ "wasi 0.11.1+wasi-snapshot-preview1", ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "moxcms" ++version = "0.7.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ddd32fa8935aeadb8a8a6b6b351e40225570a37c43de67690383d87ef170cd08" ++dependencies = [ ++ "num-traits", ++ "pxfm", + ] + + [[package]] +@@ -3448,7 +3492,7 @@ dependencies = [ + "ratatui", + "rpassword", + "serde_json", +- "strum 0.27.1", ++ "strum 0.27.2", + "throbber-widgets-tui", + "tokio", + "tracing", +@@ -3460,9 +3504,9 @@ dependencies = [ + + [[package]] + name = "native-tls" +-version = "0.2.12" ++version = "0.2.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" ++checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" + dependencies = [ + "libc", + "log", +@@ -3548,9 +3592,9 @@ dependencies = [ + + [[package]] + name = "num_cpus" +-version = "1.16.0" ++version = "1.17.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" ++checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" + dependencies = [ + "hermit-abi", + "libc", +@@ -3573,38 +3617,44 @@ checksum = "51e219e79014df21a225b1860a479e2dcd7cbd9130f4defd4bd0e191ea31d67d" + dependencies = [ + "base64", + "chrono", +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "http", +- "rand", ++ "rand 0.8.5", + "reqwest", + "serde", + "serde_json", + "serde_path_to_error", + "sha2", +- "thiserror 1.0.63", ++ "thiserror 1.0.69", + "url", + ] + + [[package]] + name = "object" +-version = "0.32.2" ++version = "0.36.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" ++checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" + dependencies = [ + "memchr", + ] + + [[package]] + name = "once_cell" +-version = "1.20.2" ++version = "1.21.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" ++ ++[[package]] ++name = "once_cell_polyfill" ++version = "1.70.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" ++checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + + [[package]] + name = "oorandom" +-version = "11.1.4" ++version = "11.1.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" ++checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + + [[package]] + name = "opaque-debug" +@@ -3614,11 +3664,11 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + + [[package]] + name = "openssl" +-version = "0.10.72" ++version = "0.10.73" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" ++checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "cfg-if", + "foreign-types", + "libc", +@@ -3640,15 +3690,15 @@ dependencies = [ + + [[package]] + name = "openssl-probe" +-version = "0.1.5" ++version = "0.1.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" ++checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + + [[package]] + name = "openssl-sys" +-version = "0.9.108" ++version = "0.9.109" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" ++checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" + dependencies = [ + "cc", + "libc", +@@ -3664,11 +3714,12 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + + [[package]] + name = "os_info" +-version = "3.11.0" ++version = "3.12.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "41fc863e2ca13dc2d5c34fb22ea4a588248ac14db929616ba65c45f21744b1e9" ++checksum = "d0e1ac5fde8d43c34139135df8ea9ee9465394b2d8d20f032d38998f64afffc3" + dependencies = [ + "log", ++ "plist", + "serde", + "windows-sys 0.52.0", + ] +@@ -3681,9 +3732,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + + [[package]] + name = "owo-colors" +-version = "3.5.0" ++version = "4.2.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" ++checksum = "48dd4f4a2c8405440fd0462561f0e5806bd0f77e86f51c761481bdd4018b545e" + + [[package]] + name = "paranoid-android" +@@ -3700,15 +3751,15 @@ dependencies = [ + + [[package]] + name = "parking" +-version = "2.2.0" ++version = "2.2.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" ++checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + + [[package]] + name = "parking_lot" +-version = "0.12.3" ++version = "0.12.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" ++checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" + dependencies = [ + "lock_api", + "parking_lot_core", +@@ -3716,9 +3767,9 @@ dependencies = [ + + [[package]] + name = "parking_lot_core" +-version = "0.9.10" ++version = "0.9.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" ++checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" + dependencies = [ + "cfg-if", + "libc", +@@ -3745,26 +3796,26 @@ dependencies = [ + + [[package]] + name = "percent-encoding" +-version = "2.3.1" ++version = "2.3.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" ++checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + + [[package]] + name = "pest" +-version = "2.8.0" ++version = "2.8.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" ++checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" + dependencies = [ + "memchr", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "ucd-trie", + ] + + [[package]] + name = "pest_derive" +-version = "2.8.0" ++version = "2.8.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5" ++checksum = "bb056d9e8ea77922845ec74a1c4e8fb17e7c218cc4fc11a15c5d25e189aa40bc" + dependencies = [ + "pest", + "pest_generator", +@@ -3772,9 +3823,9 @@ dependencies = [ + + [[package]] + name = "pest_generator" +-version = "2.8.0" ++version = "2.8.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841" ++checksum = "87e404e638f781eb3202dc82db6760c8ae8a1eeef7fb3fa8264b2ef280504966" + dependencies = [ + "pest", + "pest_meta", +@@ -3785,63 +3836,52 @@ dependencies = [ + + [[package]] + name = "pest_meta" +-version = "2.8.0" ++version = "2.8.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0" ++checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5" + dependencies = [ +- "once_cell", + "pest", + "sha2", + ] + + [[package]] + name = "phf" +-version = "0.11.2" ++version = "0.11.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" ++checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" + dependencies = [ + "phf_macros", +- "phf_shared 0.11.2", ++ "phf_shared", + ] + + [[package]] + name = "phf_codegen" +-version = "0.11.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +-dependencies = [ +- "phf_generator 0.11.2", +- "phf_shared 0.11.2", +-] +- +-[[package]] +-name = "phf_generator" +-version = "0.10.0" ++version = "0.11.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" ++checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" + dependencies = [ +- "phf_shared 0.10.0", +- "rand", ++ "phf_generator", ++ "phf_shared", + ] + + [[package]] + name = "phf_generator" +-version = "0.11.2" ++version = "0.11.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" ++checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" + dependencies = [ +- "phf_shared 0.11.2", +- "rand", ++ "phf_shared", ++ "rand 0.8.5", + ] + + [[package]] + name = "phf_macros" +-version = "0.11.2" ++version = "0.11.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" ++checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" + dependencies = [ +- "phf_generator 0.11.2", +- "phf_shared 0.11.2", ++ "phf_generator", ++ "phf_shared", + "proc-macro2", + "quote", + "syn", +@@ -3849,40 +3889,11 @@ dependencies = [ + + [[package]] + name = "phf_shared" +-version = "0.10.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +-dependencies = [ +- "siphasher", +-] +- +-[[package]] +-name = "phf_shared" +-version = "0.11.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +-dependencies = [ +- "siphasher", +-] +- +-[[package]] +-name = "pin-project" +-version = "1.1.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +-dependencies = [ +- "pin-project-internal", +-] +- +-[[package]] +-name = "pin-project-internal" +-version = "1.1.5" ++version = "0.11.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" ++checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" + dependencies = [ +- "proc-macro2", +- "quote", +- "syn", ++ "siphasher 1.0.1", + ] + + [[package]] +@@ -3909,9 +3920,9 @@ dependencies = [ + + [[package]] + name = "pkg-config" +-version = "0.3.30" ++version = "0.3.32" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" ++checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + + [[package]] + name = "plain" +@@ -3919,11 +3930,24 @@ version = "0.2.3" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + ++[[package]] ++name = "plist" ++version = "1.7.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3af6b589e163c5a788fab00ce0c0366f6efbb9959c2f9874b224936af7fce7e1" ++dependencies = [ ++ "base64", ++ "indexmap", ++ "quick-xml 0.38.3", ++ "serde", ++ "time", ++] ++ + [[package]] + name = "plotters" +-version = "0.3.6" ++version = "0.3.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" ++checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" + dependencies = [ + "num-traits", + "plotters-backend", +@@ -3934,15 +3958,15 @@ dependencies = [ + + [[package]] + name = "plotters-backend" +-version = "0.3.6" ++version = "0.3.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" ++checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" + + [[package]] + name = "plotters-svg" +-version = "0.3.6" ++version = "0.3.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" ++checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" + dependencies = [ + "plotters-backend", + ] +@@ -3958,6 +3982,15 @@ dependencies = [ + "universal-hash", + ] + ++[[package]] ++name = "potential_utf" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" ++dependencies = [ ++ "zerovec", ++] ++ + [[package]] + name = "powerfmt" + version = "0.2.0" +@@ -3966,9 +3999,9 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + + [[package]] + name = "pprof" +-version = "0.14.0" ++version = "0.14.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ebbe2f8898beba44815fdc9e5a4ae9c929e21c5dc29b0c774a15555f7f58d6d0" ++checksum = "afad4d4df7b31280028245f152d5a575083e2abb822d05736f5e47653e77689f" + dependencies = [ + "aligned-vec", + "backtrace", +@@ -3980,18 +4013,21 @@ dependencies = [ + "log", + "nix", + "once_cell", +- "parking_lot", + "smallvec", ++ "spin", + "symbolic-demangle", + "tempfile", +- "thiserror 1.0.63", ++ "thiserror 1.0.69", + ] + + [[package]] + name = "ppv-lite86" +-version = "0.2.17" ++version = "0.2.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" ++checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" ++dependencies = [ ++ "zerocopy", ++] + + [[package]] + name = "precomputed-hash" +@@ -4001,9 +4037,9 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + + [[package]] + name = "proc-macro-crate" +-version = "3.2.0" ++version = "3.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" ++checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" + dependencies = [ + "toml_edit", + ] +@@ -4031,34 +4067,34 @@ dependencies = [ + + [[package]] + name = "proc-macro2" +-version = "1.0.92" ++version = "1.0.101" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" ++checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" + dependencies = [ + "unicode-ident", + ] + + [[package]] + name = "proptest" +-version = "1.6.0" ++version = "1.7.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" ++checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "lazy_static", + "num-traits", +- "rand", +- "rand_chacha", ++ "rand 0.9.2", ++ "rand_chacha 0.9.0", + "rand_xorshift", +- "regex-syntax 0.8.5", ++ "regex-syntax 0.8.6", + "unarray", + ] + + [[package]] + name = "prost" +-version = "0.13.4" ++version = "0.13.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" ++checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" + dependencies = [ + "bytes", + "prost-derive", +@@ -4066,12 +4102,12 @@ dependencies = [ + + [[package]] + name = "prost-derive" +-version = "0.13.4" ++version = "0.13.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" ++checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" + dependencies = [ + "anyhow", +- "itertools 0.13.0", ++ "itertools 0.14.0", + "proc-macro2", + "quote", + "syn", +@@ -4083,7 +4119,7 @@ version = "0.13.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "memchr", + "pulldown-cmark-escape", + "unicase", +@@ -4095,6 +4131,15 @@ version = "0.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" + ++[[package]] ++name = "pxfm" ++version = "0.1.20" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6e790881194f6f6e86945f0a42a6981977323669aeb6c40e9c7ec253133b96f8" ++dependencies = [ ++ "num-traits", ++] ++ + [[package]] + name = "qrcode" + version = "0.14.1" +@@ -4113,61 +4158,85 @@ dependencies = [ + "memchr", + ] + ++[[package]] ++name = "quick-xml" ++version = "0.38.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" ++dependencies = [ ++ "memchr", ++] ++ + [[package]] + name = "quinn" +-version = "0.11.2" ++version = "0.11.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" ++checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" + dependencies = [ + "bytes", ++ "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", +- "rustc-hash 1.1.0", ++ "rustc-hash", + "rustls", +- "thiserror 1.0.63", ++ "socket2", ++ "thiserror 2.0.16", + "tokio", + "tracing", ++ "web-time", + ] + + [[package]] + name = "quinn-proto" +-version = "0.11.8" ++version = "0.11.13" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" ++checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" + dependencies = [ + "bytes", +- "rand", ++ "getrandom 0.3.3", ++ "lru-slab", ++ "rand 0.9.2", + "ring", +- "rustc-hash 2.0.0", ++ "rustc-hash", + "rustls", ++ "rustls-pki-types", + "slab", +- "thiserror 1.0.63", ++ "thiserror 2.0.16", + "tinyvec", + "tracing", ++ "web-time", + ] + + [[package]] + name = "quinn-udp" +-version = "0.5.3" ++version = "0.5.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "25a78e6f726d84fcf960409f509ae354a32648f090c8d32a2ea8b1a1bc3bab14" ++checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" + dependencies = [ ++ "cfg_aliases", + "libc", + "once_cell", + "socket2", +- "windows-sys 0.52.0", ++ "tracing", ++ "windows-sys 0.60.2", + ] + + [[package]] + name = "quote" +-version = "1.0.37" ++version = "1.0.40" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" ++checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" + dependencies = [ + "proc-macro2", + ] + ++[[package]] ++name = "r-efi" ++version = "5.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" ++ + [[package]] + name = "rand" + version = "0.8.5" +@@ -4175,10 +4244,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" + dependencies = [ + "libc", +- "rand_chacha", ++ "rand_chacha 0.3.1", + "rand_core 0.6.4", + ] + ++[[package]] ++name = "rand" ++version = "0.9.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" ++dependencies = [ ++ "rand_chacha 0.9.0", ++ "rand_core 0.9.3", ++] ++ + [[package]] + name = "rand_chacha" + version = "0.3.1" +@@ -4189,13 +4268,23 @@ dependencies = [ + "rand_core 0.6.4", + ] + ++[[package]] ++name = "rand_chacha" ++version = "0.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" ++dependencies = [ ++ "ppv-lite86", ++ "rand_core 0.9.3", ++] ++ + [[package]] + name = "rand_core" + version = "0.6.4" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" + dependencies = [ +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + ] + + [[package]] +@@ -4203,14 +4292,17 @@ name = "rand_core" + version = "0.9.3" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" ++dependencies = [ ++ "getrandom 0.3.3", ++] + + [[package]] + name = "rand_xorshift" +-version = "0.3.0" ++version = "0.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" ++checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" + dependencies = [ +- "rand_core 0.6.4", ++ "rand_core 0.9.3", + ] + + [[package]] +@@ -4228,7 +4320,7 @@ version = "0.29.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "cassowary", + "compact_str", + "crossterm", +@@ -4245,9 +4337,9 @@ dependencies = [ + + [[package]] + name = "rayon" +-version = "1.10.0" ++version = "1.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" ++checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" + dependencies = [ + "either", + "rayon-core", +@@ -4255,9 +4347,9 @@ dependencies = [ + + [[package]] + name = "rayon-core" +-version = "1.12.1" ++version = "1.13.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" ++checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" + dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +@@ -4265,49 +4357,49 @@ dependencies = [ + + [[package]] + name = "readlock" +-version = "0.1.8" ++version = "0.1.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "072cfe5b1d2dcd38d20e18f85e9c9978b6cc08f0b373e9f1fff1541335622974" ++checksum = "188bbae3aa4739bd264e9204da5919b2c91dd87dcce5049cf04bdf6aa17c5012" + + [[package]] + name = "readlock-tokio" +-version = "0.1.3" ++version = "0.1.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "867fac64d07214a87e5cf4e88b4ce855844a1cea243534392377d1ac2c911653" ++checksum = "29b1800712c0d75de4b0bda5483d46eaf8df757b81df5ca2bde53d5ac2e2c5b2" + dependencies = [ + "tokio", + ] + + [[package]] + name = "redox_syscall" +-version = "0.5.3" ++version = "0.5.17" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" ++checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + ] + + [[package]] + name = "redox_users" +-version = "0.5.0" ++version = "0.5.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" ++checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" + dependencies = [ +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "libredox", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + ] + + [[package]] + name = "regex" +-version = "1.11.1" ++version = "1.11.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" ++checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" + dependencies = [ + "aho-corasick", + "memchr", +- "regex-automata 0.4.8", +- "regex-syntax 0.8.5", ++ "regex-automata 0.4.10", ++ "regex-syntax 0.8.6", + ] + + [[package]] +@@ -4321,13 +4413,13 @@ dependencies = [ + + [[package]] + name = "regex-automata" +-version = "0.4.8" ++version = "0.4.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" ++checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" + dependencies = [ + "aho-corasick", + "memchr", +- "regex-syntax 0.8.5", ++ "regex-syntax 0.8.6", + ] + + [[package]] +@@ -4338,15 +4430,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + + [[package]] + name = "regex-syntax" +-version = "0.8.5" ++version = "0.8.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" ++checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" + + [[package]] + name = "reqwest" +-version = "0.12.15" ++version = "0.12.23" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" ++checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" + dependencies = [ + "async-compression", + "base64", +@@ -4362,17 +4454,13 @@ dependencies = [ + "hyper-rustls", + "hyper-tls", + "hyper-util", +- "ipnet", + "js-sys", + "log", +- "mime", + "native-tls", +- "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", +- "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", +@@ -4381,24 +4469,23 @@ dependencies = [ + "tokio", + "tokio-native-tls", + "tokio-rustls", +- "tokio-socks", + "tokio-util", + "tower", ++ "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +- "webpki-roots", +- "windows-registry", ++ "webpki-roots 1.0.2", + ] + + [[package]] + name = "rgb" +-version = "0.8.45" ++version = "0.8.52" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ade4539f42266ded9e755c605bdddf546242b2c961b03b06a7375260788a0523" ++checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" + dependencies = [ + "bytemuck", + ] +@@ -4411,7 +4498,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" + dependencies = [ + "cc", + "cfg-if", +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", +@@ -4441,30 +4528,30 @@ dependencies = [ + + [[package]] + name = "rpassword" +-version = "7.3.1" ++version = "7.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" ++checksum = "66d4c8b64f049c6721ec8ccec37ddfc3d641c4a7fca57e8f2a89de509c73df39" + dependencies = [ + "libc", + "rtoolbox", +- "windows-sys 0.48.0", ++ "windows-sys 0.59.0", + ] + + [[package]] + name = "rtoolbox" +-version = "0.0.2" ++version = "0.0.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" ++checksum = "a7cc970b249fbe527d6e02e0a227762c9108b2f49d81094fe357ffc6d14d7f6f" + dependencies = [ + "libc", +- "windows-sys 0.48.0", ++ "windows-sys 0.52.0", + ] + + [[package]] + name = "ruma" +-version = "0.12.5" ++version = "0.12.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c1d47e42b7dea75a468dea63a230f51331c58d690ca018ea1c6ac782ea98880c" ++checksum = "3714d4ebd4314e6510bc64194fcdea1b51fe47898169a08f1bb4912e5c10e2c5" + dependencies = [ + "assign", + "js_int", +@@ -4496,7 +4583,7 @@ dependencies = [ + "serde", + "serde_html_form", + "serde_json", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "url", + "web-time", + ] +@@ -4511,21 +4598,21 @@ dependencies = [ + "base64", + "bytes", + "form_urlencoded", +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "http", + "indexmap", + "js-sys", + "js_int", + "konst", + "percent-encoding", +- "rand", ++ "rand 0.8.5", + "regex", + "ruma-identifiers-validation", + "ruma-macros", + "serde", + "serde_html_form", + "serde_json", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "time", + "tracing", + "url", +@@ -4536,9 +4623,9 @@ dependencies = [ + + [[package]] + name = "ruma-events" +-version = "0.30.4" ++version = "0.30.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3cdc7abec9bc2a9ca0b4831cc26ce97a6a8c39a0bde44a19281a719e861b4293" ++checksum = "f141b37dcd3cfa1199d6a13929db59be529b2c69107edc9f1702b81015e970b2" + dependencies = [ + "as_variant", + "indexmap", +@@ -4553,7 +4640,7 @@ dependencies = [ + "ruma-macros", + "serde", + "serde_json", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "tracing", + "url", + "web-time", +@@ -4595,7 +4682,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "6ad674b5e5368c53a2c90fde7dac7e30747004aaf7b1827b72874a25fc06d4d8" + dependencies = [ + "js_int", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + ] + + [[package]] +@@ -4611,7 +4698,7 @@ dependencies = [ + "ruma-identifiers-validation", + "serde", + "syn", +- "toml 0.8.15", ++ "toml 0.8.23", + ] + + [[package]] +@@ -4620,7 +4707,7 @@ version = "0.35.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "a22715a5d6deef63c637207afbe68d0c72c3f8d0022d7cf9714c442d6157606b" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", +@@ -4630,49 +4717,56 @@ dependencies = [ + + [[package]] + name = "rustc-demangle" +-version = "0.1.24" ++version = "0.1.26" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" ++checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" + + [[package]] + name = "rustc-hash" +-version = "1.1.0" ++version = "2.1.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" ++checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + + [[package]] +-name = "rustc-hash" +-version = "2.0.0" ++name = "rustc_version" ++version = "0.4.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" ++checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" ++dependencies = [ ++ "semver", ++] + + [[package]] +-name = "rustc_version" +-version = "0.4.0" ++name = "rustix" ++version = "0.38.44" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" ++checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" + dependencies = [ +- "semver", ++ "bitflags 2.9.3", ++ "errno", ++ "libc", ++ "linux-raw-sys 0.4.15", ++ "windows-sys 0.59.0", + ] + + [[package]] + name = "rustix" +-version = "0.38.41" ++version = "1.0.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" ++checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "errno", + "libc", +- "linux-raw-sys", +- "windows-sys 0.52.0", ++ "linux-raw-sys 0.9.4", ++ "windows-sys 0.60.2", + ] + + [[package]] + name = "rustls" +-version = "0.23.27" ++version = "0.23.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" ++checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" + dependencies = [ + "log", + "once_cell", +@@ -4683,30 +4777,21 @@ dependencies = [ + "zeroize", + ] + +-[[package]] +-name = "rustls-pemfile" +-version = "2.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +-dependencies = [ +- "base64", +- "rustls-pki-types", +-] +- + [[package]] + name = "rustls-pki-types" + version = "1.12.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" + dependencies = [ ++ "web-time", + "zeroize", + ] + + [[package]] + name = "rustls-webpki" +-version = "0.103.3" ++version = "0.103.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" ++checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" + dependencies = [ + "ring", + "rustls-pki-types", +@@ -4715,15 +4800,15 @@ dependencies = [ + + [[package]] + name = "rustversion" +-version = "1.0.17" ++version = "1.0.22" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" ++checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + + [[package]] + name = "ryu" +-version = "1.0.18" ++version = "1.0.20" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" ++checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + + [[package]] + name = "same-file" +@@ -4736,13 +4821,19 @@ dependencies = [ + + [[package]] + name = "schannel" +-version = "0.1.23" ++version = "0.1.27" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" ++checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" + dependencies = [ +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + ++[[package]] ++name = "scoped-tls" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" ++ + [[package]] + name = "scopeguard" + version = "1.2.0" +@@ -4760,9 +4851,9 @@ dependencies = [ + + [[package]] + name = "scroll_derive" +-version = "0.12.0" ++version = "0.12.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" ++checksum = "1783eabc414609e28a5ba76aee5ddd52199f7107a0b24c2e9746a1ecc34a683d" + dependencies = [ + "proc-macro2", + "quote", +@@ -4775,7 +4866,7 @@ version = "2.11.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "core-foundation", + "core-foundation-sys", + "libc", +@@ -4784,9 +4875,9 @@ dependencies = [ + + [[package]] + name = "security-framework-sys" +-version = "2.11.1" ++version = "2.14.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" ++checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" + dependencies = [ + "core-foundation-sys", + "libc", +@@ -4794,9 +4885,9 @@ dependencies = [ + + [[package]] + name = "semver" +-version = "1.0.23" ++version = "1.0.26" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" ++checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" + dependencies = [ + "serde", + ] +@@ -4819,7 +4910,7 @@ dependencies = [ + "sentry-tracing", + "tokio", + "ureq", +- "webpki-roots", ++ "webpki-roots 0.26.11", + ] + + [[package]] +@@ -4855,7 +4946,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "653942e6141f16651273159f4b8b1eaeedf37a7554c00cd798953e64b8a9bf72" + dependencies = [ + "once_cell", +- "rand", ++ "rand 0.8.5", + "sentry-types", + "serde", + "serde_json", +@@ -4902,10 +4993,10 @@ checksum = "2d4203359e60724aa05cf2385aaf5d4f147e837185d7dd2b9ccf1ee77f4420c8" + dependencies = [ + "debugid", + "hex", +- "rand", ++ "rand 0.8.5", + "serde", + "serde_json", +- "thiserror 1.0.63", ++ "thiserror 1.0.69", + "time", + "url", + "uuid", +@@ -4913,9 +5004,9 @@ dependencies = [ + + [[package]] + name = "serde" +-version = "1.0.217" ++version = "1.0.219" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" ++checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" + dependencies = [ + "serde_derive", + ] +@@ -4933,18 +5024,18 @@ dependencies = [ + + [[package]] + name = "serde_bytes" +-version = "0.11.15" ++version = "0.11.17" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" ++checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" + dependencies = [ + "serde", + ] + + [[package]] + name = "serde_derive" +-version = "1.0.217" ++version = "1.0.219" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" ++checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" + dependencies = [ + "proc-macro2", + "quote", +@@ -4966,9 +5057,9 @@ dependencies = [ + + [[package]] + name = "serde_json" +-version = "1.0.138" ++version = "1.0.143" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" ++checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" + dependencies = [ + "itoa", + "memchr", +@@ -4988,9 +5079,9 @@ dependencies = [ + + [[package]] + name = "serde_spanned" +-version = "0.6.8" ++version = "0.6.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" ++checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" + dependencies = [ + "serde", + ] +@@ -5009,9 +5100,9 @@ dependencies = [ + + [[package]] + name = "sha2" +-version = "0.10.8" ++version = "0.10.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" ++checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" + dependencies = [ + "cfg-if", + "cpufeatures", +@@ -5035,9 +5126,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + + [[package]] + name = "signal-hook" +-version = "0.3.17" ++version = "0.3.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" ++checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" + dependencies = [ + "libc", + "signal-hook-registry", +@@ -5056,9 +5147,9 @@ dependencies = [ + + [[package]] + name = "signal-hook-registry" +-version = "1.4.2" ++version = "1.4.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" ++checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" + dependencies = [ + "libc", + ] +@@ -5074,9 +5165,9 @@ dependencies = [ + + [[package]] + name = "similar" +-version = "2.6.0" ++version = "2.7.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" ++checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" + dependencies = [ + "bstr", + "unicode-segmentation", +@@ -5084,9 +5175,9 @@ dependencies = [ + + [[package]] + name = "similar-asserts" +-version = "1.6.1" ++version = "1.7.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9f08357795f0d604ea7d7130f22c74b03838c959bdb14adde3142aab4d18a293" ++checksum = "b5b441962c817e33508847a22bd82f03a30cff43642dc2fae8b050566121eb9a" + dependencies = [ + "console", + "similar", +@@ -5098,20 +5189,23 @@ version = "0.3.11" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + ++[[package]] ++name = "siphasher" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" ++ + [[package]] + name = "slab" +-version = "0.4.9" ++version = "0.4.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +-dependencies = [ +- "autocfg", +-] ++checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" + + [[package]] + name = "smallvec" +-version = "1.13.2" ++version = "1.15.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" ++checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + + [[package]] + name = "smawk" +@@ -5121,12 +5215,21 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" + + [[package]] + name = "socket2" +-version = "0.5.7" ++version = "0.6.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" ++checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" + dependencies = [ + "libc", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "spin" ++version = "0.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" ++dependencies = [ ++ "lock_api", + ] + + [[package]] +@@ -5168,26 +5271,25 @@ dependencies = [ + + [[package]] + name = "string_cache" +-version = "0.8.7" ++version = "0.8.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" ++checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" + dependencies = [ + "new_debug_unreachable", +- "once_cell", + "parking_lot", +- "phf_shared 0.10.0", ++ "phf_shared", + "precomputed-hash", + "serde", + ] + + [[package]] + name = "string_cache_codegen" +-version = "0.5.2" ++version = "0.5.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" ++checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" + dependencies = [ +- "phf_generator 0.10.0", +- "phf_shared 0.10.0", ++ "phf_generator", ++ "phf_shared", + "proc-macro2", + "quote", + ] +@@ -5209,11 +5311,11 @@ dependencies = [ + + [[package]] + name = "strum" +-version = "0.27.1" ++version = "0.27.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" ++checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" + dependencies = [ +- "strum_macros 0.27.1", ++ "strum_macros 0.27.2", + ] + + [[package]] +@@ -5231,14 +5333,13 @@ dependencies = [ + + [[package]] + name = "strum_macros" +-version = "0.27.1" ++version = "0.27.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" ++checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" + dependencies = [ + "heck", + "proc-macro2", + "quote", +- "rustversion", + "syn", + ] + +@@ -5250,9 +5351,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + + [[package]] + name = "symbolic-common" +-version = "12.9.2" ++version = "12.16.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "71297dc3e250f7dbdf8adb99e235da783d690f5819fdeb4cce39d9cfb0aca9f1" ++checksum = "9da12f8fecbbeaa1ee62c1d50dc656407e007c3ee7b2a41afce4b5089eaef15e" + dependencies = [ + "debugid", + "memmap2", +@@ -5262,9 +5363,9 @@ dependencies = [ + + [[package]] + name = "symbolic-demangle" +-version = "12.9.2" ++version = "12.16.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "424fa2c9bf2c862891b9cfd354a752751a6730fd838a4691e7f6c2c7957b9daf" ++checksum = "6fd35afe0ef9d35d3dcd41c67ddf882fc832a387221338153b7cd685a105495c" + dependencies = [ + "cpp_demangle", + "rustc-demangle", +@@ -5273,9 +5374,9 @@ dependencies = [ + + [[package]] + name = "syn" +-version = "2.0.101" ++version = "2.0.106" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" ++checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" + dependencies = [ + "proc-macro2", + "quote", +@@ -5284,18 +5385,18 @@ dependencies = [ + + [[package]] + name = "sync_wrapper" +-version = "1.0.1" ++version = "1.0.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" ++checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" + dependencies = [ + "futures-core", + ] + + [[package]] + name = "synstructure" +-version = "0.13.1" ++version = "0.13.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" ++checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" + dependencies = [ + "proc-macro2", + "quote", +@@ -5304,16 +5405,15 @@ dependencies = [ + + [[package]] + name = "tempfile" +-version = "3.16.0" ++version = "3.21.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" ++checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" + dependencies = [ +- "cfg-if", + "fastrand", +- "getrandom 0.3.1", ++ "getrandom 0.3.3", + "once_cell", +- "rustix", +- "windows-sys 0.59.0", ++ "rustix 1.0.8", ++ "windows-sys 0.60.2", + ] + + [[package]] +@@ -5329,36 +5429,36 @@ dependencies = [ + + [[package]] + name = "textwrap" +-version = "0.16.1" ++version = "0.16.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" ++checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" + dependencies = [ + "smawk", + ] + + [[package]] + name = "thiserror" +-version = "1.0.63" ++version = "1.0.69" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" ++checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" + dependencies = [ +- "thiserror-impl 1.0.63", ++ "thiserror-impl 1.0.69", + ] + + [[package]] + name = "thiserror" +-version = "2.0.11" ++version = "2.0.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" ++checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" + dependencies = [ +- "thiserror-impl 2.0.11", ++ "thiserror-impl 2.0.16", + ] + + [[package]] + name = "thiserror-impl" +-version = "1.0.63" ++version = "1.0.69" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" ++checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" + dependencies = [ + "proc-macro2", + "quote", +@@ -5367,9 +5467,9 @@ dependencies = [ + + [[package]] + name = "thiserror-impl" +-version = "2.0.11" ++version = "2.0.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" ++checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" + dependencies = [ + "proc-macro2", + "quote", +@@ -5378,12 +5478,11 @@ dependencies = [ + + [[package]] + name = "thread_local" +-version = "1.1.8" ++version = "1.1.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" ++checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" + dependencies = [ + "cfg-if", +- "once_cell", + ] + + [[package]] +@@ -5392,18 +5491,17 @@ version = "0.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "1d36b5738d666a2b4c91b7c24998a8588db724b3107258343ebf8824bf55b06d" + dependencies = [ +- "rand", ++ "rand 0.8.5", + "ratatui", + ] + + [[package]] + name = "time" +-version = "0.3.37" ++version = "0.3.42" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" ++checksum = "8ca967379f9d8eb8058d86ed467d81d03e81acd45757e4ca341c24affbe8e8e3" + dependencies = [ + "deranged", +- "itoa", + "libc", + "num-conv", + "num_threads", +@@ -5415,15 +5513,15 @@ dependencies = [ + + [[package]] + name = "time-core" +-version = "0.1.2" ++version = "0.1.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" ++checksum = "a9108bb380861b07264b950ded55a44a14a4adc68b9f5efd85aafc3aa4d40a68" + + [[package]] + name = "time-macros" +-version = "0.2.19" ++version = "0.2.23" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" ++checksum = "7182799245a7264ce590b349d90338f1c1affad93d2639aed5f8f69c090b334c" + dependencies = [ + "num-conv", + "time-core", +@@ -5431,9 +5529,9 @@ dependencies = [ + + [[package]] + name = "tinystr" +-version = "0.7.6" ++version = "0.8.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" ++checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" + dependencies = [ + "displaydoc", + "zerovec", +@@ -5451,9 +5549,9 @@ dependencies = [ + + [[package]] + name = "tinyvec" +-version = "1.8.0" ++version = "1.10.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" ++checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" + dependencies = [ + "tinyvec_macros", + ] +@@ -5466,18 +5564,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + + [[package]] + name = "tokio" +-version = "1.43.1" ++version = "1.47.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "492a604e2fd7f814268a378409e6c92b5525d747d10db9a229723f55a417958c" ++checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" + dependencies = [ + "backtrace", + "bytes", ++ "io-uring", + "libc", + "mio", + "pin-project-lite", ++ "slab", + "socket2", + "tokio-macros", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -5503,24 +5603,11 @@ dependencies = [ + + [[package]] + name = "tokio-rustls" +-version = "0.26.0" ++version = "0.26.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" ++checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" + dependencies = [ + "rustls", +- "rustls-pki-types", +- "tokio", +-] +- +-[[package]] +-name = "tokio-socks" +-version = "0.5.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" +-dependencies = [ +- "either", +- "futures-util", +- "thiserror 1.0.63", + "tokio", + ] + +@@ -5551,9 +5638,9 @@ dependencies = [ + + [[package]] + name = "tokio-util" +-version = "0.7.13" ++version = "0.7.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" ++checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" + dependencies = [ + "bytes", + "futures-core", +@@ -5573,9 +5660,9 @@ dependencies = [ + + [[package]] + name = "toml" +-version = "0.8.15" ++version = "0.8.23" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" ++checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" + dependencies = [ + "serde", + "serde_spanned", +@@ -5585,18 +5672,18 @@ dependencies = [ + + [[package]] + name = "toml_datetime" +-version = "0.6.8" ++version = "0.6.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" ++checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + dependencies = [ + "serde", + ] + + [[package]] + name = "toml_edit" +-version = "0.22.22" ++version = "0.22.27" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" ++checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" + dependencies = [ + "indexmap", + "serde", +@@ -5621,6 +5708,24 @@ dependencies = [ + "tracing", + ] + ++[[package]] ++name = "tower-http" ++version = "0.6.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" ++dependencies = [ ++ "bitflags 2.9.3", ++ "bytes", ++ "futures-util", ++ "http", ++ "http-body", ++ "iri-string", ++ "pin-project-lite", ++ "tower", ++ "tower-layer", ++ "tower-service", ++] ++ + [[package]] + name = "tower-layer" + version = "0.3.3" +@@ -5650,7 +5755,7 @@ version = "0.2.3" + source = "git+https://github.com/element-hq/tracing.git?rev=ca9431f74d37c9d3b5e6a9f35b2c706711dab7dd#ca9431f74d37c9d3b5e6a9f35b2c706711dab7dd" + dependencies = [ + "crossbeam-channel", +- "thiserror 1.0.63", ++ "thiserror 1.0.69", + "time", + "tracing-subscriber", + ] +@@ -5676,9 +5781,9 @@ dependencies = [ + + [[package]] + name = "tracing-error" +-version = "0.2.0" ++version = "0.2.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" ++checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db" + dependencies = [ + "tracing", + "tracing-subscriber", +@@ -5723,13 +5828,13 @@ version = "0.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "743912880bcd21d1034063a1b5c6630d444d5a6cc9f90e2c0a200bbe278907c7" + dependencies = [ +- "bitflags 2.8.0", ++ "bitflags 2.9.3", + "crossterm", + "derive_builder", + "itertools 0.14.0", + "ratatui", +- "strum 0.27.1", +- "thiserror 2.0.11", ++ "strum 0.27.2", ++ "thiserror 2.0.16", + ] + + [[package]] +@@ -5745,15 +5850,15 @@ dependencies = [ + + [[package]] + name = "typenum" +-version = "1.17.0" ++version = "1.18.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" ++checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + + [[package]] + name = "typewit" +-version = "1.9.0" ++version = "1.13.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c6fb9ae6a3cafaf0a5d14c2302ca525f9ae8e07a0f0e6949de88d882c37a6e24" ++checksum = "4dd91acc53c592cb800c11c83e8e7ee1d48378d05cfa33b5474f5f80c5b236bf" + dependencies = [ + "typewit_proc_macros", + ] +@@ -5772,11 +5877,11 @@ checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + + [[package]] + name = "ulid" +-version = "1.1.4" ++version = "1.2.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f294bff79170ed1c5633812aff1e565c35d993a36e757f9bc0accf5eec4e6045" ++checksum = "470dbf6591da1b39d43c14523b2b469c86879a53e8b758c8e090a470fe7b1fbe" + dependencies = [ +- "rand", ++ "rand 0.9.2", + "web-time", + ] + +@@ -5797,18 +5902,15 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + + [[package]] + name = "unicase" +-version = "2.7.0" ++version = "2.8.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +-dependencies = [ +- "version_check", +-] ++checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + + [[package]] + name = "unicode-ident" +-version = "1.0.12" ++version = "1.0.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" ++checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + + [[package]] + name = "unicode-normalization" +@@ -5833,14 +5935,14 @@ checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" + dependencies = [ + "itertools 0.13.0", + "unicode-segmentation", +- "unicode-width 0.1.13", ++ "unicode-width 0.1.14", + ] + + [[package]] + name = "unicode-width" +-version = "0.1.13" ++version = "0.1.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" ++checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + + [[package]] + name = "unicode-width" +@@ -5850,17 +5952,19 @@ checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" + + [[package]] + name = "uniffi" +-version = "0.28.0" ++version = "0.29.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f31bff6daf87277a9014bcdefbc2842b0553392919d1096843c5aad899ca4588" ++checksum = "c6d968cb62160c11f2573e6be724ef8b1b18a277aededd17033f8a912d73e2b4" + dependencies = [ + "anyhow", + "camino", ++ "cargo_metadata", + "clap", + "uniffi_bindgen", + "uniffi_build", + "uniffi_core", + "uniffi_macros", ++ "uniffi_pipeline", + ] + + [[package]] +@@ -5872,9 +5976,9 @@ dependencies = [ + + [[package]] + name = "uniffi_bindgen" +-version = "0.28.0" ++version = "0.29.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "96061d7e01b185aa405f7c9b134741ab3e50cc6796a47d6fd8ab9a5364b5feed" ++checksum = "f6b39ef1acbe1467d5d210f274fae344cb6f8766339330cb4c9688752899bf6b" + dependencies = [ + "anyhow", + "askama", +@@ -5884,60 +5988,61 @@ dependencies = [ + "glob", + "goblin", + "heck", ++ "indexmap", + "once_cell", +- "paste", + "serde", ++ "tempfile", + "textwrap", + "toml 0.5.11", ++ "uniffi_internal_macros", + "uniffi_meta", +- "uniffi_testing", ++ "uniffi_pipeline", + "uniffi_udl", + ] + + [[package]] + name = "uniffi_build" +-version = "0.28.0" ++version = "0.29.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9d6b86f9b221046af0c533eafe09ece04e2f1ded04ccdc9bba0ec09aec1c52bd" ++checksum = "6683e6b665423cddeacd89a3f97312cf400b2fb245a26f197adaf65c45d505b2" + dependencies = [ + "anyhow", + "camino", + "uniffi_bindgen", + ] + +-[[package]] +-name = "uniffi_checksum_derive" +-version = "0.28.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "802d2051a700e3ec894c79f80d2705b69d85844dafbbe5d1a92776f8f48b563a" +-dependencies = [ +- "quote", +- "syn", +-] +- + [[package]] + name = "uniffi_core" +-version = "0.28.0" ++version = "0.29.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3210d57d6ab6065ab47a2898dacdb7c606fd6a4156196831fa3bf82e34ac58a6" ++checksum = "c2d990b553d6b9a7ee9c3ae71134674739913d52350b56152b0e613595bb5a6f" + dependencies = [ + "anyhow", + "async-compat", + "bytes", +- "camino", +- "log", + "once_cell", +- "paste", + "static_assertions", + ] + ++[[package]] +name = "uniffi_internal_macros" +version = "0.29.4" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "04f4f224becf14885c10e6e400b95cc4d1985738140cb194ccc2044563f8a56b" ++checksum = "04f4f224becf14885c10e6e400b95cc4d1985738140cb194ccc2044563f8a56b" ++dependencies = [ ++ "anyhow", ++ "indexmap", ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ + [[package]] + name = "uniffi_macros" +-version = "0.28.0" ++version = "0.29.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b58691741080935437dc862122e68d7414432a11824ac1137868de46181a0bd2" ++checksum = "b481d385af334871d70904e6a5f129be7cd38c18fcf8dd8fd1f646b426a56d58" + dependencies = [ +- "bincode", + "camino", + "fs-err", + "once_cell", +@@ -5951,39 +6056,38 @@ dependencies = [ + + [[package]] + name = "uniffi_meta" +-version = "0.28.0" ++version = "0.29.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7663eacdbd9fbf4a88907ddcfe2e6fa85838eb6dc2418a7d91eebb3786f8e20b" ++checksum = "10f817868a3b171bb7bf259e882138d104deafde65684689b4694c846d322491" + dependencies = [ + "anyhow", +- "bytes", +- "siphasher", +- "uniffi_checksum_derive", ++ "siphasher 0.3.11", ++ "uniffi_internal_macros", ++ "uniffi_pipeline", + ] + + [[package]] +-name = "uniffi_testing" +-version = "0.28.0" ++name = "uniffi_pipeline" ++version = "0.29.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f922465f7566f25f8fe766920205fdfa9a3fcdc209c6bfb7557f0b5bf45b04dd" ++checksum = "4b147e133ad7824e32426b90bc41fda584363563f2ba747f590eca1fd6fd14e6" + dependencies = [ + "anyhow", +- "camino", +- "cargo_metadata", +- "fs-err", +- "once_cell", ++ "heck", ++ "indexmap", ++ "tempfile", ++ "uniffi_internal_macros", + ] + + [[package]] + name = "uniffi_udl" +-version = "0.28.0" ++version = "0.29.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cef408229a3a407fafa4c36dc4f6ece78a6fb258ab28d2b64bddd49c8cb680f6" ++checksum = "caed654fb73da5abbc7a7e9c741532284532ba4762d6fe5071372df22a41730a" + dependencies = [ + "anyhow", + "textwrap", + "uniffi_meta", +- "uniffi_testing", + "weedle2", + ] + +@@ -6016,14 +6120,14 @@ dependencies = [ + "rustls", + "rustls-pki-types", + "url", +- "webpki-roots", ++ "webpki-roots 0.26.11", + ] + + [[package]] + name = "url" +-version = "2.5.4" ++version = "2.5.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" ++checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" + dependencies = [ + "form_urlencoded", + "idna", +@@ -6043,12 +6147,6 @@ version = "0.7.6" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +-[[package]] +-name = "utf16_iter" +-version = "1.0.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" +- + [[package]] + name = "utf8_iter" + version = "1.0.4" +@@ -6063,20 +6161,21 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + + [[package]] + name = "uuid" +-version = "1.12.1" ++version = "1.18.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" ++checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" + dependencies = [ +- "getrandom 0.2.15", ++ "getrandom 0.3.3", ++ "js-sys", + "serde", + "wasm-bindgen", + ] + + [[package]] + name = "valuable" +-version = "0.1.0" ++version = "0.1.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" ++checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + + [[package]] + name = "vcpkg" +@@ -6098,9 +6197,9 @@ dependencies = [ + + [[package]] + name = "version_check" +-version = "0.9.4" ++version = "0.9.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" ++checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + + [[package]] + name = "vodozemac" +@@ -6116,18 +6215,18 @@ dependencies = [ + "chacha20poly1305", + "curve25519-dalek", + "ed25519-dalek", +- "getrandom 0.2.15", ++ "getrandom 0.2.16", + "hkdf", + "hmac", + "matrix-pickle", + "prost", +- "rand", ++ "rand 0.8.5", + "serde", + "serde_bytes", + "serde_json", + "sha2", + "subtle", +- "thiserror 2.0.11", ++ "thiserror 2.0.16", + "x25519-dalek", + "zeroize", + ] +@@ -6153,17 +6252,17 @@ dependencies = [ + + [[package]] + name = "wasi" +-version = "0.11.0+wasi-snapshot-preview1" ++version = "0.11.1+wasi-snapshot-preview1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" ++checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + + [[package]] + name = "wasi" +-version = "0.13.3+wasi-0.2.2" ++version = "0.14.3+wasi-0.2.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" ++checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" + dependencies = [ +- "wit-bindgen-rt", ++ "wit-bindgen", + ] + + [[package]] +@@ -6263,9 +6362,9 @@ dependencies = [ + + [[package]] + name = "wasm-streams" +-version = "0.4.0" ++version = "0.4.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" ++checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" + dependencies = [ + "futures-util", + "js-sys", +@@ -6296,9 +6395,18 @@ dependencies = [ + + [[package]] + name = "webpki-roots" +-version = "0.26.3" ++version = "0.26.11" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" ++dependencies = [ ++ "webpki-roots 1.0.2", ++] ++ ++[[package]] ++name = "webpki-roots" ++version = "1.0.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" ++checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" + dependencies = [ + "rustls-pki-types", + ] +@@ -6314,9 +6422,9 @@ dependencies = [ + + [[package]] + name = "wildmatch" +-version = "2.3.4" ++version = "2.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3928939971918220fed093266b809d1ee4ec6c1a2d72692ff6876898f3b16c19" ++checksum = "68ce1ab1f8c62655ebe1350f589c61e505cf94d385bc6a12899442d9081e71fd" + + [[package]] + name = "winapi" +@@ -6336,11 +6444,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + + [[package]] + name = "winapi-util" +-version = "0.1.8" ++version = "0.1.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" ++checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" + dependencies = [ +- "windows-sys 0.52.0", ++ "windows-sys 0.60.2", + ] + + [[package]] +@@ -6350,56 +6458,105 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + + [[package]] +-name = "windows-core" +-version = "0.52.0" ++name = "windows" ++version = "0.61.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" ++checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" + dependencies = [ +- "windows-targets 0.52.6", ++ "windows-collections", ++ "windows-core", ++ "windows-future", ++ "windows-link", ++ "windows-numerics", + ] + + [[package]] +-name = "windows-link" +-version = "0.1.1" ++name = "windows-collections" ++version = "0.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" ++checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" ++dependencies = [ ++ "windows-core", ++] + + [[package]] +-name = "windows-registry" +-version = "0.4.0" ++name = "windows-core" ++version = "0.61.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" ++checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" + dependencies = [ ++ "windows-implement", ++ "windows-interface", ++ "windows-link", + "windows-result", + "windows-strings", +- "windows-targets 0.53.0", + ] + + [[package]] +-name = "windows-result" +-version = "0.3.4" ++name = "windows-future" ++version = "0.2.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" ++checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" + dependencies = [ ++ "windows-core", + "windows-link", ++ "windows-threading", + ] + + [[package]] +-name = "windows-strings" +-version = "0.3.1" ++name = "windows-implement" ++version = "0.60.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ -+ "anyhow", -+ "indexmap", + "proc-macro2", + "quote", + "syn", +] + - [[package]] - name = "uniffi_macros" --version = "0.28.0" -+version = "0.29.4" ++[[package]] ++name = "windows-interface" ++version = "0.59.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "windows-link" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" ++ ++[[package]] ++name = "windows-numerics" ++version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b58691741080935437dc862122e68d7414432a11824ac1137868de46181a0bd2" -+checksum = "b481d385af334871d70904e6a5f129be7cd38c18fcf8dd8fd1f646b426a56d58" +-checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" ++checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ -- "bincode", - "camino", - "fs-err", - "once_cell", -@@ -5925,39 +5910,38 @@ dependencies = [ ++ "windows-core", + "windows-link", + ] [[package]] - name = "uniffi_meta" --version = "0.28.0" -+version = "0.29.4" +-name = "windows-sys" +-version = "0.48.0" ++name = "windows-result" ++version = "0.3.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" ++dependencies = [ ++ "windows-link", ++] ++ ++[[package]] ++name = "windows-strings" ++version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7663eacdbd9fbf4a88907ddcfe2e6fa85838eb6dc2418a7d91eebb3786f8e20b" -+checksum = "10f817868a3b171bb7bf259e882138d104deafde65684689b4694c846d322491" +-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" ++checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "anyhow", -- "bytes", - "siphasher", -- "uniffi_checksum_derive", -+ "uniffi_internal_macros", -+ "uniffi_pipeline", +- "windows-targets 0.48.5", ++ "windows-link", ] [[package]] --name = "uniffi_testing" --version = "0.28.0" -+name = "uniffi_pipeline" -+version = "0.29.4" +@@ -6421,18 +6578,12 @@ dependencies = [ + ] + + [[package]] +-name = "windows-targets" +-version = "0.48.5" ++name = "windows-sys" ++version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f922465f7566f25f8fe766920205fdfa9a3fcdc209c6bfb7557f0b5bf45b04dd" -+checksum = "4b147e133ad7824e32426b90bc41fda584363563f2ba747f590eca1fd6fd14e6" +-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" ++checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "anyhow", -- "camino", -- "cargo_metadata", -- "fs-err", -- "once_cell", -+ "heck", -+ "indexmap", -+ "tempfile", -+ "uniffi_internal_macros", +- "windows_aarch64_gnullvm 0.48.5", +- "windows_aarch64_msvc 0.48.5", +- "windows_i686_gnu 0.48.5", +- "windows_i686_msvc 0.48.5", +- "windows_x86_64_gnu 0.48.5", +- "windows_x86_64_gnullvm 0.48.5", +- "windows_x86_64_msvc 0.48.5", ++ "windows-targets 0.53.3", ] [[package]] - name = "uniffi_udl" --version = "0.28.0" -+version = "0.29.4" +@@ -6453,10 +6604,11 @@ dependencies = [ + + [[package]] + name = "windows-targets" +-version = "0.53.0" ++version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "cef408229a3a407fafa4c36dc4f6ece78a6fb258ab28d2b64bddd49c8cb680f6" -+checksum = "caed654fb73da5abbc7a7e9c741532284532ba4762d6fe5071372df22a41730a" +-checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" ++checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ - "anyhow", - "textwrap", - "uniffi_meta", -- "uniffi_testing", - "weedle2", ++ "windows-link", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", +@@ -6468,10 +6620,13 @@ dependencies = [ ] -@@ -6588,6 +6572,15 @@ dependencies = [ + [[package]] +-name = "windows_aarch64_gnullvm" +-version = "0.48.5" ++name = "windows-threading" ++version = "0.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" ++checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" ++dependencies = [ ++ "windows-link", ++] + + [[package]] + name = "windows_aarch64_gnullvm" +@@ -6485,12 +6640,6 @@ version = "0.53.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + +-[[package]] +-name = "windows_aarch64_msvc" +-version = "0.48.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +- + [[package]] + name = "windows_aarch64_msvc" + version = "0.52.6" +@@ -6503,12 +6652,6 @@ version = "0.53.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + +-[[package]] +-name = "windows_i686_gnu" +-version = "0.48.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +- + [[package]] + name = "windows_i686_gnu" + version = "0.52.6" +@@ -6533,12 +6676,6 @@ version = "0.53.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + +-[[package]] +-name = "windows_i686_msvc" +-version = "0.48.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +- + [[package]] + name = "windows_i686_msvc" + version = "0.52.6" +@@ -6551,12 +6688,6 @@ version = "0.53.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + +-[[package]] +-name = "windows_x86_64_gnu" +-version = "0.48.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +- + [[package]] + name = "windows_x86_64_gnu" + version = "0.52.6" +@@ -6569,12 +6700,6 @@ version = "0.53.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + +-[[package]] +-name = "windows_x86_64_gnullvm" +-version = "0.48.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +- + [[package]] + name = "windows_x86_64_gnullvm" + version = "0.52.6" +@@ -6587,12 +6712,6 @@ version = "0.53.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + +-[[package]] +-name = "windows_x86_64_msvc" +-version = "0.48.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +- + [[package]] + name = "windows_x86_64_msvc" + version = "0.52.6" +@@ -6607,23 +6726,22 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + + [[package]] + name = "winnow" +-version = "0.6.20" ++version = "0.7.13" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" ++checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" + dependencies = [ "memchr", ] + [[package]] + name = "wiremock" +-version = "0.6.2" ++version = "0.6.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7fff469918e7ca034884c7fd8f93fe27bacb7fcb599fd879df6c7b429a29b646" ++checksum = "08db1edfb05d9b3c1542e521aea074442088292f00b5f28e435c714a98f85031" + dependencies = [ + "assert-json-diff", +- "async-trait", + "base64", +- "deadpool 0.10.0", ++ "deadpool", + "futures", + "http", + "http-body-util", +@@ -6639,25 +6757,16 @@ dependencies = [ + ] + + [[package]] +-name = "wit-bindgen-rt" +-version = "0.33.0" ++name = "wit-bindgen" ++version = "0.45.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +-dependencies = [ +- "bitflags 2.8.0", +-] +- +-[[package]] +-name = "write16" +-version = "1.0.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" ++checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" + + [[package]] + name = "writeable" +-version = "0.5.5" ++version = "0.6.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" ++checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + + [[package]] + name = "x25519-dalek" +@@ -6673,18 +6782,18 @@ dependencies = [ + + [[package]] + name = "xshell" +-version = "0.2.2" ++version = "0.2.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6d47097dc5c85234b1e41851b3422dd6d19b3befdd35b4ae5ce386724aeca981" ++checksum = "9e7290c623014758632efe00737145b6867b66292c42167f2ec381eb566a373d" + dependencies = [ + "xshell-macros", + ] + + [[package]] + name = "xshell-macros" +-version = "0.2.2" ++version = "0.2.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "88301b56c26dd9bf5c43d858538f82d6f3f7764767defbc5d34e59459901c41a" ++checksum = "32ac00cd3f8ec9c1d33fb3e7958a82df6989c42d747bd326c822b1d625283547" + + [[package]] + name = "xtask" +@@ -6701,15 +6810,15 @@ dependencies = [ + + [[package]] + name = "xxhash-rust" +-version = "0.8.11" ++version = "0.8.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "63658493314859b4dfdf3fb8c1defd61587839def09582db50b8a4e93afca6bb" ++checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" + + [[package]] + name = "yoke" +-version = "0.7.5" ++version = "0.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" ++checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" + dependencies = [ + "serde", + "stable_deref_trait", +@@ -6719,9 +6828,9 @@ dependencies = [ + + [[package]] + name = "yoke-derive" +-version = "0.7.5" ++version = "0.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" ++checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" + dependencies = [ + "proc-macro2", + "quote", +@@ -6731,18 +6840,18 @@ dependencies = [ + + [[package]] + name = "zerocopy" +-version = "0.7.35" ++version = "0.8.26" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" ++checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" + dependencies = [ + "zerocopy-derive", + ] + + [[package]] + name = "zerocopy-derive" +-version = "0.7.35" ++version = "0.8.26" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" ++checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" + dependencies = [ + "proc-macro2", + "quote", +@@ -6751,18 +6860,18 @@ dependencies = [ + + [[package]] + name = "zerofrom" +-version = "0.1.5" ++version = "0.1.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" ++checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" + dependencies = [ + "zerofrom-derive", + ] + + [[package]] + name = "zerofrom-derive" +-version = "0.1.5" ++version = "0.1.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" ++checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" + dependencies = [ + "proc-macro2", + "quote", +@@ -6790,11 +6899,22 @@ dependencies = [ + "syn", + ] + +[[package]] -+name = "winnow" -+version = "0.7.12" ++name = "zerotrie" ++version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" ++checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ -+ "memchr", ++ "displaydoc", ++ "yoke", ++ "zerofrom", +] + [[package]] - name = "wiremock" - version = "0.6.2" + name = "zerovec" +-version = "0.10.4" ++version = "0.11.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" ++checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" + dependencies = [ + "yoke", + "zerofrom", +@@ -6803,9 +6923,9 @@ dependencies = [ + + [[package]] + name = "zerovec-derive" +-version = "0.10.3" ++version = "0.11.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" ++checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" + dependencies = [ + "proc-macro2", + "quote", diff --git a/Cargo.toml b/Cargo.toml -index 7d902ec41..fba363aef 100644 +index b5cdd9945..d9f6f4dad 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -94,8 +94,8 @@ tracing = { version = "0.1.40", default-features = false, features = ["std"] } +@@ -96,8 +96,8 @@ tracing = { version = "0.1.40", default-features = false, features = ["std"] } tracing-core = "0.1.32" tracing-subscriber = "0.3.18" unicode-normalization = "0.1.24" -uniffi = { version = "0.28.0" } -uniffi_bindgen = { version = "0.28.0" } -+uniffi = { version = "=0.29.4" } -+uniffi_bindgen = { version = "=0.29.4" } ++uniffi = { version = "0.29.4" } ++uniffi_bindgen = { version = "0.29.4" } url = "2.5.4" uuid = "1.12.1" vodozemac = { version = "0.9.0", features = ["insecure-pk-encryption"] } @@ -345,25 +4965,18 @@ index c7caa1afb..c5fa1c1ff 100644 RoomMessageEventContentWithoutRelation with_mentions(Mentions mentions); }; diff --git a/xtask/src/swift.rs b/xtask/src/swift.rs -index cf41e2600..3c321d855 100644 +index bf8e7f345..a2a315553 100644 --- a/xtask/src/swift.rs +++ b/xtask/src/swift.rs -@@ -5,11 +5,13 @@ use std::{ - - use camino::{Utf8Path, Utf8PathBuf}; - use clap::{Args, Subcommand}; --use uniffi_bindgen::{bindings::SwiftBindingGenerator, library_mode::generate_bindings}; -+use uniffi_bindgen::{bindings::SwiftBindingGenerator, cargo_metadata::CrateConfigSupplier, library_mode::generate_bindings}; +@@ -8,6 +8,7 @@ use clap::{Args, Subcommand}; + use uniffi_bindgen::{bindings::SwiftBindingGenerator, library_mode::generate_bindings}; use xshell::cmd; - use crate::{sh, workspace, Result}; - +use cargo_metadata::MetadataCommand; -+ + use crate::{Result, sh, workspace}; + /// Builds the SDK for Swift as a Static Library or XCFramework. - #[derive(Args)] - pub struct SwiftArgs { -@@ -168,7 +170,12 @@ fn build_library() -> Result<()> { +@@ -185,7 +186,12 @@ fn build_library() -> Result<()> { } fn generate_uniffi(library_path: &Utf8Path, ffi_directory: &Utf8Path) -> Result<()> { diff --git a/src/generated/matrix_sdk.ts b/src/generated/matrix_sdk.ts index f5f435e..c48ecf7 100644 --- a/src/generated/matrix_sdk.ts +++ b/src/generated/matrix_sdk.ts @@ -38,6 +38,7 @@ import { type UnsafeMutableRawPointer, AbstractFfiConverterByteArray, FfiConverterBool, + FfiConverterFloat64, FfiConverterInt32, FfiConverterInt64, FfiConverterObject, @@ -205,6 +206,240 @@ const FfiConverterTypeRoomPowerLevelChanges = (() => { return new FFIConverter(); })(); +/** + * Properties to create a new virtual Element Call widget. + */ +export type VirtualElementCallWidgetOptions = { + /** + * The url to the app. + * + * E.g. , , + */ + elementCallUrl: string; + /** + * The widget id. + */ + widgetId: string; + /** + * The url that is used as the target for the PostMessages sent + * by the widget (to the client). + * + * For a web app client this is the client url. In case of using other + * platforms the client most likely is setup up to listen to + * postmessages in the same webview the widget is hosted. In this case + * the `parent_url` is set to the url of the webview with the widget. Be + * aware that this means that the widget will receive its own postmessage + * messages. The `matrix-widget-api` (js) ignores those so this works but + * it might break custom implementations. + * + * Defaults to `element_call_url` for the non-iframe (dedicated webview) + * usecase. + */ + parentUrl: string | undefined; + /** + * Whether the branding header of Element call should be shown or if a + * mobile header navbar should be render. + * + * Default: [`HeaderStyle::Standard`] + */ + header: HeaderStyle | undefined; + /** + * Whether the branding header of Element call should be hidden. + * + * Default: `true` + */ + hideHeader: boolean | undefined; + /** + * If set, the lobby will be skipped and the widget will join the + * call on the `io.element.join` action. + * + * Default: `false` + */ + preload: boolean | undefined; + /** + * The font scale which will be used inside element call. + * + * Default: `1` + */ + fontScale: /*f64*/ number | undefined; + /** + * Whether element call should prompt the user to open in the browser or + * the app. + * + * Default: `false` + */ + appPrompt: boolean | undefined; + /** + * Make it not possible to get to the calls list in the webview. + * + * Default: `true` + */ + confineToRoom: boolean | undefined; + /** + * The font to use, to adapt to the system font. + */ + font: string | undefined; + /** + * The encryption system to use. + * + * Use `EncryptionSystem::Unencrypted` to disable encryption. + */ + encryption: EncryptionSystem; + /** + * The intent of showing the call. + * If the user wants to start a call or join an existing one. + * Controls if the lobby is skipped or not. + */ + intent: Intent | undefined; + /** + * Do not show the screenshare button. + */ + hideScreensharing: boolean; + /** + * Can be used to pass a PostHog id to element call. + */ + posthogUserId: string | undefined; + /** + * The host of the posthog api. + * This is only used by the embedded package of Element Call. + */ + posthogApiHost: string | undefined; + /** + * The key for the posthog api. + * This is only used by the embedded package of Element Call. + */ + posthogApiKey: string | undefined; + /** + * The url to use for submitting rageshakes. + * This is only used by the embedded package of Element Call. + */ + rageshakeSubmitUrl: string | undefined; + /** + * Sentry [DSN](https://docs.sentry.io/concepts/key-terms/dsn-explainer/) + * This is only used by the embedded package of Element Call. + */ + sentryDsn: string | undefined; + /** + * Sentry [environment](https://docs.sentry.io/concepts/key-terms/key-terms/) + * This is only used by the embedded package of Element Call. + */ + sentryEnvironment: string | undefined; + /** + * - `false`: the webview shows a a list of devices injected by the + * client. (used on ios & android) + */ + controlledMediaDevices: boolean; +}; + +/** + * Generated factory for {@link VirtualElementCallWidgetOptions} record objects. + */ +export const VirtualElementCallWidgetOptions = (() => { + const defaults = () => ({}); + const create = (() => { + return uniffiCreateRecord< + VirtualElementCallWidgetOptions, + ReturnType + >(defaults); + })(); + return Object.freeze({ + /** + * Create a frozen instance of {@link VirtualElementCallWidgetOptions}, with defaults specified + * in Rust, in the {@link matrix_sdk} crate. + */ + create, + + /** + * Create a frozen instance of {@link VirtualElementCallWidgetOptions}, with defaults specified + * in Rust, in the {@link matrix_sdk} crate. + */ + new: create, + + /** + * Defaults specified in the {@link matrix_sdk} crate. + */ + defaults: () => + Object.freeze(defaults()) as Partial, + }); +})(); + +const FfiConverterTypeVirtualElementCallWidgetOptions = (() => { + type TypeName = VirtualElementCallWidgetOptions; + class FFIConverter extends AbstractFfiConverterByteArray { + read(from: RustBuffer): TypeName { + return { + elementCallUrl: FfiConverterString.read(from), + widgetId: FfiConverterString.read(from), + parentUrl: FfiConverterOptionalString.read(from), + header: FfiConverterOptionalTypeHeaderStyle.read(from), + hideHeader: FfiConverterOptionalBool.read(from), + preload: FfiConverterOptionalBool.read(from), + fontScale: FfiConverterOptionalFloat64.read(from), + appPrompt: FfiConverterOptionalBool.read(from), + confineToRoom: FfiConverterOptionalBool.read(from), + font: FfiConverterOptionalString.read(from), + encryption: FfiConverterTypeEncryptionSystem.read(from), + intent: FfiConverterOptionalTypeIntent.read(from), + hideScreensharing: FfiConverterBool.read(from), + posthogUserId: FfiConverterOptionalString.read(from), + posthogApiHost: FfiConverterOptionalString.read(from), + posthogApiKey: FfiConverterOptionalString.read(from), + rageshakeSubmitUrl: FfiConverterOptionalString.read(from), + sentryDsn: FfiConverterOptionalString.read(from), + sentryEnvironment: FfiConverterOptionalString.read(from), + controlledMediaDevices: FfiConverterBool.read(from), + }; + } + write(value: TypeName, into: RustBuffer): void { + FfiConverterString.write(value.elementCallUrl, into); + FfiConverterString.write(value.widgetId, into); + FfiConverterOptionalString.write(value.parentUrl, into); + FfiConverterOptionalTypeHeaderStyle.write(value.header, into); + FfiConverterOptionalBool.write(value.hideHeader, into); + FfiConverterOptionalBool.write(value.preload, into); + FfiConverterOptionalFloat64.write(value.fontScale, into); + FfiConverterOptionalBool.write(value.appPrompt, into); + FfiConverterOptionalBool.write(value.confineToRoom, into); + FfiConverterOptionalString.write(value.font, into); + FfiConverterTypeEncryptionSystem.write(value.encryption, into); + FfiConverterOptionalTypeIntent.write(value.intent, into); + FfiConverterBool.write(value.hideScreensharing, into); + FfiConverterOptionalString.write(value.posthogUserId, into); + FfiConverterOptionalString.write(value.posthogApiHost, into); + FfiConverterOptionalString.write(value.posthogApiKey, into); + FfiConverterOptionalString.write(value.rageshakeSubmitUrl, into); + FfiConverterOptionalString.write(value.sentryDsn, into); + FfiConverterOptionalString.write(value.sentryEnvironment, into); + FfiConverterBool.write(value.controlledMediaDevices, into); + } + allocationSize(value: TypeName): number { + return ( + FfiConverterString.allocationSize(value.elementCallUrl) + + FfiConverterString.allocationSize(value.widgetId) + + FfiConverterOptionalString.allocationSize(value.parentUrl) + + FfiConverterOptionalTypeHeaderStyle.allocationSize(value.header) + + FfiConverterOptionalBool.allocationSize(value.hideHeader) + + FfiConverterOptionalBool.allocationSize(value.preload) + + FfiConverterOptionalFloat64.allocationSize(value.fontScale) + + FfiConverterOptionalBool.allocationSize(value.appPrompt) + + FfiConverterOptionalBool.allocationSize(value.confineToRoom) + + FfiConverterOptionalString.allocationSize(value.font) + + FfiConverterTypeEncryptionSystem.allocationSize(value.encryption) + + FfiConverterOptionalTypeIntent.allocationSize(value.intent) + + FfiConverterBool.allocationSize(value.hideScreensharing) + + FfiConverterOptionalString.allocationSize(value.posthogUserId) + + FfiConverterOptionalString.allocationSize(value.posthogApiHost) + + FfiConverterOptionalString.allocationSize(value.posthogApiKey) + + FfiConverterOptionalString.allocationSize(value.rageshakeSubmitUrl) + + FfiConverterOptionalString.allocationSize(value.sentryDsn) + + FfiConverterOptionalString.allocationSize(value.sentryEnvironment) + + FfiConverterBool.allocationSize(value.controlledMediaDevices) + ); + } + } + return new FFIConverter(); +})(); + const stringConverter = { stringToBytes: (s: string) => uniffiCaller.rustCall((status) => @@ -293,6 +528,296 @@ const FfiConverterTypeBackupDownloadStrategy = (() => { return new FFIConverter(); })(); +// Enum: EncryptionSystem +export enum EncryptionSystem_Tags { + Unencrypted = 'Unencrypted', + PerParticipantKeys = 'PerParticipantKeys', + SharedSecret = 'SharedSecret', +} +/** + * Defines if a call is encrypted and which encryption system should be used. + * + * This controls the url parameters: `perParticipantE2EE`, `password`. + */ +export const EncryptionSystem = (() => { + type Unencrypted__interface = { + tag: EncryptionSystem_Tags.Unencrypted; + }; + + /** + * Equivalent to the element call url parameter: `perParticipantE2EE=false` + * and no password. + */ + class Unencrypted_ extends UniffiEnum implements Unencrypted__interface { + /** + * @private + * This field is private and should not be used, use `tag` instead. + */ + readonly [uniffiTypeNameSymbol] = 'EncryptionSystem'; + readonly tag = EncryptionSystem_Tags.Unencrypted; + constructor() { + super('EncryptionSystem', 'Unencrypted'); + } + + static new(): Unencrypted_ { + return new Unencrypted_(); + } + + static instanceOf(obj: any): obj is Unencrypted_ { + return obj.tag === EncryptionSystem_Tags.Unencrypted; + } + } + + type PerParticipantKeys__interface = { + tag: EncryptionSystem_Tags.PerParticipantKeys; + }; + + /** + * Equivalent to the element call url parameters: + * `perParticipantE2EE=true` + */ + class PerParticipantKeys_ + extends UniffiEnum + implements PerParticipantKeys__interface + { + /** + * @private + * This field is private and should not be used, use `tag` instead. + */ + readonly [uniffiTypeNameSymbol] = 'EncryptionSystem'; + readonly tag = EncryptionSystem_Tags.PerParticipantKeys; + constructor() { + super('EncryptionSystem', 'PerParticipantKeys'); + } + + static new(): PerParticipantKeys_ { + return new PerParticipantKeys_(); + } + + static instanceOf(obj: any): obj is PerParticipantKeys_ { + return obj.tag === EncryptionSystem_Tags.PerParticipantKeys; + } + } + + type SharedSecret__interface = { + tag: EncryptionSystem_Tags.SharedSecret; + inner: Readonly<{ secret: string }>; + }; + + /** + * Equivalent to the element call url parameters: + * `password={secret}` + */ + class SharedSecret_ extends UniffiEnum implements SharedSecret__interface { + /** + * @private + * This field is private and should not be used, use `tag` instead. + */ + readonly [uniffiTypeNameSymbol] = 'EncryptionSystem'; + readonly tag = EncryptionSystem_Tags.SharedSecret; + readonly inner: Readonly<{ secret: string }>; + constructor(inner: { + /** + * The secret/password which is used in the url. + */ secret: string; + }) { + super('EncryptionSystem', 'SharedSecret'); + this.inner = Object.freeze(inner); + } + + static new(inner: { + /** + * The secret/password which is used in the url. + */ secret: string; + }): SharedSecret_ { + return new SharedSecret_(inner); + } + + static instanceOf(obj: any): obj is SharedSecret_ { + return obj.tag === EncryptionSystem_Tags.SharedSecret; + } + } + + function instanceOf(obj: any): obj is EncryptionSystem { + return obj[uniffiTypeNameSymbol] === 'EncryptionSystem'; + } + + return Object.freeze({ + instanceOf, + Unencrypted: Unencrypted_, + PerParticipantKeys: PerParticipantKeys_, + SharedSecret: SharedSecret_, + }); +})(); + +/** + * Defines if a call is encrypted and which encryption system should be used. + * + * This controls the url parameters: `perParticipantE2EE`, `password`. + */ + +export type EncryptionSystem = InstanceType< + (typeof EncryptionSystem)[keyof Omit] +>; + +// FfiConverter for enum EncryptionSystem +const FfiConverterTypeEncryptionSystem = (() => { + const ordinalConverter = FfiConverterInt32; + type TypeName = EncryptionSystem; + class FFIConverter extends AbstractFfiConverterByteArray { + read(from: RustBuffer): TypeName { + switch (ordinalConverter.read(from)) { + case 1: + return new EncryptionSystem.Unencrypted(); + case 2: + return new EncryptionSystem.PerParticipantKeys(); + case 3: + return new EncryptionSystem.SharedSecret({ + secret: FfiConverterString.read(from), + }); + default: + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + write(value: TypeName, into: RustBuffer): void { + switch (value.tag) { + case EncryptionSystem_Tags.Unencrypted: { + ordinalConverter.write(1, into); + return; + } + case EncryptionSystem_Tags.PerParticipantKeys: { + ordinalConverter.write(2, into); + return; + } + case EncryptionSystem_Tags.SharedSecret: { + ordinalConverter.write(3, into); + const inner = value.inner; + FfiConverterString.write(inner.secret, into); + return; + } + default: + // Throwing from here means that EncryptionSystem_Tags hasn't matched an ordinal. + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + allocationSize(value: TypeName): number { + switch (value.tag) { + case EncryptionSystem_Tags.Unencrypted: { + return ordinalConverter.allocationSize(1); + } + case EncryptionSystem_Tags.PerParticipantKeys: { + return ordinalConverter.allocationSize(2); + } + case EncryptionSystem_Tags.SharedSecret: { + const inner = value.inner; + let size = ordinalConverter.allocationSize(3); + size += FfiConverterString.allocationSize(inner.secret); + return size; + } + default: + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + } + return new FFIConverter(); +})(); + +/** + * Defines how (if) element-call renders a header. + */ +export enum HeaderStyle { + /** + * The normal header with branding. + */ + Standard, + /** + * Render a header with a back button (useful on mobile platforms). + */ + AppBar, + /** + * No Header (useful for webapps). + */ + None, +} + +const FfiConverterTypeHeaderStyle = (() => { + const ordinalConverter = FfiConverterInt32; + type TypeName = HeaderStyle; + class FFIConverter extends AbstractFfiConverterByteArray { + read(from: RustBuffer): TypeName { + switch (ordinalConverter.read(from)) { + case 1: + return HeaderStyle.Standard; + case 2: + return HeaderStyle.AppBar; + case 3: + return HeaderStyle.None; + default: + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + write(value: TypeName, into: RustBuffer): void { + switch (value) { + case HeaderStyle.Standard: + return ordinalConverter.write(1, into); + case HeaderStyle.AppBar: + return ordinalConverter.write(2, into); + case HeaderStyle.None: + return ordinalConverter.write(3, into); + } + } + allocationSize(value: TypeName): number { + return ordinalConverter.allocationSize(0); + } + } + return new FFIConverter(); +})(); + +/** + * Defines the intent of showing the call. + * + * This controls whether to show or skip the lobby. + */ +export enum Intent { + /** + * The user wants to start a call. + */ + StartCall, + /** + * The user wants to join an existing call. + */ + JoinExisting, +} + +const FfiConverterTypeIntent = (() => { + const ordinalConverter = FfiConverterInt32; + type TypeName = Intent; + class FFIConverter extends AbstractFfiConverterByteArray { + read(from: RustBuffer): TypeName { + switch (ordinalConverter.read(from)) { + case 1: + return Intent.StartCall; + case 2: + return Intent.JoinExisting; + default: + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + write(value: TypeName, into: RustBuffer): void { + switch (value) { + case Intent.StartCall: + return ordinalConverter.write(1, into); + case Intent.JoinExisting: + return ordinalConverter.write(2, into); + } + } + allocationSize(value: TypeName): number { + return ordinalConverter.allocationSize(0); + } + } + return new FFIConverter(); +})(); + /** * Current state of a [`Paginator`]. */ @@ -1034,9 +1559,30 @@ const FfiConverterTypeOAuthAuthorizationData = new FfiConverterObject( uniffiTypeOAuthAuthorizationDataObjectFactory ); +// FfiConverter for boolean | undefined +const FfiConverterOptionalBool = new FfiConverterOptional(FfiConverterBool); + +// FfiConverter for /*f64*/number | undefined +const FfiConverterOptionalFloat64 = new FfiConverterOptional( + FfiConverterFloat64 +); + // FfiConverter for /*i64*/bigint | undefined const FfiConverterOptionalInt64 = new FfiConverterOptional(FfiConverterInt64); +// FfiConverter for string | undefined +const FfiConverterOptionalString = new FfiConverterOptional(FfiConverterString); + +// FfiConverter for HeaderStyle | undefined +const FfiConverterOptionalTypeHeaderStyle = new FfiConverterOptional( + FfiConverterTypeHeaderStyle +); + +// FfiConverter for Intent | undefined +const FfiConverterOptionalTypeIntent = new FfiConverterOptional( + FfiConverterTypeIntent +); + /** * This should be called before anything else. * @@ -1073,11 +1619,15 @@ export default Object.freeze({ initialize: uniffiEnsureInitialized, converters: { FfiConverterTypeBackupDownloadStrategy, + FfiConverterTypeEncryptionSystem, + FfiConverterTypeHeaderStyle, + FfiConverterTypeIntent, FfiConverterTypeOAuthAuthorizationData, FfiConverterTypePaginatorState, FfiConverterTypeQRCodeLoginError, FfiConverterTypeRoomMemberRole, FfiConverterTypeRoomPaginationStatus, FfiConverterTypeRoomPowerLevelChanges, + FfiConverterTypeVirtualElementCallWidgetOptions, }, }); diff --git a/src/generated/matrix_sdk_common.ts b/src/generated/matrix_sdk_common.ts index c2d75a2..2fd375c 100644 --- a/src/generated/matrix_sdk_common.ts +++ b/src/generated/matrix_sdk_common.ts @@ -104,6 +104,11 @@ export enum ShieldStateCode { * The sender was previously verified but changed their identity. */ VerificationViolation, + /** + * The `sender` field on the event does not match the owner of the device + * that established the Megolm session. + */ + MismatchedSender, } const FfiConverterTypeShieldStateCode = (() => { @@ -124,6 +129,8 @@ const FfiConverterTypeShieldStateCode = (() => { return ShieldStateCode.SentInClear; case 6: return ShieldStateCode.VerificationViolation; + case 7: + return ShieldStateCode.MismatchedSender; default: throw new UniffiInternalError.UnexpectedEnumCase(); } @@ -142,6 +149,8 @@ const FfiConverterTypeShieldStateCode = (() => { return ordinalConverter.write(5, into); case ShieldStateCode.VerificationViolation: return ordinalConverter.write(6, into); + case ShieldStateCode.MismatchedSender: + return ordinalConverter.write(7, into); } } allocationSize(value: TypeName): number { diff --git a/src/generated/matrix_sdk_ffi-ffi.ts b/src/generated/matrix_sdk_ffi-ffi.ts index e5d3b30..6a0d62a 100644 --- a/src/generated/matrix_sdk_ffi-ffi.ts +++ b/src/generated/matrix_sdk_ffi-ffi.ts @@ -58,7 +58,10 @@ interface NativeModuleInterface { ptr: bigint, uniffi_out_err: UniffiRustCallStatus ): number; - ubrn_uniffi_matrix_sdk_ffi_fn_method_client_clear_caches(ptr: bigint): bigint; + ubrn_uniffi_matrix_sdk_ffi_fn_method_client_clear_caches( + ptr: bigint, + syncService: Uint8Array + ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_client_create_room( ptr: bigint, request: Uint8Array @@ -171,6 +174,9 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_fn_method_client_ignored_users( ptr: bigint ): bigint; + ubrn_uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported( + ptr: bigint + ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_client_is_report_room_api_supported( ptr: bigint ): bigint; @@ -232,7 +238,7 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_fn_method_client_remove_avatar( ptr: bigint ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities( + ubrn_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info( ptr: bigint ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_client_resolve_room_alias( @@ -420,6 +426,11 @@ interface NativeModuleInterface { holderName: Uint8Array, uniffi_out_err: UniffiRustCallStatus ): bigint; + ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings( + ptr: bigint, + decryptionSettings: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_disable_automatic_token_refresh( ptr: bigint, uniffi_out_err: UniffiRustCallStatus @@ -456,11 +467,6 @@ interface NativeModuleInterface { config: Uint8Array, uniffi_out_err: UniffiRustCallStatus ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement( - ptr: bigint, - trustRequirement: Uint8Array, - uniffi_out_err: UniffiRustCallStatus - ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_key_recipient_strategy( ptr: bigint, strategy: Uint8Array, @@ -516,6 +522,11 @@ interface NativeModuleInterface { ptr: bigint, uniffi_out_err: UniffiRustCallStatus ): bigint; + ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled( + ptr: bigint, + enabled: number, + uniffi_out_err: UniffiRustCallStatus + ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_user_agent( ptr: bigint, userAgent: Uint8Array, @@ -929,50 +940,13 @@ interface NativeModuleInterface { userId: Uint8Array, reason: Uint8Array ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban( - ptr: bigint, - userId: Uint8Array - ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite( - ptr: bigint, - userId: Uint8Array - ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick( - ptr: bigint, - userId: Uint8Array - ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin( - ptr: bigint, - userId: Uint8Array - ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other( - ptr: bigint, - userId: Uint8Array - ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own( - ptr: bigint, - userId: Uint8Array - ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( - ptr: bigint, - userId: Uint8Array, - message: Uint8Array - ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - ptr: bigint, - userId: Uint8Array, - stateEvent: Uint8Array - ): bigint; - ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - ptr: bigint, - userId: Uint8Array - ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias( ptr: bigint, uniffi_out_err: UniffiRustCallStatus ): Uint8Array; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft( - ptr: bigint + ptr: bigint, + threadRoot: Uint8Array ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_clear_event_cache_storage( ptr: bigint @@ -1043,7 +1017,7 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_fn_method_room_is_public( ptr: bigint, uniffi_out_err: UniffiRustCallStatus - ): number; + ): Uint8Array; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_is_send_queue_enabled( ptr: bigint, uniffi_out_err: UniffiRustCallStatus @@ -1068,7 +1042,8 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_fn_method_room_latest_event(ptr: bigint): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_leave(ptr: bigint): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft( - ptr: bigint + ptr: bigint, + threadRoot: Uint8Array ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_mark_as_read( ptr: bigint, @@ -1154,7 +1129,8 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_fn_method_room_room_info(ptr: bigint): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft( ptr: bigint, - draft: Uint8Array + draft: Uint8Array, + threadRoot: Uint8Array ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_room_send_call_notification( ptr: bigint, @@ -1396,9 +1372,8 @@ interface NativeModuleInterface { ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( ptr: bigint, - roomIds: Uint8Array, - uniffi_out_err: UniffiRustCallStatus - ): void; + roomIds: Uint8Array + ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_roomlistservice_sync_indicator( ptr: bigint, delayBeforeShowingInMs: number, @@ -1436,6 +1411,107 @@ interface NativeModuleInterface { mentions: Uint8Array, uniffi_out_err: UniffiRustCallStatus ): bigint; + ubrn_uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): bigint; + ubrn_uniffi_matrix_sdk_ffi_fn_free_roompowerlevels( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): void; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message( + ptr: bigint, + message: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state( + ptr: bigint, + stateEvent: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban( + ptr: bigint, + userId: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite( + ptr: bigint, + userId: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick( + ptr: bigint, + userId: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin( + ptr: bigint, + userId: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other( + ptr: bigint, + userId: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own( + ptr: bigint, + userId: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message( + ptr: bigint, + userId: Uint8Array, + message: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state( + ptr: bigint, + userId: Uint8Array, + stateEvent: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification( + ptr: bigint, + userId: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): number; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): Uint8Array; + ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): Uint8Array; ubrn_uniffi_matrix_sdk_ffi_fn_clone_roompreview( ptr: bigint, uniffi_out_err: UniffiRustCallStatus @@ -1637,6 +1713,11 @@ interface NativeModuleInterface { ptr: bigint, uniffi_out_err: UniffiRustCallStatus ): bigint; + ubrn_uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos( + ptr: bigint, + enable: number, + uniffi_out_err: UniffiRustCallStatus + ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_clone_taskhandle( ptr: bigint, uniffi_out_err: UniffiRustCallStatus @@ -1665,6 +1746,10 @@ interface NativeModuleInterface { ptr: bigint, uniffi_out_err: UniffiRustCallStatus ): Uint8Array; + ubrn_uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies( + ptr: bigint, + uniffi_out_err: UniffiRustCallStatus + ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_clone_timeline( ptr: bigint, uniffi_out_err: UniffiRustCallStatus @@ -1778,7 +1863,8 @@ interface NativeModuleInterface { geoUri: Uint8Array, description: Uint8Array, zoomLevel: Uint8Array, - assetType: Uint8Array + assetType: Uint8Array, + replyParams: Uint8Array ): bigint; ubrn_uniffi_matrix_sdk_ffi_fn_method_timeline_send_poll_response( ptr: bigint, @@ -2111,10 +2197,6 @@ interface NativeModuleInterface { mentions: Uint8Array, uniffi_out_err: UniffiRustCallStatus ): Uint8Array; - ubrn_uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging( - enabled: number, - uniffi_out_err: UniffiRustCallStatus - ): void; ubrn_uniffi_matrix_sdk_ffi_fn_func_gen_transaction_id( uniffi_out_err: UniffiRustCallStatus ): Uint8Array; @@ -2145,10 +2227,6 @@ interface NativeModuleInterface { message: Uint8Array, uniffi_out_err: UniffiRustCallStatus ): void; - ubrn_uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - string: Uint8Array, - uniffi_out_err: UniffiRustCallStatus - ): Uint8Array; ubrn_uniffi_matrix_sdk_ffi_fn_func_make_widget_driver( settings: Uint8Array, uniffi_out_err: UniffiRustCallStatus @@ -2191,6 +2269,10 @@ interface NativeModuleInterface { uri: Uint8Array, uniffi_out_err: UniffiRustCallStatus ): Uint8Array; + ubrn_uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + configuration: Uint8Array, + uniffi_out_err: UniffiRustCallStatus + ): void; ubrn_uniffi_matrix_sdk_ffi_fn_func_room_alias_name_from_room_display_name( roomName: Uint8Array, uniffi_out_err: UniffiRustCallStatus @@ -2351,14 +2433,12 @@ interface NativeModuleInterface { ): void; ubrn_uniffi_matrix_sdk_ffi_checksum_func_content_without_relation_from_message(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_generate_webview_url(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_get_element_call_required_permissions(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_init_platform(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_is_room_alias_format_valid(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_log_event(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_matrix_to_room_alias_permalink(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_matrix_to_user_permalink(): number; @@ -2369,6 +2449,7 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_func_message_event_content_new(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_display_name(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_sdk_git_sha(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_func_suggested_power_level_for_role(): number; @@ -2410,6 +2491,7 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_homeserver_login_details(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_ignore_user(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_ignored_users(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_supported(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_is_room_alias_available(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_join_room_by_id(): number; @@ -2423,7 +2505,7 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_observe_account_data_event(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_observe_room_account_data_event(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_remove_avatar(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_resolve_room_alias(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_restore_session(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_restore_session_with(): number; @@ -2462,6 +2544,7 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_build(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_build_with_qr_code(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_cross_process_store_locks_holder_name(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_automatic_token_refresh(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_built_in_root_certificates(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_ssl_verification(): number; @@ -2470,7 +2553,6 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_homeserver_url(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_proxy(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_request_config(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_recipient_strategy(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_server_name(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_server_name_or_homeserver_url(): number; @@ -2482,6 +2564,7 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_set_session_delegate(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_sliding_sync_version_builder(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_system_is_memory_constrained(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_username(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_encryption_backup_exists_on_server(): number; @@ -2557,15 +2640,6 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_apply_power_level_changes(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_avatar_url(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_ban_user(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state(): number; - ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_clear_event_cache_storage(): number; @@ -2673,6 +2747,26 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_method_roommembersiterator_len(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_roommembersiterator_next_chunk(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_roommessageeventcontentwithoutrelation_with_mentions(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompreview_info(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompreview_inviter(): number; @@ -2707,9 +2801,11 @@ interface NativeModuleInterface { ubrn_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_finish(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_cross_process_lock(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_offline_mode(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_taskhandle_is_finished(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_latest_event(): number; + ubrn_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_timeline_create_message_content(): number; ubrn_uniffi_matrix_sdk_ffi_checksum_method_timeline_create_poll(): number; @@ -2899,6 +2995,10 @@ interface NativeModuleInterface { pointer: bigint, uniffi_out_err: UniffiRustCallStatus ): UniffiRustArcPtr; + ubrn_uniffi_internal_fn_method_roompowerlevels_ffi__bless_pointer( + pointer: bigint, + uniffi_out_err: UniffiRustCallStatus + ): UniffiRustArcPtr; ubrn_uniffi_internal_fn_method_roompreview_ffi__bless_pointer( pointer: bigint, uniffi_out_err: UniffiRustCallStatus diff --git a/src/generated/matrix_sdk_ffi.ts b/src/generated/matrix_sdk_ffi.ts index 62cad7b..6d0bbfe 100644 --- a/src/generated/matrix_sdk_ffi.ts +++ b/src/generated/matrix_sdk_ffi.ts @@ -64,6 +64,7 @@ import nativeModule, { import { type OAuthAuthorizationDataInterface, type RoomPowerLevelChanges, + type VirtualElementCallWidgetOptions, BackupDownloadStrategy, RoomMemberRole, RoomPaginationStatus, @@ -71,9 +72,9 @@ import { import { type MediaRetentionPolicy, EncryptionState } from './matrix_sdk_base'; import { ShieldStateCode } from './matrix_sdk_common'; import { + type DecryptionSettings, CollectStrategy, IdentityState, - TrustRequirement, UtdCause, } from './matrix_sdk_crypto'; import { EventItemOrigin, RoomPinnedEventsChange } from './matrix_sdk_ui'; @@ -133,6 +134,7 @@ const { FfiConverterTypeRoomMemberRole, FfiConverterTypeRoomPaginationStatus, FfiConverterTypeRoomPowerLevelChanges, + FfiConverterTypeVirtualElementCallWidgetOptions, } = uniffiMatrixSdkModule.converters; const { FfiConverterTypeEncryptionState, @@ -142,8 +144,8 @@ const { FfiConverterTypeShieldStateCode } = uniffiMatrixSdkCommonModule.converters; const { FfiConverterTypeCollectStrategy, + FfiConverterTypeDecryptionSettings, FfiConverterTypeIdentityState, - FfiConverterTypeTrustRequirement, FfiConverterTypeUtdCause, } = uniffiMatrixSdkCryptoModule.converters; const { @@ -207,21 +209,6 @@ export function createCaptionEdit( ) ); } -/** - * Set the global enablement level for the Sentry layer (after the logs have - * been set up). - */ -export function enableSentryLogging(enabled: boolean): void { - uniffiCaller.rustCall( - /*caller:*/ (callStatus) => { - nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging( - FfiConverterBool.lower(enabled), - callStatus - ); - }, - /*liftString:*/ FfiConverterString.lift - ); -} export function genTransactionId(): string { return FfiConverterString.lift( uniffiCaller.rustCall( @@ -364,7 +351,7 @@ export function isRoomAliasFormatValid(alias: string): boolean { * Log an event. * * The target should be something like a module path, and can be referenced in - * the filter string given to `setup_tracing`. `level` and `target` for a + * the filter string given to `init_platform`. `level` and `target` for a * callsite are fixed at the first `log_event` call for that callsite and can * not be changed afterwards, i.e. the level and target passed for second and * following `log_event`s with the same callsite will be ignored. @@ -395,27 +382,6 @@ export function logEvent( /*liftString:*/ FfiConverterString.lift ); } -/** - * Helper function to parse a string into a ElementWellKnown struct - */ -export function makeElementWellKnown( - string: string -): ElementWellKnown /*throws*/ { - return FfiConverterTypeElementWellKnown.lift( - uniffiCaller.rustCallWithError( - /*liftError:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ), - /*caller:*/ (callStatus) => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - FfiConverterString.lower(string), - callStatus - ); - }, - /*liftString:*/ FfiConverterString.lift - ) - ); -} export function makeWidgetDriver( settings: WidgetSettings ): WidgetDriverAndHandle /*throws*/ { @@ -606,6 +572,29 @@ export function parseMatrixEntityFrom(uri: string): MatrixEntity | undefined { ) ); } +/** + * Updates the tracing subscriber with a new file writer based on the provided + * configuration. + * + * This method will throw if `init_platform` hasn't been called, or if it was + * called with `write_to_files` set to `None`. + */ +export function reloadTracingFileWriter( + configuration: TracingFileConfiguration +): void /*throws*/ { + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + FfiConverterTypeTracingFileConfiguration.lower(configuration), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ); +} /** * Transforms a Room's display name into a valid room alias name. */ @@ -2952,125 +2941,6 @@ const FfiConverterTypeCreateRoomParameters = (() => { return new FFIConverter(); })(); -/** - * Well-known settings specific to ElementCall - */ -export type ElementCallWellKnown = { - widgetUrl: string; -}; - -/** - * Generated factory for {@link ElementCallWellKnown} record objects. - */ -export const ElementCallWellKnown = (() => { - const defaults = () => ({}); - const create = (() => { - return uniffiCreateRecord< - ElementCallWellKnown, - ReturnType - >(defaults); - })(); - return Object.freeze({ - /** - * Create a frozen instance of {@link ElementCallWellKnown}, with defaults specified - * in Rust, in the {@link matrix_sdk_ffi} crate. - */ - create, - - /** - * Create a frozen instance of {@link ElementCallWellKnown}, with defaults specified - * in Rust, in the {@link matrix_sdk_ffi} crate. - */ - new: create, - - /** - * Defaults specified in the {@link matrix_sdk_ffi} crate. - */ - defaults: () => Object.freeze(defaults()) as Partial, - }); -})(); - -const FfiConverterTypeElementCallWellKnown = (() => { - type TypeName = ElementCallWellKnown; - class FFIConverter extends AbstractFfiConverterByteArray { - read(from: RustBuffer): TypeName { - return { - widgetUrl: FfiConverterString.read(from), - }; - } - write(value: TypeName, into: RustBuffer): void { - FfiConverterString.write(value.widgetUrl, into); - } - allocationSize(value: TypeName): number { - return FfiConverterString.allocationSize(value.widgetUrl); - } - } - return new FFIConverter(); -})(); - -/** - * Element specific well-known settings - */ -export type ElementWellKnown = { - call: ElementCallWellKnown | undefined; - registrationHelperUrl: string | undefined; -}; - -/** - * Generated factory for {@link ElementWellKnown} record objects. - */ -export const ElementWellKnown = (() => { - const defaults = () => ({}); - const create = (() => { - return uniffiCreateRecord>( - defaults - ); - })(); - return Object.freeze({ - /** - * Create a frozen instance of {@link ElementWellKnown}, with defaults specified - * in Rust, in the {@link matrix_sdk_ffi} crate. - */ - create, - - /** - * Create a frozen instance of {@link ElementWellKnown}, with defaults specified - * in Rust, in the {@link matrix_sdk_ffi} crate. - */ - new: create, - - /** - * Defaults specified in the {@link matrix_sdk_ffi} crate. - */ - defaults: () => Object.freeze(defaults()) as Partial, - }); -})(); - -const FfiConverterTypeElementWellKnown = (() => { - type TypeName = ElementWellKnown; - class FFIConverter extends AbstractFfiConverterByteArray { - read(from: RustBuffer): TypeName { - return { - call: FfiConverterOptionalTypeElementCallWellKnown.read(from), - registrationHelperUrl: FfiConverterOptionalString.read(from), - }; - } - write(value: TypeName, into: RustBuffer): void { - FfiConverterOptionalTypeElementCallWellKnown.write(value.call, into); - FfiConverterOptionalString.write(value.registrationHelperUrl, into); - } - allocationSize(value: TypeName): number { - return ( - FfiConverterOptionalTypeElementCallWellKnown.allocationSize( - value.call - ) + - FfiConverterOptionalString.allocationSize(value.registrationHelperUrl) - ); - } - } - return new FFIConverter(); -})(); - export type EmoteMessageContent = { body: string; formatted: FormattedBody | undefined; @@ -4983,11 +4853,11 @@ export type NotificationRoomInfo = { displayName: string; avatarUrl: string | undefined; canonicalAlias: string | undefined; + topic: string | undefined; joinRule: JoinRule | undefined; joinedMembersCount: /*u64*/ bigint; isEncrypted: boolean | undefined; isDirect: boolean; - isPublic: boolean; }; /** @@ -5029,33 +4899,33 @@ const FfiConverterTypeNotificationRoomInfo = (() => { displayName: FfiConverterString.read(from), avatarUrl: FfiConverterOptionalString.read(from), canonicalAlias: FfiConverterOptionalString.read(from), + topic: FfiConverterOptionalString.read(from), joinRule: FfiConverterOptionalTypeJoinRule.read(from), joinedMembersCount: FfiConverterUInt64.read(from), isEncrypted: FfiConverterOptionalBool.read(from), isDirect: FfiConverterBool.read(from), - isPublic: FfiConverterBool.read(from), }; } write(value: TypeName, into: RustBuffer): void { FfiConverterString.write(value.displayName, into); FfiConverterOptionalString.write(value.avatarUrl, into); FfiConverterOptionalString.write(value.canonicalAlias, into); + FfiConverterOptionalString.write(value.topic, into); FfiConverterOptionalTypeJoinRule.write(value.joinRule, into); FfiConverterUInt64.write(value.joinedMembersCount, into); FfiConverterOptionalBool.write(value.isEncrypted, into); FfiConverterBool.write(value.isDirect, into); - FfiConverterBool.write(value.isPublic, into); } allocationSize(value: TypeName): number { return ( FfiConverterString.allocationSize(value.displayName) + FfiConverterOptionalString.allocationSize(value.avatarUrl) + FfiConverterOptionalString.allocationSize(value.canonicalAlias) + + FfiConverterOptionalString.allocationSize(value.topic) + FfiConverterOptionalTypeJoinRule.allocationSize(value.joinRule) + FfiConverterUInt64.allocationSize(value.joinedMembersCount) + FfiConverterOptionalBool.allocationSize(value.isEncrypted) + - FfiConverterBool.allocationSize(value.isDirect) + - FfiConverterBool.allocationSize(value.isPublic) + FfiConverterBool.allocationSize(value.isDirect) ); } } @@ -6424,7 +6294,13 @@ export type RoomInfo = { topic: string | undefined; avatarUrl: string | undefined; isDirect: boolean; - isPublic: boolean; + /** + * Whether the room is public or not, based on the join rules. + * + * Can be `None` if the join rules state event is not available for this + * room. + */ + isPublic: boolean | undefined; isSpace: boolean; /** * If present, it means the room has been archived/upgraded. @@ -6446,7 +6322,6 @@ export type RoomInfo = { activeMembersCount: /*u64*/ bigint; invitedMembersCount: /*u64*/ bigint; joinedMembersCount: /*u64*/ bigint; - userPowerLevels: Map; highlightCount: /*u64*/ bigint; notificationCount: /*u64*/ bigint; cachedUserDefinedNotificationMode: RoomNotificationMode | undefined; @@ -6483,6 +6358,12 @@ export type RoomInfo = { * The history visibility for this room, if known. */ historyVisibility: RoomHistoryVisibility; + /** + * This room's current power levels. + * + * Can be missing if the room power levels event is missing from the store. + */ + powerLevels: RoomPowerLevelsInterface | undefined; }; /** @@ -6526,7 +6407,7 @@ const FfiConverterTypeRoomInfo = (() => { topic: FfiConverterOptionalString.read(from), avatarUrl: FfiConverterOptionalString.read(from), isDirect: FfiConverterBool.read(from), - isPublic: FfiConverterBool.read(from), + isPublic: FfiConverterOptionalBool.read(from), isSpace: FfiConverterBool.read(from), successorRoom: FfiConverterOptionalTypeSuccessorRoom.read(from), isFavourite: FfiConverterBool.read(from), @@ -6538,7 +6419,6 @@ const FfiConverterTypeRoomInfo = (() => { activeMembersCount: FfiConverterUInt64.read(from), invitedMembersCount: FfiConverterUInt64.read(from), joinedMembersCount: FfiConverterUInt64.read(from), - userPowerLevels: FfiConverterMapStringInt64.read(from), highlightCount: FfiConverterUInt64.read(from), notificationCount: FfiConverterUInt64.read(from), cachedUserDefinedNotificationMode: @@ -6552,6 +6432,7 @@ const FfiConverterTypeRoomInfo = (() => { pinnedEventIds: FfiConverterArrayString.read(from), joinRule: FfiConverterOptionalTypeJoinRule.read(from), historyVisibility: FfiConverterTypeRoomHistoryVisibility.read(from), + powerLevels: FfiConverterOptionalTypeRoomPowerLevels.read(from), }; } write(value: TypeName, into: RustBuffer): void { @@ -6563,7 +6444,7 @@ const FfiConverterTypeRoomInfo = (() => { FfiConverterOptionalString.write(value.topic, into); FfiConverterOptionalString.write(value.avatarUrl, into); FfiConverterBool.write(value.isDirect, into); - FfiConverterBool.write(value.isPublic, into); + FfiConverterOptionalBool.write(value.isPublic, into); FfiConverterBool.write(value.isSpace, into); FfiConverterOptionalTypeSuccessorRoom.write(value.successorRoom, into); FfiConverterBool.write(value.isFavourite, into); @@ -6575,7 +6456,6 @@ const FfiConverterTypeRoomInfo = (() => { FfiConverterUInt64.write(value.activeMembersCount, into); FfiConverterUInt64.write(value.invitedMembersCount, into); FfiConverterUInt64.write(value.joinedMembersCount, into); - FfiConverterMapStringInt64.write(value.userPowerLevels, into); FfiConverterUInt64.write(value.highlightCount, into); FfiConverterUInt64.write(value.notificationCount, into); FfiConverterOptionalTypeRoomNotificationMode.write( @@ -6594,6 +6474,7 @@ const FfiConverterTypeRoomInfo = (() => { value.historyVisibility, into ); + FfiConverterOptionalTypeRoomPowerLevels.write(value.powerLevels, into); } allocationSize(value: TypeName): number { return ( @@ -6605,7 +6486,7 @@ const FfiConverterTypeRoomInfo = (() => { FfiConverterOptionalString.allocationSize(value.topic) + FfiConverterOptionalString.allocationSize(value.avatarUrl) + FfiConverterBool.allocationSize(value.isDirect) + - FfiConverterBool.allocationSize(value.isPublic) + + FfiConverterOptionalBool.allocationSize(value.isPublic) + FfiConverterBool.allocationSize(value.isSpace) + FfiConverterOptionalTypeSuccessorRoom.allocationSize( value.successorRoom @@ -6619,7 +6500,6 @@ const FfiConverterTypeRoomInfo = (() => { FfiConverterUInt64.allocationSize(value.activeMembersCount) + FfiConverterUInt64.allocationSize(value.invitedMembersCount) + FfiConverterUInt64.allocationSize(value.joinedMembersCount) + - FfiConverterMapStringInt64.allocationSize(value.userPowerLevels) + FfiConverterUInt64.allocationSize(value.highlightCount) + FfiConverterUInt64.allocationSize(value.notificationCount) + FfiConverterOptionalTypeRoomNotificationMode.allocationSize( @@ -6637,6 +6517,9 @@ const FfiConverterTypeRoomInfo = (() => { FfiConverterOptionalTypeJoinRule.allocationSize(value.joinRule) + FfiConverterTypeRoomHistoryVisibility.allocationSize( value.historyVisibility + ) + + FfiConverterOptionalTypeRoomPowerLevels.allocationSize( + value.powerLevels ) ); } @@ -6939,7 +6822,11 @@ const FfiConverterTypeRoomNotificationSettings = (() => { return new FFIConverter(); })(); -export type RoomPowerLevels = { +/** + * This intermediary struct is used to expose the power levels values through + * FFI and work around it not exposing public exported object fields. + */ +export type RoomPowerLevelsValues = { /** * The level required to ban a user. */ @@ -6983,24 +6870,25 @@ export type RoomPowerLevels = { }; /** - * Generated factory for {@link RoomPowerLevels} record objects. + * Generated factory for {@link RoomPowerLevelsValues} record objects. */ -export const RoomPowerLevels = (() => { +export const RoomPowerLevelsValues = (() => { const defaults = () => ({}); const create = (() => { - return uniffiCreateRecord>( - defaults - ); + return uniffiCreateRecord< + RoomPowerLevelsValues, + ReturnType + >(defaults); })(); return Object.freeze({ /** - * Create a frozen instance of {@link RoomPowerLevels}, with defaults specified + * Create a frozen instance of {@link RoomPowerLevelsValues}, with defaults specified * in Rust, in the {@link matrix_sdk_ffi} crate. */ create, /** - * Create a frozen instance of {@link RoomPowerLevels}, with defaults specified + * Create a frozen instance of {@link RoomPowerLevelsValues}, with defaults specified * in Rust, in the {@link matrix_sdk_ffi} crate. */ new: create, @@ -7008,12 +6896,12 @@ export const RoomPowerLevels = (() => { /** * Defaults specified in the {@link matrix_sdk_ffi} crate. */ - defaults: () => Object.freeze(defaults()) as Partial, + defaults: () => Object.freeze(defaults()) as Partial, }); })(); -const FfiConverterTypeRoomPowerLevels = (() => { - type TypeName = RoomPowerLevels; +const FfiConverterTypeRoomPowerLevelsValues = (() => { + type TypeName = RoomPowerLevelsValues; class FFIConverter extends AbstractFfiConverterByteArray { read(from: RustBuffer): TypeName { return { @@ -7106,7 +6994,7 @@ export type RoomPreviewInfo = { /** * The join rule for this room (private, public, knock, etc.). */ - joinRule: JoinRule; + joinRule: JoinRule | undefined; /** * Whether the room is direct or not, if known. */ @@ -7162,7 +7050,7 @@ const FfiConverterTypeRoomPreviewInfo = (() => { roomType: FfiConverterTypeRoomType.read(from), isHistoryWorldReadable: FfiConverterOptionalBool.read(from), membership: FfiConverterOptionalTypeMembership.read(from), - joinRule: FfiConverterTypeJoinRule.read(from), + joinRule: FfiConverterOptionalTypeJoinRule.read(from), isDirect: FfiConverterOptionalBool.read(from), heroes: FfiConverterOptionalArrayTypeRoomHero.read(from), }; @@ -7178,7 +7066,7 @@ const FfiConverterTypeRoomPreviewInfo = (() => { FfiConverterTypeRoomType.write(value.roomType, into); FfiConverterOptionalBool.write(value.isHistoryWorldReadable, into); FfiConverterOptionalTypeMembership.write(value.membership, into); - FfiConverterTypeJoinRule.write(value.joinRule, into); + FfiConverterOptionalTypeJoinRule.write(value.joinRule, into); FfiConverterOptionalBool.write(value.isDirect, into); FfiConverterOptionalArrayTypeRoomHero.write(value.heroes, into); } @@ -7194,7 +7082,7 @@ const FfiConverterTypeRoomPreviewInfo = (() => { FfiConverterTypeRoomType.allocationSize(value.roomType) + FfiConverterOptionalBool.allocationSize(value.isHistoryWorldReadable) + FfiConverterOptionalTypeMembership.allocationSize(value.membership) + - FfiConverterTypeJoinRule.allocationSize(value.joinRule) + + FfiConverterOptionalTypeJoinRule.allocationSize(value.joinRule) + FfiConverterOptionalBool.allocationSize(value.isDirect) + FfiConverterOptionalArrayTypeRoomHero.allocationSize(value.heroes) ); @@ -8181,10 +8069,6 @@ export type TracingConfiguration = { * If set, configures rotated log files where to write additional logs. */ writeToFiles: TracingFileConfiguration | undefined; - /** - * If set, the Sentry DSN to use for error reporting. - */ - sentryDsn: string | undefined; }; /** @@ -8229,7 +8113,6 @@ const FfiConverterTypeTracingConfiguration = (() => { writeToStdoutOrSystem: FfiConverterBool.read(from), writeToFiles: FfiConverterOptionalTypeTracingFileConfiguration.read(from), - sentryDsn: FfiConverterOptionalString.read(from), }; } write(value: TypeName, into: RustBuffer): void { @@ -8241,7 +8124,6 @@ const FfiConverterTypeTracingConfiguration = (() => { value.writeToFiles, into ); - FfiConverterOptionalString.write(value.sentryDsn, into); } allocationSize(value: TypeName): number { return ( @@ -8251,8 +8133,7 @@ const FfiConverterTypeTracingConfiguration = (() => { FfiConverterBool.allocationSize(value.writeToStdoutOrSystem) + FfiConverterOptionalTypeTracingFileConfiguration.allocationSize( value.writeToFiles - ) + - FfiConverterOptionalString.allocationSize(value.sentryDsn) + ) ); } } @@ -9062,230 +8943,6 @@ const FfiConverterTypeVideoMessageContent = (() => { return new FFIConverter(); })(); -/** - * Properties to create a new virtual Element Call widget. - */ -export type VirtualElementCallWidgetOptions = { - /** - * The url to the Element Call app including any `/room` path if required. - * - * E.g. , , - */ - elementCallUrl: string; - /** - * The widget id. - */ - widgetId: string; - /** - * The url that is used as the target for the PostMessages sent - * by the widget (to the client). - * - * For a web app client this is the client url. In case of using other - * platforms the client most likely is setup up to listen to - * postmessages in the same webview the widget is hosted. In this case - * the `parent_url` is set to the url of the webview with the widget. Be - * aware that this means that the widget will receive its own postmessage - * messages. The `matrix-widget-api` (js) ignores those so this works but - * it might break custom implementations. - * - * Defaults to `element_call_url` for the non-iframe (dedicated webview) - * usecase. - */ - parentUrl: string | undefined; - /** - * Whether the branding header of Element call should be hidden. - * - * Default: `true` - */ - hideHeader: boolean | undefined; - /** - * If set, the lobby will be skipped and the widget will join the - * call on the `io.element.join` action. - * - * Default: `false` - */ - preload: boolean | undefined; - /** - * The font scale which will be used inside element call. - * - * Default: `1` - */ - fontScale: /*f64*/ number | undefined; - /** - * Whether element call should prompt the user to open in the browser or - * the app. - * - * Default: `false` - */ - appPrompt: boolean | undefined; - /** - * Make it not possible to get to the calls list in the webview. - * - * Default: `true` - */ - confineToRoom: boolean | undefined; - /** - * The font to use, to adapt to the system font. - */ - font: string | undefined; - /** - * The encryption system to use. - * - * Use `EncryptionSystem::Unencrypted` to disable encryption. - */ - encryption: EncryptionSystem; - /** - * The intent of showing the call. - * If the user wants to start a call or join an existing one. - * Controls if the lobby is skipped or not. - */ - intent: Intent | undefined; - /** - * Do not show the screenshare button. - */ - hideScreensharing: boolean; - /** - * Can be used to pass a PostHog id to element call. - */ - posthogUserId: string | undefined; - /** - * The host of the posthog api. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - posthogApiHost: string | undefined; - /** - * The key for the posthog api. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - posthogApiKey: string | undefined; - /** - * The url to use for submitting rageshakes. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - rageshakeSubmitUrl: string | undefined; - /** - * Sentry [DSN](https://docs.sentry.io/concepts/key-terms/dsn-explainer/) - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - sentryDsn: string | undefined; - /** - * Sentry [environment](https://docs.sentry.io/concepts/key-terms/key-terms/) - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - sentryEnvironment: string | undefined; - /** - * - `false`: the webview shows a a list of devices injected by the - * client. (used on ios & android) - */ - controlledMediaDevices: boolean; -}; - -/** - * Generated factory for {@link VirtualElementCallWidgetOptions} record objects. - */ -export const VirtualElementCallWidgetOptions = (() => { - const defaults = () => ({}); - const create = (() => { - return uniffiCreateRecord< - VirtualElementCallWidgetOptions, - ReturnType - >(defaults); - })(); - return Object.freeze({ - /** - * Create a frozen instance of {@link VirtualElementCallWidgetOptions}, with defaults specified - * in Rust, in the {@link matrix_sdk_ffi} crate. - */ - create, - - /** - * Create a frozen instance of {@link VirtualElementCallWidgetOptions}, with defaults specified - * in Rust, in the {@link matrix_sdk_ffi} crate. - */ - new: create, - - /** - * Defaults specified in the {@link matrix_sdk_ffi} crate. - */ - defaults: () => - Object.freeze(defaults()) as Partial, - }); -})(); - -const FfiConverterTypeVirtualElementCallWidgetOptions = (() => { - type TypeName = VirtualElementCallWidgetOptions; - class FFIConverter extends AbstractFfiConverterByteArray { - read(from: RustBuffer): TypeName { - return { - elementCallUrl: FfiConverterString.read(from), - widgetId: FfiConverterString.read(from), - parentUrl: FfiConverterOptionalString.read(from), - hideHeader: FfiConverterOptionalBool.read(from), - preload: FfiConverterOptionalBool.read(from), - fontScale: FfiConverterOptionalFloat64.read(from), - appPrompt: FfiConverterOptionalBool.read(from), - confineToRoom: FfiConverterOptionalBool.read(from), - font: FfiConverterOptionalString.read(from), - encryption: FfiConverterTypeEncryptionSystem.read(from), - intent: FfiConverterOptionalTypeIntent.read(from), - hideScreensharing: FfiConverterBool.read(from), - posthogUserId: FfiConverterOptionalString.read(from), - posthogApiHost: FfiConverterOptionalString.read(from), - posthogApiKey: FfiConverterOptionalString.read(from), - rageshakeSubmitUrl: FfiConverterOptionalString.read(from), - sentryDsn: FfiConverterOptionalString.read(from), - sentryEnvironment: FfiConverterOptionalString.read(from), - controlledMediaDevices: FfiConverterBool.read(from), - }; - } - write(value: TypeName, into: RustBuffer): void { - FfiConverterString.write(value.elementCallUrl, into); - FfiConverterString.write(value.widgetId, into); - FfiConverterOptionalString.write(value.parentUrl, into); - FfiConverterOptionalBool.write(value.hideHeader, into); - FfiConverterOptionalBool.write(value.preload, into); - FfiConverterOptionalFloat64.write(value.fontScale, into); - FfiConverterOptionalBool.write(value.appPrompt, into); - FfiConverterOptionalBool.write(value.confineToRoom, into); - FfiConverterOptionalString.write(value.font, into); - FfiConverterTypeEncryptionSystem.write(value.encryption, into); - FfiConverterOptionalTypeIntent.write(value.intent, into); - FfiConverterBool.write(value.hideScreensharing, into); - FfiConverterOptionalString.write(value.posthogUserId, into); - FfiConverterOptionalString.write(value.posthogApiHost, into); - FfiConverterOptionalString.write(value.posthogApiKey, into); - FfiConverterOptionalString.write(value.rageshakeSubmitUrl, into); - FfiConverterOptionalString.write(value.sentryDsn, into); - FfiConverterOptionalString.write(value.sentryEnvironment, into); - FfiConverterBool.write(value.controlledMediaDevices, into); - } - allocationSize(value: TypeName): number { - return ( - FfiConverterString.allocationSize(value.elementCallUrl) + - FfiConverterString.allocationSize(value.widgetId) + - FfiConverterOptionalString.allocationSize(value.parentUrl) + - FfiConverterOptionalBool.allocationSize(value.hideHeader) + - FfiConverterOptionalBool.allocationSize(value.preload) + - FfiConverterOptionalFloat64.allocationSize(value.fontScale) + - FfiConverterOptionalBool.allocationSize(value.appPrompt) + - FfiConverterOptionalBool.allocationSize(value.confineToRoom) + - FfiConverterOptionalString.allocationSize(value.font) + - FfiConverterTypeEncryptionSystem.allocationSize(value.encryption) + - FfiConverterOptionalTypeIntent.allocationSize(value.intent) + - FfiConverterBool.allocationSize(value.hideScreensharing) + - FfiConverterOptionalString.allocationSize(value.posthogUserId) + - FfiConverterOptionalString.allocationSize(value.posthogApiHost) + - FfiConverterOptionalString.allocationSize(value.posthogApiKey) + - FfiConverterOptionalString.allocationSize(value.rageshakeSubmitUrl) + - FfiConverterOptionalString.allocationSize(value.sentryDsn) + - FfiConverterOptionalString.allocationSize(value.sentryEnvironment) + - FfiConverterBool.allocationSize(value.controlledMediaDevices) - ); - } - } - return new FFIConverter(); -})(); - /** * Capabilities that a widget can request from a client. */ @@ -11289,6 +10946,160 @@ const FfiConverterTypeBackupUploadState = (() => { return new FFIConverter(); })(); +// Enum: BatchNotificationResult +export enum BatchNotificationResult_Tags { + Ok = 'Ok', + Error = 'Error', +} +export const BatchNotificationResult = (() => { + type Ok__interface = { + tag: BatchNotificationResult_Tags.Ok; + inner: Readonly<{ status: NotificationStatus }>; + }; + + /** + * We have more detailed information about the notification. + */ + class Ok_ extends UniffiEnum implements Ok__interface { + /** + * @private + * This field is private and should not be used, use `tag` instead. + */ + readonly [uniffiTypeNameSymbol] = 'BatchNotificationResult'; + readonly tag = BatchNotificationResult_Tags.Ok; + readonly inner: Readonly<{ status: NotificationStatus }>; + constructor(inner: { status: NotificationStatus }) { + super('BatchNotificationResult', 'Ok'); + this.inner = Object.freeze(inner); + } + + static new(inner: { status: NotificationStatus }): Ok_ { + return new Ok_(inner); + } + + static instanceOf(obj: any): obj is Ok_ { + return obj.tag === BatchNotificationResult_Tags.Ok; + } + } + + type Error__interface = { + tag: BatchNotificationResult_Tags.Error; + inner: Readonly<{ message: string }>; + }; + + /** + * An error occurred while trying to fetch the notification. + */ + class Error_ extends UniffiEnum implements Error__interface { + /** + * @private + * This field is private and should not be used, use `tag` instead. + */ + readonly [uniffiTypeNameSymbol] = 'BatchNotificationResult'; + readonly tag = BatchNotificationResult_Tags.Error; + readonly inner: Readonly<{ message: string }>; + constructor(inner: { + /** + * The error message observed while handling a specific notification. + */ message: string; + }) { + super('BatchNotificationResult', 'Error'); + this.inner = Object.freeze(inner); + } + + static new(inner: { + /** + * The error message observed while handling a specific notification. + */ message: string; + }): Error_ { + return new Error_(inner); + } + + static instanceOf(obj: any): obj is Error_ { + return obj.tag === BatchNotificationResult_Tags.Error; + } + } + + function instanceOf(obj: any): obj is BatchNotificationResult { + return obj[uniffiTypeNameSymbol] === 'BatchNotificationResult'; + } + + return Object.freeze({ + instanceOf, + Ok: Ok_, + Error: Error_, + }); +})(); + +export type BatchNotificationResult = InstanceType< + (typeof BatchNotificationResult)[keyof Omit< + typeof BatchNotificationResult, + 'instanceOf' + >] +>; + +// FfiConverter for enum BatchNotificationResult +const FfiConverterTypeBatchNotificationResult = (() => { + const ordinalConverter = FfiConverterInt32; + type TypeName = BatchNotificationResult; + class FFIConverter extends AbstractFfiConverterByteArray { + read(from: RustBuffer): TypeName { + switch (ordinalConverter.read(from)) { + case 1: + return new BatchNotificationResult.Ok({ + status: FfiConverterTypeNotificationStatus.read(from), + }); + case 2: + return new BatchNotificationResult.Error({ + message: FfiConverterString.read(from), + }); + default: + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + write(value: TypeName, into: RustBuffer): void { + switch (value.tag) { + case BatchNotificationResult_Tags.Ok: { + ordinalConverter.write(1, into); + const inner = value.inner; + FfiConverterTypeNotificationStatus.write(inner.status, into); + return; + } + case BatchNotificationResult_Tags.Error: { + ordinalConverter.write(2, into); + const inner = value.inner; + FfiConverterString.write(inner.message, into); + return; + } + default: + // Throwing from here means that BatchNotificationResult_Tags hasn't matched an ordinal. + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + allocationSize(value: TypeName): number { + switch (value.tag) { + case BatchNotificationResult_Tags.Ok: { + const inner = value.inner; + let size = ordinalConverter.allocationSize(1); + size += FfiConverterTypeNotificationStatus.allocationSize( + inner.status + ); + return size; + } + case BatchNotificationResult_Tags.Error: { + const inner = value.inner; + let size = ordinalConverter.allocationSize(2); + size += FfiConverterString.allocationSize(inner.message); + return size; + } + default: + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + } + return new FFIConverter(); +})(); + // Flat error type: ClientBuildError export enum ClientBuildError_Tags { InvalidServerName = 'InvalidServerName', @@ -12503,6 +12314,8 @@ export const EmbeddedEventDetails = (() => { content: TimelineItemContent; sender: string; senderProfile: ProfileDetails; + timestamp: Timestamp; + eventOrTransactionId: EventOrTransactionId; }>; }; @@ -12517,11 +12330,15 @@ export const EmbeddedEventDetails = (() => { content: TimelineItemContent; sender: string; senderProfile: ProfileDetails; + timestamp: Timestamp; + eventOrTransactionId: EventOrTransactionId; }>; constructor(inner: { content: TimelineItemContent; sender: string; senderProfile: ProfileDetails; + timestamp: Timestamp; + eventOrTransactionId: EventOrTransactionId; }) { super('EmbeddedEventDetails', 'Ready'); this.inner = Object.freeze(inner); @@ -12531,6 +12348,8 @@ export const EmbeddedEventDetails = (() => { content: TimelineItemContent; sender: string; senderProfile: ProfileDetails; + timestamp: Timestamp; + eventOrTransactionId: EventOrTransactionId; }): Ready_ { return new Ready_(inner); } @@ -12603,6 +12422,9 @@ const FfiConverterTypeEmbeddedEventDetails = (() => { content: FfiConverterTypeTimelineItemContent.read(from), sender: FfiConverterString.read(from), senderProfile: FfiConverterTypeProfileDetails.read(from), + timestamp: FfiConverterTypeTimestamp.read(from), + eventOrTransactionId: + FfiConverterTypeEventOrTransactionId.read(from), }); case 4: return new EmbeddedEventDetails.Error({ @@ -12628,6 +12450,11 @@ const FfiConverterTypeEmbeddedEventDetails = (() => { FfiConverterTypeTimelineItemContent.write(inner.content, into); FfiConverterString.write(inner.sender, into); FfiConverterTypeProfileDetails.write(inner.senderProfile, into); + FfiConverterTypeTimestamp.write(inner.timestamp, into); + FfiConverterTypeEventOrTransactionId.write( + inner.eventOrTransactionId, + into + ); return; } case EmbeddedEventDetails_Tags.Error: { @@ -12659,6 +12486,10 @@ const FfiConverterTypeEmbeddedEventDetails = (() => { size += FfiConverterTypeProfileDetails.allocationSize( inner.senderProfile ); + size += FfiConverterTypeTimestamp.allocationSize(inner.timestamp); + size += FfiConverterTypeEventOrTransactionId.allocationSize( + inner.eventOrTransactionId + ); return size; } case EmbeddedEventDetails_Tags.Error: { @@ -13180,199 +13011,6 @@ const FfiConverterTypeEncryptedMessage = (() => { return new FFIConverter(); })(); -// Enum: EncryptionSystem -export enum EncryptionSystem_Tags { - Unencrypted = 'Unencrypted', - PerParticipantKeys = 'PerParticipantKeys', - SharedSecret = 'SharedSecret', -} -/** - * Defines if a call is encrypted and which encryption system should be used. - * - * This controls the url parameters: `perParticipantE2EE`, `password`. - */ -export const EncryptionSystem = (() => { - type Unencrypted__interface = { - tag: EncryptionSystem_Tags.Unencrypted; - }; - - /** - * Equivalent to the element call url parameter: `enableE2EE=false` - */ - class Unencrypted_ extends UniffiEnum implements Unencrypted__interface { - /** - * @private - * This field is private and should not be used, use `tag` instead. - */ - readonly [uniffiTypeNameSymbol] = 'EncryptionSystem'; - readonly tag = EncryptionSystem_Tags.Unencrypted; - constructor() { - super('EncryptionSystem', 'Unencrypted'); - } - - static new(): Unencrypted_ { - return new Unencrypted_(); - } - - static instanceOf(obj: any): obj is Unencrypted_ { - return obj.tag === EncryptionSystem_Tags.Unencrypted; - } - } - - type PerParticipantKeys__interface = { - tag: EncryptionSystem_Tags.PerParticipantKeys; - }; - - /** - * Equivalent to the element call url parameter: - * `perParticipantE2EE=true` - */ - class PerParticipantKeys_ - extends UniffiEnum - implements PerParticipantKeys__interface - { - /** - * @private - * This field is private and should not be used, use `tag` instead. - */ - readonly [uniffiTypeNameSymbol] = 'EncryptionSystem'; - readonly tag = EncryptionSystem_Tags.PerParticipantKeys; - constructor() { - super('EncryptionSystem', 'PerParticipantKeys'); - } - - static new(): PerParticipantKeys_ { - return new PerParticipantKeys_(); - } - - static instanceOf(obj: any): obj is PerParticipantKeys_ { - return obj.tag === EncryptionSystem_Tags.PerParticipantKeys; - } - } - - type SharedSecret__interface = { - tag: EncryptionSystem_Tags.SharedSecret; - inner: Readonly<{ secret: string }>; - }; - - /** - * Equivalent to the element call url parameter: - * `password={secret}` - */ - class SharedSecret_ extends UniffiEnum implements SharedSecret__interface { - /** - * @private - * This field is private and should not be used, use `tag` instead. - */ - readonly [uniffiTypeNameSymbol] = 'EncryptionSystem'; - readonly tag = EncryptionSystem_Tags.SharedSecret; - readonly inner: Readonly<{ secret: string }>; - constructor(inner: { - /** - * The secret/password which is used in the url. - */ secret: string; - }) { - super('EncryptionSystem', 'SharedSecret'); - this.inner = Object.freeze(inner); - } - - static new(inner: { - /** - * The secret/password which is used in the url. - */ secret: string; - }): SharedSecret_ { - return new SharedSecret_(inner); - } - - static instanceOf(obj: any): obj is SharedSecret_ { - return obj.tag === EncryptionSystem_Tags.SharedSecret; - } - } - - function instanceOf(obj: any): obj is EncryptionSystem { - return obj[uniffiTypeNameSymbol] === 'EncryptionSystem'; - } - - return Object.freeze({ - instanceOf, - Unencrypted: Unencrypted_, - PerParticipantKeys: PerParticipantKeys_, - SharedSecret: SharedSecret_, - }); -})(); - -/** - * Defines if a call is encrypted and which encryption system should be used. - * - * This controls the url parameters: `perParticipantE2EE`, `password`. - */ - -export type EncryptionSystem = InstanceType< - (typeof EncryptionSystem)[keyof Omit] ->; - -// FfiConverter for enum EncryptionSystem -const FfiConverterTypeEncryptionSystem = (() => { - const ordinalConverter = FfiConverterInt32; - type TypeName = EncryptionSystem; - class FFIConverter extends AbstractFfiConverterByteArray { - read(from: RustBuffer): TypeName { - switch (ordinalConverter.read(from)) { - case 1: - return new EncryptionSystem.Unencrypted(); - case 2: - return new EncryptionSystem.PerParticipantKeys(); - case 3: - return new EncryptionSystem.SharedSecret({ - secret: FfiConverterString.read(from), - }); - default: - throw new UniffiInternalError.UnexpectedEnumCase(); - } - } - write(value: TypeName, into: RustBuffer): void { - switch (value.tag) { - case EncryptionSystem_Tags.Unencrypted: { - ordinalConverter.write(1, into); - return; - } - case EncryptionSystem_Tags.PerParticipantKeys: { - ordinalConverter.write(2, into); - return; - } - case EncryptionSystem_Tags.SharedSecret: { - ordinalConverter.write(3, into); - const inner = value.inner; - FfiConverterString.write(inner.secret, into); - return; - } - default: - // Throwing from here means that EncryptionSystem_Tags hasn't matched an ordinal. - throw new UniffiInternalError.UnexpectedEnumCase(); - } - } - allocationSize(value: TypeName): number { - switch (value.tag) { - case EncryptionSystem_Tags.Unencrypted: { - return ordinalConverter.allocationSize(1); - } - case EncryptionSystem_Tags.PerParticipantKeys: { - return ordinalConverter.allocationSize(2); - } - case EncryptionSystem_Tags.SharedSecret: { - const inner = value.inner; - let size = ordinalConverter.allocationSize(3); - size += FfiConverterString.allocationSize(inner.secret); - return size; - } - default: - throw new UniffiInternalError.UnexpectedEnumCase(); - } - } - } - return new FFIConverter(); -})(); - // Enum: ErrorKind export enum ErrorKind_Tags { BadAlias = 'BadAlias', @@ -17419,51 +17057,6 @@ const FfiConverterTypeHumanQrLoginError = (() => { return new FFIConverter(); })(); -/** - * Defines the intent of showing the call. - * - * This controls whether to show or skip the lobby. - */ -export enum Intent { - /** - * The user wants to start a call. - */ - StartCall, - /** - * The user wants to join an existing call. - */ - JoinExisting, -} - -const FfiConverterTypeIntent = (() => { - const ordinalConverter = FfiConverterInt32; - type TypeName = Intent; - class FFIConverter extends AbstractFfiConverterByteArray { - read(from: RustBuffer): TypeName { - switch (ordinalConverter.read(from)) { - case 1: - return Intent.StartCall; - case 2: - return Intent.JoinExisting; - default: - throw new UniffiInternalError.UnexpectedEnumCase(); - } - } - write(value: TypeName, into: RustBuffer): void { - switch (value) { - case Intent.StartCall: - return ordinalConverter.write(1, into); - case Intent.JoinExisting: - return ordinalConverter.write(2, into); - } - } - allocationSize(value: TypeName): number { - return ordinalConverter.allocationSize(0); - } - } - return new FFIConverter(); -})(); - /** * The policy that decides if avatars should be shown in invite requests. */ @@ -21685,6 +21278,183 @@ const FfiConverterTypeNotificationSettingsError = (() => { return new FFIConverter(); })(); +// Enum: NotificationStatus +export enum NotificationStatus_Tags { + Event = 'Event', + EventNotFound = 'EventNotFound', + EventFilteredOut = 'EventFilteredOut', +} +export const NotificationStatus = (() => { + type Event__interface = { + tag: NotificationStatus_Tags.Event; + inner: Readonly<{ item: NotificationItem }>; + }; + + /** + * The event has been found and was not filtered out. + */ + class Event_ extends UniffiEnum implements Event__interface { + /** + * @private + * This field is private and should not be used, use `tag` instead. + */ + readonly [uniffiTypeNameSymbol] = 'NotificationStatus'; + readonly tag = NotificationStatus_Tags.Event; + readonly inner: Readonly<{ item: NotificationItem }>; + constructor(inner: { item: NotificationItem }) { + super('NotificationStatus', 'Event'); + this.inner = Object.freeze(inner); + } + + static new(inner: { item: NotificationItem }): Event_ { + return new Event_(inner); + } + + static instanceOf(obj: any): obj is Event_ { + return obj.tag === NotificationStatus_Tags.Event; + } + } + + type EventNotFound__interface = { + tag: NotificationStatus_Tags.EventNotFound; + }; + + /** + * The event couldn't be found in the network queries used to find it. + */ + class EventNotFound_ extends UniffiEnum implements EventNotFound__interface { + /** + * @private + * This field is private and should not be used, use `tag` instead. + */ + readonly [uniffiTypeNameSymbol] = 'NotificationStatus'; + readonly tag = NotificationStatus_Tags.EventNotFound; + constructor() { + super('NotificationStatus', 'EventNotFound'); + } + + static new(): EventNotFound_ { + return new EventNotFound_(); + } + + static instanceOf(obj: any): obj is EventNotFound_ { + return obj.tag === NotificationStatus_Tags.EventNotFound; + } + } + + type EventFilteredOut__interface = { + tag: NotificationStatus_Tags.EventFilteredOut; + }; + + /** + * The event has been filtered out, either because of the user's push + * rules, or because the user which triggered it is ignored by the + * current user. + */ + class EventFilteredOut_ + extends UniffiEnum + implements EventFilteredOut__interface + { + /** + * @private + * This field is private and should not be used, use `tag` instead. + */ + readonly [uniffiTypeNameSymbol] = 'NotificationStatus'; + readonly tag = NotificationStatus_Tags.EventFilteredOut; + constructor() { + super('NotificationStatus', 'EventFilteredOut'); + } + + static new(): EventFilteredOut_ { + return new EventFilteredOut_(); + } + + static instanceOf(obj: any): obj is EventFilteredOut_ { + return obj.tag === NotificationStatus_Tags.EventFilteredOut; + } + } + + function instanceOf(obj: any): obj is NotificationStatus { + return obj[uniffiTypeNameSymbol] === 'NotificationStatus'; + } + + return Object.freeze({ + instanceOf, + Event: Event_, + EventNotFound: EventNotFound_, + EventFilteredOut: EventFilteredOut_, + }); +})(); + +export type NotificationStatus = InstanceType< + (typeof NotificationStatus)[keyof Omit< + typeof NotificationStatus, + 'instanceOf' + >] +>; + +// FfiConverter for enum NotificationStatus +const FfiConverterTypeNotificationStatus = (() => { + const ordinalConverter = FfiConverterInt32; + type TypeName = NotificationStatus; + class FFIConverter extends AbstractFfiConverterByteArray { + read(from: RustBuffer): TypeName { + switch (ordinalConverter.read(from)) { + case 1: + return new NotificationStatus.Event({ + item: FfiConverterTypeNotificationItem.read(from), + }); + case 2: + return new NotificationStatus.EventNotFound(); + case 3: + return new NotificationStatus.EventFilteredOut(); + default: + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + write(value: TypeName, into: RustBuffer): void { + switch (value.tag) { + case NotificationStatus_Tags.Event: { + ordinalConverter.write(1, into); + const inner = value.inner; + FfiConverterTypeNotificationItem.write(inner.item, into); + return; + } + case NotificationStatus_Tags.EventNotFound: { + ordinalConverter.write(2, into); + return; + } + case NotificationStatus_Tags.EventFilteredOut: { + ordinalConverter.write(3, into); + return; + } + default: + // Throwing from here means that NotificationStatus_Tags hasn't matched an ordinal. + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + allocationSize(value: TypeName): number { + switch (value.tag) { + case NotificationStatus_Tags.Event: { + const inner = value.inner; + let size = ordinalConverter.allocationSize(1); + size += FfiConverterTypeNotificationItem.allocationSize(inner.item); + return size; + } + case NotificationStatus_Tags.EventNotFound: { + return ordinalConverter.allocationSize(2); + } + case NotificationStatus_Tags.EventFilteredOut: { + return ordinalConverter.allocationSize(3); + } + default: + throw new UniffiInternalError.UnexpectedEnumCase(); + } + } + } + return new FFIConverter(); +})(); + export enum NotifyType { Ring, Notify, @@ -31917,7 +31687,7 @@ export const TimelineFocus = (() => { type Thread__interface = { tag: TimelineFocus_Tags.Thread; - inner: Readonly<{ rootEventId: string; numEvents: /*u16*/ number }>; + inner: Readonly<{ rootEventId: string }>; }; class Thread_ extends UniffiEnum implements Thread__interface { @@ -31927,15 +31697,11 @@ export const TimelineFocus = (() => { */ readonly [uniffiTypeNameSymbol] = 'TimelineFocus'; readonly tag = TimelineFocus_Tags.Thread; - readonly inner: Readonly<{ - rootEventId: string; - numEvents: /*u16*/ number; - }>; + readonly inner: Readonly<{ rootEventId: string }>; constructor(inner: { /** * The thread root event ID to focus on. */ rootEventId: string; - numEvents: /*u16*/ number; }) { super('TimelineFocus', 'Thread'); this.inner = Object.freeze(inner); @@ -31945,7 +31711,6 @@ export const TimelineFocus = (() => { /** * The thread root event ID to focus on. */ rootEventId: string; - numEvents: /*u16*/ number; }): Thread_ { return new Thread_(inner); } @@ -32031,7 +31796,6 @@ const FfiConverterTypeTimelineFocus = (() => { case 3: return new TimelineFocus.Thread({ rootEventId: FfiConverterString.read(from), - numEvents: FfiConverterUInt16.read(from), }); case 4: return new TimelineFocus.PinnedEvents({ @@ -32062,7 +31826,6 @@ const FfiConverterTypeTimelineFocus = (() => { ordinalConverter.write(3, into); const inner = value.inner; FfiConverterString.write(inner.rootEventId, into); - FfiConverterUInt16.write(inner.numEvents, into); return; } case TimelineFocus_Tags.PinnedEvents: { @@ -32097,7 +31860,6 @@ const FfiConverterTypeTimelineFocus = (() => { const inner = value.inner; let size = ordinalConverter.allocationSize(3); size += FfiConverterString.allocationSize(inner.rootEventId); - size += FfiConverterUInt16.allocationSize(inner.numEvents); return size; } case TimelineFocus_Tags.PinnedEvents: { @@ -32620,6 +32382,10 @@ export enum TraceLogPacks { * Enables all the logs relevant to the timeline. */ Timeline, + /** + * Enables all the logs relevant to the notification client. + */ + NotificationClient, } const FfiConverterTypeTraceLogPacks = (() => { @@ -32634,6 +32400,8 @@ const FfiConverterTypeTraceLogPacks = (() => { return TraceLogPacks.SendQueue; case 3: return TraceLogPacks.Timeline; + case 4: + return TraceLogPacks.NotificationClient; default: throw new UniffiInternalError.UnexpectedEnumCase(); } @@ -32646,6 +32414,8 @@ const FfiConverterTypeTraceLogPacks = (() => { return ordinalConverter.write(2, into); case TraceLogPacks.Timeline: return ordinalConverter.write(3, into); + case TraceLogPacks.NotificationClient: + return ordinalConverter.write(4, into); } } allocationSize(value: TypeName): number { @@ -33596,12 +33366,6 @@ const FfiConverterMapStringTypeIgnoredUser = new FfiConverterMap( FfiConverterTypeIgnoredUser ); -// FfiConverter for Map -const FfiConverterMapStringTypeNotificationItem = new FfiConverterMap( - FfiConverterString, - FfiConverterTypeNotificationItem -); - // FfiConverter for Map const FfiConverterMapStringTypeReceipt = new FfiConverterMap( FfiConverterString, @@ -33682,9 +33446,16 @@ export interface ClientInterface { * Clear all the non-critical caches for this Client instance. * * WARNING: This will clear all the caches, including the base store (state - * store), so callers must make sure that any sync is inactive before - * calling this method. In particular, the `SyncService` must not be - * running. After the method returns, the Client will be in an unstable + * store), so callers must make sure that the Client is at rest before + * calling it. + * + * In particular, if a [`SyncService`] is running, it must be passed here + * as a parameter, or stopped before calling this method. Ideally, the + * send queues should have been disabled and must all be inactive (i.e. + * not sending events); this method will disable them, but it might not + * be enough if the queues are still processing events. + * + * After the method returns, the Client will be in an unstable * state, and it is required that the caller reinstantiates a new * Client instance, be it via dropping the previous and re-creating it, * restarting their application, or any other similar means. @@ -33695,7 +33466,10 @@ export interface ClientInterface { * - This will empty the media cache according to the current media * retention policy. */ - clearCaches(asyncOpts_?: { signal: AbortSignal }) /*throws*/ : Promise; + clearCaches( + syncService: SyncServiceInterface | undefined, + asyncOpts_?: { signal: AbortSignal } + ) /*throws*/ : Promise; createRoom( request: CreateRoomParameters, asyncOpts_?: { signal: AbortSignal } @@ -33778,6 +33552,11 @@ export interface ClientInterface { mediaSource: MediaSourceInterface, asyncOpts_?: { signal: AbortSignal } ) /*throws*/ : Promise; + /** + * Retrieves a media file from the media source + * + * Not available on Wasm platforms, due to lack of accessible file system. + */ getMediaFile( mediaSource: MediaSourceInterface, filename: string | undefined, @@ -33870,6 +33649,12 @@ export interface ClientInterface { ignoredUsers(asyncOpts_?: { signal: AbortSignal; }) /*throws*/ : Promise>; + /** + * Checks if the server supports the LiveKit RTC focus for placing calls. + */ + isLivekitRtcSupported(asyncOpts_?: { + signal: AbortSignal; + }) /*throws*/ : Promise; /** * Checks if the server supports the report room API. */ @@ -33984,11 +33769,11 @@ export interface ClientInterface { /** * Empty the server version and unstable features cache. * - * Since the SDK caches server capabilities (versions and unstable - * features), it's possible to have a stale entry in the cache. This - * functions makes it possible to force reset it. + * Since the SDK caches server info (versions, unstable features, + * well-known etc), it's possible to have a stale entry in the cache. + * This functions makes it possible to force reset it. */ - resetServerCapabilities(asyncOpts_?: { + resetServerInfo(asyncOpts_?: { signal: AbortSignal; }) /*throws*/ : Promise; /** @@ -34538,9 +34323,16 @@ export class Client extends UniffiAbstractObject implements ClientInterface { * Clear all the non-critical caches for this Client instance. * * WARNING: This will clear all the caches, including the base store (state - * store), so callers must make sure that any sync is inactive before - * calling this method. In particular, the `SyncService` must not be - * running. After the method returns, the Client will be in an unstable + * store), so callers must make sure that the Client is at rest before + * calling it. + * + * In particular, if a [`SyncService`] is running, it must be passed here + * as a parameter, or stopped before calling this method. Ideally, the + * send queues should have been disabled and must all be inactive (i.e. + * not sending events); this method will disable them, but it might not + * be enough if the queues are still processing events. + * + * After the method returns, the Client will be in an unstable * state, and it is required that the caller reinstantiates a new * Client instance, be it via dropping the previous and re-creating it, * restarting their application, or any other similar means. @@ -34551,16 +34343,18 @@ export class Client extends UniffiAbstractObject implements ClientInterface { * - This will empty the media cache according to the current media * retention policy. */ - public async clearCaches(asyncOpts_?: { - signal: AbortSignal; - }): Promise /*throws*/ { + public async clearCaches( + syncService: SyncServiceInterface | undefined, + asyncOpts_?: { signal: AbortSignal } + ): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_client_clear_caches( - uniffiTypeClientObjectFactory.clonePointer(this) + uniffiTypeClientObjectFactory.clonePointer(this), + FfiConverterOptionalTypeSyncService.lower(syncService) ); }, /*pollFunc:*/ nativeModule() @@ -35046,6 +34840,11 @@ export class Client extends UniffiAbstractObject implements ClientInterface { } } + /** + * Retrieves a media file from the media source + * + * Not available on Wasm platforms, due to lack of accessible file system. + */ public async getMediaFile( mediaSource: MediaSourceInterface, filename: string | undefined, @@ -35614,6 +35413,44 @@ export class Client extends UniffiAbstractObject implements ClientInterface { } } + /** + * Checks if the server supports the LiveKit RTC focus for placing calls. + */ + public async isLivekitRtcSupported(asyncOpts_?: { + signal: AbortSignal; + }): Promise /*throws*/ { + const __stack = uniffiIsDebug ? new Error().stack : undefined; + try { + return await uniffiRustCallAsync( + /*rustCaller:*/ uniffiCaller, + /*rustFutureFunc:*/ () => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported( + uniffiTypeClientObjectFactory.clonePointer(this) + ); + }, + /*pollFunc:*/ nativeModule() + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, + /*cancelFunc:*/ nativeModule() + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, + /*completeFunc:*/ nativeModule() + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, + /*freeFunc:*/ nativeModule() + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, + /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), + /*liftString:*/ FfiConverterString.lift, + /*asyncOpts:*/ asyncOpts_, + /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ) + ); + } catch (__error: any) { + if (uniffiIsDebug && __error instanceof Error) { + __error.stack = __stack; + } + throw __error; + } + } + /** * Checks if the server supports the report room API. */ @@ -36137,11 +35974,11 @@ export class Client extends UniffiAbstractObject implements ClientInterface { /** * Empty the server version and unstable features cache. * - * Since the SDK caches server capabilities (versions and unstable - * features), it's possible to have a stale entry in the cache. This - * functions makes it possible to force reset it. + * Since the SDK caches server info (versions, unstable features, + * well-known etc), it's possible to have a stale entry in the cache. + * This functions makes it possible to force reset it. */ - public async resetServerCapabilities(asyncOpts_?: { + public async resetServerInfo(asyncOpts_?: { signal: AbortSignal; }): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; @@ -36149,7 +35986,7 @@ export class Client extends UniffiAbstractObject implements ClientInterface { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities( + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info( uniffiTypeClientObjectFactory.clonePointer(this) ); }, @@ -37373,6 +37210,12 @@ export interface ClientBuilderInterface { asyncOpts_?: { signal: AbortSignal } ) /*throws*/ : Promise; crossProcessStoreLocksHolderName(holderName: string): ClientBuilderInterface; + /** + * Set the trust requirement to be used when decrypting events. + */ + decryptionSettings( + decryptionSettings: DecryptionSettings + ): ClientBuilderInterface; disableAutomaticTokenRefresh(): ClientBuilderInterface; /** * Don't trust any system root certificates, only trust the certificates @@ -37397,12 +37240,6 @@ export interface ClientBuilderInterface { * Add a default request config to this client. */ requestConfig(config: RequestConfig): ClientBuilderInterface; - /** - * Set the trust requirement to be used when decrypting events. - */ - roomDecryptionTrustRequirement( - trustRequirement: TrustRequirement - ): ClientBuilderInterface; /** * Set the strategy to be used for picking recipient devices when sending * an encrypted message. @@ -37483,6 +37320,7 @@ export interface ClientBuilderInterface { * check [`SqliteStoreConfig::with_low_memory_config`]. */ systemIsMemoryConstrained(): ClientBuilderInterface; + threadsEnabled(enabled: boolean): ClientBuilderInterface; userAgent(userAgent: string): ClientBuilderInterface; username(username: string): ClientBuilderInterface; } @@ -37693,6 +37531,26 @@ export class ClientBuilder ); } + /** + * Set the trust requirement to be used when decrypting events. + */ + public decryptionSettings( + decryptionSettings: DecryptionSettings + ): ClientBuilderInterface { + return FfiConverterTypeClientBuilder.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings( + uniffiTypeClientBuilderObjectFactory.clonePointer(this), + FfiConverterTypeDecryptionSettings.lower(decryptionSettings), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + public disableAutomaticTokenRefresh(): ClientBuilderInterface { return FfiConverterTypeClientBuilder.lift( uniffiCaller.rustCall( @@ -37825,26 +37683,6 @@ export class ClientBuilder ); } - /** - * Set the trust requirement to be used when decrypting events. - */ - public roomDecryptionTrustRequirement( - trustRequirement: TrustRequirement - ): ClientBuilderInterface { - return FfiConverterTypeClientBuilder.lift( - uniffiCaller.rustCall( - /*caller:*/ (callStatus) => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement( - uniffiTypeClientBuilderObjectFactory.clonePointer(this), - FfiConverterTypeTrustRequirement.lower(trustRequirement), - callStatus - ); - }, - /*liftString:*/ FfiConverterString.lift - ) - ); - } - /** * Set the strategy to be used for picking recipient devices when sending * an encrypted message. @@ -38088,6 +37926,21 @@ export class ClientBuilder ); } + public threadsEnabled(enabled: boolean): ClientBuilderInterface { + return FfiConverterTypeClientBuilder.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled( + uniffiTypeClientBuilderObjectFactory.clonePointer(this), + FfiConverterBool.lower(enabled), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + public userAgent(userAgent: string): ClientBuilderInterface { return FfiConverterTypeClientBuilder.lift( uniffiCaller.rustCall( @@ -40448,26 +40301,33 @@ const FfiConverterTypeMediaSource = new FfiConverterObject( export interface NotificationClientInterface { /** - * See also documentation of - * `MatrixNotificationClient::get_notification`. + * Fetches the content of a notification. + * + * This will first try to get the notification using a short-lived sliding + * sync, and if the sliding-sync can't find the event, then it'll use a + * `/context` query to find the event with associated member information. + * + * An error result means that we couldn't resolve the notification; in that + * case, a dummy notification may be displayed instead. */ getNotification( roomId: string, eventId: string, asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; + ) /*throws*/ : Promise; /** * Get several notification items in a single batch. * * Returns an error if the flow failed when preparing to fetch the * notifications, and a [`HashMap`] containing either a - * [`NotificationItem`] or no entry for it if it failed to fetch a - * notification for the provided [`EventId`]. + * [`BatchNotificationResult`], that indicates if the notification was + * successfully fetched (in which case, it's a [`NotificationStatus`]), or + * an error message if it couldn't be fetched. */ getNotifications( requests: Array, asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise>; + ) /*throws*/ : Promise>; /** * Fetches a room by its ID using the in-memory state store backed client. * @@ -40493,14 +40353,20 @@ export class NotificationClient } /** - * See also documentation of - * `MatrixNotificationClient::get_notification`. + * Fetches the content of a notification. + * + * This will first try to get the notification using a short-lived sliding + * sync, and if the sliding-sync can't find the event, then it'll use a + * `/context` query to find the event with associated member information. + * + * An error result means that we couldn't resolve the notification; in that + * case, a dummy notification may be displayed instead. */ public async getNotification( roomId: string, eventId: string, asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { + ): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( @@ -40520,8 +40386,8 @@ export class NotificationClient .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer, /*freeFunc:*/ nativeModule() .ubrn_ffi_matrix_sdk_ffi_rust_future_free_rust_buffer, - /*liftFunc:*/ FfiConverterOptionalTypeNotificationItem.lift.bind( - FfiConverterOptionalTypeNotificationItem + /*liftFunc:*/ FfiConverterTypeNotificationStatus.lift.bind( + FfiConverterTypeNotificationStatus ), /*liftString:*/ FfiConverterString.lift, /*asyncOpts:*/ asyncOpts_, @@ -40542,13 +40408,14 @@ export class NotificationClient * * Returns an error if the flow failed when preparing to fetch the * notifications, and a [`HashMap`] containing either a - * [`NotificationItem`] or no entry for it if it failed to fetch a - * notification for the provided [`EventId`]. + * [`BatchNotificationResult`], that indicates if the notification was + * successfully fetched (in which case, it's a [`NotificationStatus`]), or + * an error message if it couldn't be fetched. */ public async getNotifications( requests: Array, asyncOpts_?: { signal: AbortSignal } - ): Promise> /*throws*/ { + ): Promise> /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( @@ -40567,8 +40434,8 @@ export class NotificationClient .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer, /*freeFunc:*/ nativeModule() .ubrn_ffi_matrix_sdk_ffi_rust_future_free_rust_buffer, - /*liftFunc:*/ FfiConverterMapStringTypeNotificationItem.lift.bind( - FfiConverterMapStringTypeNotificationItem + /*liftFunc:*/ FfiConverterMapStringTypeBatchNotificationResult.lift.bind( + FfiConverterMapStringTypeBatchNotificationResult ), /*liftString:*/ FfiConverterString.lift, /*asyncOpts:*/ asyncOpts_, @@ -42019,51 +41886,14 @@ export interface RoomInterface { reason: string | undefined, asyncOpts_?: { signal: AbortSignal } ) /*throws*/ : Promise; - canUserBan( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; - canUserInvite( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; - canUserKick( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; - canUserPinUnpin( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; - canUserRedactOther( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; - canUserRedactOwn( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; - canUserSendMessage( - userId: string, - message: MessageLikeEventType, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; - canUserSendState( - userId: string, - stateEvent: StateEventType, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; - canUserTriggerRoomNotification( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ) /*throws*/ : Promise; canonicalAlias(): string | undefined; /** * Remove the `ComposerDraft` stored in the state store for this room. */ - clearComposerDraft(asyncOpts_?: { - signal: AbortSignal; - }) /*throws*/ : Promise; + clearComposerDraft( + threadRoot: string | undefined, + asyncOpts_?: { signal: AbortSignal } + ) /*throws*/ : Promise; /** * Clear the event cache storage for the current room. * @@ -42123,7 +41953,7 @@ export interface RoomInterface { forget(asyncOpts_?: { signal: AbortSignal }) /*throws*/ : Promise; getPowerLevels(asyncOpts_?: { signal: AbortSignal; - }) /*throws*/ : Promise; + }) /*throws*/ : Promise; /** * Returns the visibility for this room in the room directory. * @@ -42190,7 +42020,12 @@ export interface RoomInterface { * `m.room.encryption` as required state. */ isEncrypted(asyncOpts_?: { signal: AbortSignal }): Promise; - isPublic(): boolean; + /** + * Whether the room can be publicly joined or not, based on its join rule. + * + * Can return `None` if the join rule state event is missing. + */ + isPublic(): boolean | undefined; /** * Returns whether the send queue for that particular room is enabled or * not. @@ -42224,9 +42059,10 @@ export interface RoomInterface { /** * Retrieve the `ComposerDraft` stored in the state store for this room. */ - loadComposerDraft(asyncOpts_?: { - signal: AbortSignal; - }) /*throws*/ : Promise; + loadComposerDraft( + threadRoot: string | undefined, + asyncOpts_?: { signal: AbortSignal } + ) /*throws*/ : Promise; /** * Mark a room as read, by attaching a read receipt on the latest event. * @@ -42387,7 +42223,7 @@ export interface RoomInterface { ) /*throws*/ : Promise; resetPowerLevels(asyncOpts_?: { signal: AbortSignal; - }) /*throws*/ : Promise; + }) /*throws*/ : Promise; /** * Return a debug representation for the internal room events data * structure, one line per entry in the resulting vector. @@ -42402,6 +42238,7 @@ export interface RoomInterface { */ saveComposerDraft( draft: ComposerDraft, + threadRoot: string | undefined, asyncOpts_?: { signal: AbortSignal } ) /*throws*/ : Promise; /** @@ -42805,103 +42642,46 @@ export class Room extends UniffiAbstractObject implements RoomInterface { } } - public async canUserBan( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban( - uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId) - ); - }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } - } - - public async canUserInvite( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite( + public canonicalAlias(): string | undefined { + return FfiConverterOptionalString.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias( uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId) + callStatus ); }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } + /*liftString:*/ FfiConverterString.lift + ) + ); } - public async canUserKick( - userId: string, + /** + * Remove the `ComposerDraft` stored in the state store for this room. + */ + public async clearComposerDraft( + threadRoot: string | undefined, asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { + ): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick( + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft( uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId) + FfiConverterOptionalString.lower(threadRoot) ); }, /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, + /*liftFunc:*/ (_v) => {}, /*liftString:*/ FfiConverterString.lift, /*asyncOpts:*/ asyncOpts_, /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( @@ -42916,29 +42696,33 @@ export class Room extends UniffiAbstractObject implements RoomInterface { } } - public async canUserPinUnpin( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { + /** + * Clear the event cache storage for the current room. + * + * This will remove all the information related to the event cache, in + * memory and in the persisted storage, if enabled. + */ + public async clearEventCacheStorage(asyncOpts_?: { + signal: AbortSignal; + }): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin( - uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId) + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_clear_event_cache_storage( + uniffiTypeRoomObjectFactory.clonePointer(this) ); }, /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, + /*liftFunc:*/ (_v) => {}, /*liftString:*/ FfiConverterString.lift, /*asyncOpts:*/ asyncOpts_, /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( @@ -42953,29 +42737,36 @@ export class Room extends UniffiAbstractObject implements RoomInterface { } } - public async canUserRedactOther( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { + /** + * Forces the currently active room key, which is used to encrypt messages, + * to be rotated. + * + * A new room key will be crated and shared with all the room members the + * next time a message will be sent. You don't have to call this method, + * room keys will be rotated automatically when necessary. This method is + * still useful for debugging purposes. + */ + public async discardRoomKey(asyncOpts_?: { + signal: AbortSignal; + }): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other( - uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId) + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_discard_room_key( + uniffiTypeRoomObjectFactory.clonePointer(this) ); }, /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, + /*liftFunc:*/ (_v) => {}, /*liftString:*/ FfiConverterString.lift, /*asyncOpts:*/ asyncOpts_, /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( @@ -42990,68 +42781,58 @@ export class Room extends UniffiAbstractObject implements RoomInterface { } } - public async canUserRedactOwn( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own( + /** + * Returns the room's name from the state event if available, otherwise + * compute a room name based on the room's nature (DM or not) and number of + * members. + */ + public displayName(): string | undefined { + return FfiConverterOptionalString.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_display_name( uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId) + callStatus ); }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } + /*liftString:*/ FfiConverterString.lift + ) + ); } - public async canUserSendMessage( - userId: string, - message: MessageLikeEventType, + /** + * Edit an event given its event id. + * + * Useful outside the context of a timeline, or when a timeline doesn't + * have the full content of an event. + */ + public async edit( + eventId: string, + newContent: RoomMessageEventContentWithoutRelationInterface, asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { + ): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_edit( uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId), - FfiConverterTypeMessageLikeEventType.lower(message) + FfiConverterString.lower(eventId), + FfiConverterTypeRoomMessageEventContentWithoutRelation.lower( + newContent + ) ); }, /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, + /*liftFunc:*/ (_v) => {}, /*liftString:*/ FfiConverterString.lift, /*asyncOpts:*/ asyncOpts_, /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( @@ -43066,31 +42847,30 @@ export class Room extends UniffiAbstractObject implements RoomInterface { } } - public async canUserSendState( - userId: string, - stateEvent: StateEventType, - asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { + /** + * Enable End-to-end encryption in this room. + */ + public async enableEncryption(asyncOpts_?: { + signal: AbortSignal; + }): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId), - FfiConverterTypeStateEventType.lower(stateEvent) + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_enable_encryption( + uniffiTypeRoomObjectFactory.clonePointer(this) ); }, /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, + /*liftFunc:*/ (_v) => {}, /*liftString:*/ FfiConverterString.lift, /*asyncOpts:*/ asyncOpts_, /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( @@ -43105,48 +42885,27 @@ export class Room extends UniffiAbstractObject implements RoomInterface { } } - public async canUserTriggerRoomNotification( - userId: string, - asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(userId) - ); - }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_i8, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_i8, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_i8, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_i8, - /*liftFunc:*/ FfiConverterBool.lift.bind(FfiConverterBool), - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } + /** + * Enable or disable the send queue for that particular room. + */ + public enableSendQueue(enable: boolean): void { + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_enable_send_queue( + uniffiTypeRoomObjectFactory.clonePointer(this), + FfiConverterBool.lower(enable), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ); } - public canonicalAlias(): string | undefined { - return FfiConverterOptionalString.lift( + public encryptionState(): EncryptionState { + return FfiConverterTypeEncryptionState.lift( uniffiCaller.rustCall( /*caller:*/ (callStatus) => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias( + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_encryption_state( uniffiTypeRoomObjectFactory.clonePointer(this), callStatus ); @@ -43157,9 +42916,13 @@ export class Room extends UniffiAbstractObject implements RoomInterface { } /** - * Remove the `ComposerDraft` stored in the state store for this room. + * Forget this room. + * + * This communicates to the homeserver that it should forget the room. + * + * Only left or banned-from rooms can be forgotten. */ - public async clearComposerDraft(asyncOpts_?: { + public async forget(asyncOpts_?: { signal: AbortSignal; }): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; @@ -43167,268 +42930,7 @@ export class Room extends UniffiAbstractObject implements RoomInterface { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft( - uniffiTypeRoomObjectFactory.clonePointer(this) - ); - }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, - /*liftFunc:*/ (_v) => {}, - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } - } - - /** - * Clear the event cache storage for the current room. - * - * This will remove all the information related to the event cache, in - * memory and in the persisted storage, if enabled. - */ - public async clearEventCacheStorage(asyncOpts_?: { - signal: AbortSignal; - }): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_clear_event_cache_storage( - uniffiTypeRoomObjectFactory.clonePointer(this) - ); - }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, - /*liftFunc:*/ (_v) => {}, - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } - } - - /** - * Forces the currently active room key, which is used to encrypt messages, - * to be rotated. - * - * A new room key will be crated and shared with all the room members the - * next time a message will be sent. You don't have to call this method, - * room keys will be rotated automatically when necessary. This method is - * still useful for debugging purposes. - */ - public async discardRoomKey(asyncOpts_?: { - signal: AbortSignal; - }): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_discard_room_key( - uniffiTypeRoomObjectFactory.clonePointer(this) - ); - }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, - /*liftFunc:*/ (_v) => {}, - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } - } - - /** - * Returns the room's name from the state event if available, otherwise - * compute a room name based on the room's nature (DM or not) and number of - * members. - */ - public displayName(): string | undefined { - return FfiConverterOptionalString.lift( - uniffiCaller.rustCall( - /*caller:*/ (callStatus) => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_display_name( - uniffiTypeRoomObjectFactory.clonePointer(this), - callStatus - ); - }, - /*liftString:*/ FfiConverterString.lift - ) - ); - } - - /** - * Edit an event given its event id. - * - * Useful outside the context of a timeline, or when a timeline doesn't - * have the full content of an event. - */ - public async edit( - eventId: string, - newContent: RoomMessageEventContentWithoutRelationInterface, - asyncOpts_?: { signal: AbortSignal } - ): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_edit( - uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterString.lower(eventId), - FfiConverterTypeRoomMessageEventContentWithoutRelation.lower( - newContent - ) - ); - }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, - /*liftFunc:*/ (_v) => {}, - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } - } - - /** - * Enable End-to-end encryption in this room. - */ - public async enableEncryption(asyncOpts_?: { - signal: AbortSignal; - }): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_enable_encryption( - uniffiTypeRoomObjectFactory.clonePointer(this) - ); - }, - /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, - /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, - /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, - /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, - /*liftFunc:*/ (_v) => {}, - /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_, - /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( - FfiConverterTypeClientError - ) - ); - } catch (__error: any) { - if (uniffiIsDebug && __error instanceof Error) { - __error.stack = __stack; - } - throw __error; - } - } - - /** - * Enable or disable the send queue for that particular room. - */ - public enableSendQueue(enable: boolean): void { - uniffiCaller.rustCall( - /*caller:*/ (callStatus) => { - nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_enable_send_queue( - uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterBool.lower(enable), - callStatus - ); - }, - /*liftString:*/ FfiConverterString.lift - ); - } - - public encryptionState(): EncryptionState { - return FfiConverterTypeEncryptionState.lift( - uniffiCaller.rustCall( - /*caller:*/ (callStatus) => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_encryption_state( - uniffiTypeRoomObjectFactory.clonePointer(this), - callStatus - ); - }, - /*liftString:*/ FfiConverterString.lift - ) - ); - } - - /** - * Forget this room. - * - * This communicates to the homeserver that it should forget the room. - * - * Only left or banned-from rooms can be forgotten. - */ - public async forget(asyncOpts_?: { - signal: AbortSignal; - }): Promise /*throws*/ { - const __stack = uniffiIsDebug ? new Error().stack : undefined; - try { - return await uniffiRustCallAsync( - /*rustCaller:*/ uniffiCaller, - /*rustFutureFunc:*/ () => { - return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_forget( + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_forget( uniffiTypeRoomObjectFactory.clonePointer(this) ); }, @@ -43457,7 +42959,7 @@ export class Room extends UniffiAbstractObject implements RoomInterface { public async getPowerLevels(asyncOpts_?: { signal: AbortSignal; - }): Promise /*throws*/ { + }): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( @@ -43468,13 +42970,13 @@ export class Room extends UniffiAbstractObject implements RoomInterface { ); }, /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer, + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_pointer, /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_rust_buffer, + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_pointer, /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer, + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_pointer, /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_rust_buffer, + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_pointer, /*liftFunc:*/ FfiConverterTypeRoomPowerLevels.lift.bind( FfiConverterTypeRoomPowerLevels ), @@ -43840,8 +43342,13 @@ export class Room extends UniffiAbstractObject implements RoomInterface { } } - public isPublic(): boolean { - return FfiConverterBool.lift( + /** + * Whether the room can be publicly joined or not, based on its join rule. + * + * Can return `None` if the join rule state event is missing. + */ + public isPublic(): boolean | undefined { + return FfiConverterOptionalBool.lift( uniffiCaller.rustCall( /*caller:*/ (callStatus) => { return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_is_public( @@ -44093,16 +43600,18 @@ export class Room extends UniffiAbstractObject implements RoomInterface { /** * Retrieve the `ComposerDraft` stored in the state store for this room. */ - public async loadComposerDraft(asyncOpts_?: { - signal: AbortSignal; - }): Promise /*throws*/ { + public async loadComposerDraft( + threadRoot: string | undefined, + asyncOpts_?: { signal: AbortSignal } + ): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( /*rustCaller:*/ uniffiCaller, /*rustFutureFunc:*/ () => { return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft( - uniffiTypeRoomObjectFactory.clonePointer(this) + uniffiTypeRoomObjectFactory.clonePointer(this), + FfiConverterOptionalString.lower(threadRoot) ); }, /*pollFunc:*/ nativeModule() @@ -44885,7 +44394,7 @@ export class Room extends UniffiAbstractObject implements RoomInterface { public async resetPowerLevels(asyncOpts_?: { signal: AbortSignal; - }): Promise /*throws*/ { + }): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( @@ -44896,13 +44405,13 @@ export class Room extends UniffiAbstractObject implements RoomInterface { ); }, /*pollFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer, + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_pointer, /*cancelFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_rust_buffer, + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_pointer, /*completeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer, + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_pointer, /*freeFunc:*/ nativeModule() - .ubrn_ffi_matrix_sdk_ffi_rust_future_free_rust_buffer, + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_pointer, /*liftFunc:*/ FfiConverterTypeRoomPowerLevels.lift.bind( FfiConverterTypeRoomPowerLevels ), @@ -45004,6 +44513,7 @@ export class Room extends UniffiAbstractObject implements RoomInterface { */ public async saveComposerDraft( draft: ComposerDraft, + threadRoot: string | undefined, asyncOpts_?: { signal: AbortSignal } ): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; @@ -45013,7 +44523,8 @@ export class Room extends UniffiAbstractObject implements RoomInterface { /*rustFutureFunc:*/ () => { return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft( uniffiTypeRoomObjectFactory.clonePointer(this), - FfiConverterTypeComposerDraft.lower(draft) + FfiConverterTypeComposerDraft.lower(draft), + FfiConverterOptionalString.lower(threadRoot) ); }, /*pollFunc:*/ nativeModule() @@ -47157,7 +46668,10 @@ export interface RoomListServiceInterface { }) /*throws*/ : Promise; room(roomId: string) /*throws*/ : RoomInterface; state(listener: RoomListServiceStateListener): TaskHandleInterface; - subscribeToRooms(roomIds: Array) /*throws*/ : void; + subscribeToRooms( + roomIds: Array, + asyncOpts_?: { signal: AbortSignal } + ) /*throws*/ : Promise; syncIndicator( delayBeforeShowingInMs: /*u32*/ number, delayBeforeHidingInMs: /*u32*/ number, @@ -47250,20 +46764,41 @@ export class RoomListService ); } - public subscribeToRooms(roomIds: Array): void /*throws*/ { - uniffiCaller.rustCallWithError( - /*liftError:*/ FfiConverterTypeRoomListError.lift.bind( - FfiConverterTypeRoomListError - ), - /*caller:*/ (callStatus) => { - nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( - uniffiTypeRoomListServiceObjectFactory.clonePointer(this), - FfiConverterArrayString.lower(roomIds), - callStatus - ); - }, - /*liftString:*/ FfiConverterString.lift - ); + public async subscribeToRooms( + roomIds: Array, + asyncOpts_?: { signal: AbortSignal } + ): Promise /*throws*/ { + const __stack = uniffiIsDebug ? new Error().stack : undefined; + try { + return await uniffiRustCallAsync( + /*rustCaller:*/ uniffiCaller, + /*rustFutureFunc:*/ () => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( + uniffiTypeRoomListServiceObjectFactory.clonePointer(this), + FfiConverterArrayString.lower(roomIds) + ); + }, + /*pollFunc:*/ nativeModule() + .ubrn_ffi_matrix_sdk_ffi_rust_future_poll_void, + /*cancelFunc:*/ nativeModule() + .ubrn_ffi_matrix_sdk_ffi_rust_future_cancel_void, + /*completeFunc:*/ nativeModule() + .ubrn_ffi_matrix_sdk_ffi_rust_future_complete_void, + /*freeFunc:*/ nativeModule() + .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, + /*liftFunc:*/ (_v) => {}, + /*liftString:*/ FfiConverterString.lift, + /*asyncOpts:*/ asyncOpts_, + /*errorHandler:*/ FfiConverterTypeRoomListError.lift.bind( + FfiConverterTypeRoomListError + ) + ); + } catch (__error: any) { + if (uniffiIsDebug && __error instanceof Error) { + __error.stack = __stack; + } + throw __error; + } } public syncIndicator( @@ -47662,6 +47197,645 @@ const FfiConverterTypeRoomMessageEventContentWithoutRelation = uniffiTypeRoomMessageEventContentWithoutRelationObjectFactory ); +export interface RoomPowerLevelsInterface { + /** + * Returns true if the current user is able to ban in the room. + */ + canOwnUserBan(): boolean; + /** + * Returns true if the current user is able to invite in the room. + */ + canOwnUserInvite(): boolean; + /** + * Returns true if the current user is able to kick in the room. + */ + canOwnUserKick(): boolean; + /** + * Returns true if the current user is able to pin or unpin events in the + * room. + */ + canOwnUserPinUnpin(): boolean; + /** + * Returns true if the current user user is able to redact messages of + * other users in the room. + */ + canOwnUserRedactOther(): boolean; + /** + * Returns true if the current user is able to redact their own messages in + * the room. + */ + canOwnUserRedactOwn(): boolean; + /** + * Returns true if the current user is able to send a specific message type + * in the room. + */ + canOwnUserSendMessage(message: MessageLikeEventType): boolean; + /** + * Returns true if the current user is able to send a specific state event + * type in the room. + */ + canOwnUserSendState(stateEvent: StateEventType): boolean; + /** + * Returns true if the current user is able to trigger a notification in + * the room. + */ + canOwnUserTriggerRoomNotification(): boolean; + /** + * Returns true if the user with the given user_id is able to ban in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserBan(userId: string) /*throws*/ : boolean; + /** + * Returns true if the user with the given user_id is able to invite in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserInvite(userId: string) /*throws*/ : boolean; + /** + * Returns true if the user with the given user_id is able to kick in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserKick(userId: string) /*throws*/ : boolean; + /** + * Returns true if the user with the given user_id is able to pin or unpin + * events in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserPinUnpin(userId: string) /*throws*/ : boolean; + /** + * Returns true if the user with the given user_id is able to redact + * messages of other users in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserRedactOther(userId: string) /*throws*/ : boolean; + /** + * Returns true if the user with the given user_id is able to redact + * their own messages in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserRedactOwn(userId: string) /*throws*/ : boolean; + /** + * Returns true if the user with the given user_id is able to send a + * specific message type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserSendMessage( + userId: string, + message: MessageLikeEventType + ) /*throws*/ : boolean; + /** + * Returns true if the user with the given user_id is able to send a + * specific state event type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserSendState( + userId: string, + stateEvent: StateEventType + ) /*throws*/ : boolean; + /** + * Returns true if the user with the given user_id is able to trigger a + * notification in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + canUserTriggerRoomNotification(userId: string) /*throws*/ : boolean; + /** + * Gets a map with the `UserId` of users with power levels other than `0` + * and their power level. + */ + userPowerLevels(): Map; + values(): RoomPowerLevelsValues; +} + +export class RoomPowerLevels + extends UniffiAbstractObject + implements RoomPowerLevelsInterface +{ + readonly [uniffiTypeNameSymbol] = 'RoomPowerLevels'; + readonly [destructorGuardSymbol]: UniffiRustArcPtr; + readonly [pointerLiteralSymbol]: UnsafeMutableRawPointer; + // No primary constructor declared for this class. + private constructor(pointer: UnsafeMutableRawPointer) { + super(); + this[pointerLiteralSymbol] = pointer; + this[destructorGuardSymbol] = + uniffiTypeRoomPowerLevelsObjectFactory.bless(pointer); + } + + /** + * Returns true if the current user is able to ban in the room. + */ + public canOwnUserBan(): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the current user is able to invite in the room. + */ + public canOwnUserInvite(): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the current user is able to kick in the room. + */ + public canOwnUserKick(): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the current user is able to pin or unpin events in the + * room. + */ + public canOwnUserPinUnpin(): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the current user user is able to redact messages of + * other users in the room. + */ + public canOwnUserRedactOther(): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the current user is able to redact their own messages in + * the room. + */ + public canOwnUserRedactOwn(): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the current user is able to send a specific message type + * in the room. + */ + public canOwnUserSendMessage(message: MessageLikeEventType): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterTypeMessageLikeEventType.lower(message), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the current user is able to send a specific state event + * type in the room. + */ + public canOwnUserSendState(stateEvent: StateEventType): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterTypeStateEventType.lower(stateEvent), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the current user is able to trigger a notification in + * the room. + */ + public canOwnUserTriggerRoomNotification(): boolean { + return FfiConverterBool.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to ban in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserBan(userId: string): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to invite in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserInvite(userId: string): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to kick in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserKick(userId: string): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to pin or unpin + * events in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserPinUnpin(userId: string): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to redact + * messages of other users in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserRedactOther(userId: string): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to redact + * their own messages in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserRedactOwn(userId: string): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to send a + * specific message type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserSendMessage( + userId: string, + message: MessageLikeEventType + ): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + FfiConverterTypeMessageLikeEventType.lower(message), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to send a + * specific state event type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserSendState( + userId: string, + stateEvent: StateEventType + ): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + FfiConverterTypeStateEventType.lower(stateEvent), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Returns true if the user with the given user_id is able to trigger a + * notification in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + public canUserTriggerRoomNotification(userId: string): boolean /*throws*/ { + return FfiConverterBool.lift( + uniffiCaller.rustCallWithError( + /*liftError:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ), + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + FfiConverterString.lower(userId), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * Gets a map with the `UserId` of users with power levels other than `0` + * and their power level. + */ + public userPowerLevels(): Map { + return FfiConverterMapStringInt64.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + public values(): RoomPowerLevelsValues { + return FfiConverterTypeRoomPowerLevelsValues.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values( + uniffiTypeRoomPowerLevelsObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + + /** + * {@inheritDoc uniffi-bindgen-react-native#UniffiAbstractObject.uniffiDestroy} + */ + uniffiDestroy(): void { + const ptr = (this as any)[destructorGuardSymbol]; + if (ptr !== undefined) { + const pointer = uniffiTypeRoomPowerLevelsObjectFactory.pointer(this); + uniffiTypeRoomPowerLevelsObjectFactory.freePointer(pointer); + uniffiTypeRoomPowerLevelsObjectFactory.unbless(ptr); + delete (this as any)[destructorGuardSymbol]; + } + } + + static instanceOf(obj: any): obj is RoomPowerLevels { + return uniffiTypeRoomPowerLevelsObjectFactory.isConcreteType(obj); + } +} + +const uniffiTypeRoomPowerLevelsObjectFactory: UniffiObjectFactory = + (() => { + return { + create(pointer: UnsafeMutableRawPointer): RoomPowerLevelsInterface { + const instance = Object.create(RoomPowerLevels.prototype); + instance[pointerLiteralSymbol] = pointer; + instance[destructorGuardSymbol] = this.bless(pointer); + instance[uniffiTypeNameSymbol] = 'RoomPowerLevels'; + return instance; + }, + + bless(p: UnsafeMutableRawPointer): UniffiRustArcPtr { + return uniffiCaller.rustCall( + /*caller:*/ (status) => + nativeModule().ubrn_uniffi_internal_fn_method_roompowerlevels_ffi__bless_pointer( + p, + status + ), + /*liftString:*/ FfiConverterString.lift + ); + }, + + unbless(ptr: UniffiRustArcPtr) { + ptr.markDestroyed(); + }, + + pointer(obj: RoomPowerLevelsInterface): UnsafeMutableRawPointer { + if ((obj as any)[destructorGuardSymbol] === undefined) { + throw new UniffiInternalError.UnexpectedNullPointer(); + } + return (obj as any)[pointerLiteralSymbol]; + }, + + clonePointer(obj: RoomPowerLevelsInterface): UnsafeMutableRawPointer { + const pointer = this.pointer(obj); + return uniffiCaller.rustCall( + /*caller:*/ (callStatus) => + nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels( + pointer, + callStatus + ), + /*liftString:*/ FfiConverterString.lift + ); + }, + + freePointer(pointer: UnsafeMutableRawPointer): void { + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => + nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_free_roompowerlevels( + pointer, + callStatus + ), + /*liftString:*/ FfiConverterString.lift + ); + }, + + isConcreteType(obj: any): obj is RoomPowerLevelsInterface { + return ( + obj[destructorGuardSymbol] && + obj[uniffiTypeNameSymbol] === 'RoomPowerLevels' + ); + }, + }; + })(); +// FfiConverter for RoomPowerLevelsInterface +const FfiConverterTypeRoomPowerLevels = new FfiConverterObject( + uniffiTypeRoomPowerLevelsObjectFactory +); + /** * A room preview for a room. It's intended to be used to represent rooms that * aren't joined yet. @@ -49814,6 +49988,7 @@ export interface SyncServiceBuilderInterface { * Enable the "offline" mode for the [`SyncService`]. */ withOfflineMode(): SyncServiceBuilderInterface; + withSharePos(enable: boolean): SyncServiceBuilderInterface; } export class SyncServiceBuilder @@ -49899,6 +50074,21 @@ export class SyncServiceBuilder ); } + public withSharePos(enable: boolean): SyncServiceBuilderInterface { + return FfiConverterTypeSyncServiceBuilder.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos( + uniffiTypeSyncServiceBuilderObjectFactory.clonePointer(this), + FfiConverterBool.lower(enable), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + /** * {@inheritDoc uniffi-bindgen-react-native#UniffiAbstractObject.uniffiDestroy} */ @@ -50139,6 +50329,7 @@ const FfiConverterTypeTaskHandle = new FfiConverterObject( export interface ThreadSummaryInterface { latestEvent(): EmbeddedEventDetails; + numReplies(): /*u64*/ bigint; } export class ThreadSummary @@ -50170,6 +50361,20 @@ export class ThreadSummary ); } + public numReplies(): /*u64*/ bigint { + return FfiConverterUInt64.lift( + uniffiCaller.rustCall( + /*caller:*/ (callStatus) => { + return nativeModule().ubrn_uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies( + uniffiTypeThreadSummaryObjectFactory.clonePointer(this), + callStatus + ); + }, + /*liftString:*/ FfiConverterString.lift + ) + ); + } + /** * {@inheritDoc uniffi-bindgen-react-native#UniffiAbstractObject.uniffiDestroy} */ @@ -50416,8 +50621,9 @@ export interface TimelineInterface { description: string | undefined, zoomLevel: /*u8*/ number | undefined, assetType: AssetType | undefined, + replyParams: ReplyParameters | undefined, asyncOpts_?: { signal: AbortSignal } - ): Promise; + ) /*throws*/ : Promise; sendPollResponse( pollStartEventId: string, answers: Array, @@ -51233,8 +51439,9 @@ export class Timeline description: string | undefined, zoomLevel: /*u8*/ number | undefined, assetType: AssetType | undefined, + replyParams: ReplyParameters | undefined, asyncOpts_?: { signal: AbortSignal } - ): Promise { + ): Promise /*throws*/ { const __stack = uniffiIsDebug ? new Error().stack : undefined; try { return await uniffiRustCallAsync( @@ -51246,7 +51453,8 @@ export class Timeline FfiConverterString.lower(geoUri), FfiConverterOptionalString.lower(description), FfiConverterOptionalUInt8.lower(zoomLevel), - FfiConverterOptionalTypeAssetType.lower(assetType) + FfiConverterOptionalTypeAssetType.lower(assetType), + FfiConverterOptionalTypeReplyParameters.lower(replyParams) ); }, /*pollFunc:*/ nativeModule() @@ -51259,7 +51467,10 @@ export class Timeline .ubrn_ffi_matrix_sdk_ffi_rust_future_free_void, /*liftFunc:*/ (_v) => {}, /*liftString:*/ FfiConverterString.lift, - /*asyncOpts:*/ asyncOpts_ + /*asyncOpts:*/ asyncOpts_, + /*errorHandler:*/ FfiConverterTypeClientError.lift.bind( + FfiConverterTypeClientError + ) ); } catch (__error: any) { if (uniffiIsDebug && __error instanceof Error) { @@ -53294,11 +53505,6 @@ const FfiConverterOptionalTypeComposerDraft = new FfiConverterOptional( FfiConverterTypeComposerDraft ); -// FfiConverter for ElementCallWellKnown | undefined -const FfiConverterOptionalTypeElementCallWellKnown = new FfiConverterOptional( - FfiConverterTypeElementCallWellKnown -); - // FfiConverter for EventTimelineItem | undefined const FfiConverterOptionalTypeEventTimelineItem = new FfiConverterOptional( FfiConverterTypeEventTimelineItem @@ -53339,11 +53545,6 @@ const FfiConverterOptionalTypeMentions = new FfiConverterOptional( FfiConverterTypeMentions ); -// FfiConverter for NotificationItem | undefined -const FfiConverterOptionalTypeNotificationItem = new FfiConverterOptional( - FfiConverterTypeNotificationItem -); - // FfiConverter for NotificationPowerLevels | undefined const FfiConverterOptionalTypeNotificationPowerLevels = new FfiConverterOptional(FfiConverterTypeNotificationPowerLevels); @@ -53522,6 +53723,12 @@ const FfiConverterMapTypeTagNameTypeTagInfo = new FfiConverterMap( FfiConverterTypeTagInfo ); +// FfiConverter for Map +const FfiConverterMapStringTypeBatchNotificationResult = new FfiConverterMap( + FfiConverterString, + FfiConverterTypeBatchNotificationResult +); + // FfiConverter for Map> const FfiConverterMapStringArrayString = new FfiConverterMap( FfiConverterString, @@ -53552,11 +53759,6 @@ const FfiConverterOptionalTypeEventSendState = new FfiConverterOptional( FfiConverterTypeEventSendState ); -// FfiConverter for Intent | undefined -const FfiConverterOptionalTypeIntent = new FfiConverterOptional( - FfiConverterTypeIntent -); - // FfiConverter for InviteAvatars | undefined const FfiConverterOptionalTypeInviteAvatars = new FfiConverterOptional( FfiConverterTypeInviteAvatars @@ -53648,11 +53850,21 @@ const FfiConverterOptionalTypeRoomMessageEventContentWithoutRelation = FfiConverterTypeRoomMessageEventContentWithoutRelation ); +// FfiConverter for RoomPowerLevelsInterface | undefined +const FfiConverterOptionalTypeRoomPowerLevels = new FfiConverterOptional( + FfiConverterTypeRoomPowerLevels +); + // FfiConverter for SendHandleInterface | undefined const FfiConverterOptionalTypeSendHandle = new FfiConverterOptional( FfiConverterTypeSendHandle ); +// FfiConverter for SyncServiceInterface | undefined +const FfiConverterOptionalTypeSyncService = new FfiConverterOptional( + FfiConverterTypeSyncService +); + // FfiConverter for TaskHandleInterface | undefined const FfiConverterOptionalTypeTaskHandle = new FfiConverterOptional( FfiConverterTypeTaskHandle @@ -53822,14 +54034,6 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit' ); } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging() !== - 53125 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging' - ); - } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id() !== 15808 @@ -53872,20 +54076,12 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_func_log_event() !== - 62286 + 55646 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_func_log_event' ); } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known() !== - 21379 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known' - ); - } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver() !== 34206 @@ -53952,7 +54148,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget() !== - 4988 + 61776 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget' @@ -53966,6 +54162,14 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from' ); } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer() !== + 1447 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer' + ); + } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_display_name() !== 65010 @@ -54064,7 +54268,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_clear_caches() !== - 65177 + 55711 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_client_clear_caches' @@ -54176,7 +54380,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_get_media_file() !== - 52604 + 20094 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_client_get_media_file' @@ -54294,6 +54498,14 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_method_client_ignored_users' ); } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported() !== + 34863 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported' + ); + } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_supported() !== 17934 @@ -54399,11 +54611,11 @@ function uniffiEnsureInitialized() { ); } if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities() !== - 39651 + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info() !== + 16333 ) { throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities' + 'uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info' ); } if ( @@ -54710,6 +54922,14 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_cross_process_store_locks_holder_name' ); } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings() !== + 34715 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings' + ); + } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_automatic_token_refresh() !== 43839 @@ -54774,14 +54994,6 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_request_config' ); } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement() !== - 2776 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement' - ); - } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_recipient_strategy() !== 41183 @@ -54870,6 +55082,14 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_system_is_memory_constrained' ); } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled() !== + 33768 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled' + ); + } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent() !== 13719 @@ -55224,7 +55444,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notification() !== - 2524 + 52873 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notification' @@ -55232,7 +55452,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notifications() !== - 30600 + 64372 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notifications' @@ -55470,78 +55690,6 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_method_room_ban_user' ); } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban() !== - 64711 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban' - ); - } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite() !== - 62459 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite' - ); - } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick() !== - 12773 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick' - ); - } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin() !== - 8341 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin' - ); - } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other() !== - 13274 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other' - ); - } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own() !== - 57442 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own' - ); - } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message() !== - 36743 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message' - ); - } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state() !== - 19062 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state' - ); - } - if ( - nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification() !== - 18832 - ) { - throw new UniffiInternalError.ApiChecksumMismatch( - 'uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification' - ); - } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias() !== 19786 @@ -55552,7 +55700,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft() !== - 39667 + 59182 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft' @@ -55624,7 +55772,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_get_power_levels() !== - 54094 + 47640 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_room_get_power_levels' @@ -55720,7 +55868,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_is_public() !== - 7336 + 57746 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_room_is_public' @@ -55792,7 +55940,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_load_composer_draft() !== - 38115 + 62856 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_room_load_composer_draft' @@ -55960,7 +56108,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_reset_power_levels() !== - 63622 + 5060 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_room_reset_power_levels' @@ -55984,7 +56132,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_room_save_composer_draft() !== - 62232 + 27585 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_room_save_composer_draft' @@ -56360,7 +56508,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_subscribe_to_rooms() !== - 59765 + 5528 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_subscribe_to_rooms' @@ -56398,6 +56546,166 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_method_roommessageeventcontentwithoutrelation_with_mentions' ); } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban() !== + 7183 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite() !== + 57708 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick() !== + 461 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin() !== + 52852 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other() !== + 60699 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own() !== + 32905 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message() !== + 2424 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state() !== + 33539 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification() !== + 64150 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban() !== + 57457 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite() !== + 41275 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick() !== + 51066 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin() !== + 4609 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other() !== + 52543 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own() !== + 2983 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message() !== + 48291 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state() !== + 14792 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification() !== + 26319 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels() !== + 16221 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels' + ); + } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values() !== + 38774 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values' + ); + } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget() !== 18179 @@ -56670,6 +56978,14 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_offline_mode' ); } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos() !== + 18892 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos' + ); + } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel() !== 9124 @@ -56694,6 +57010,14 @@ function uniffiEnsureInitialized() { 'uniffi_matrix_sdk_ffi_checksum_method_threadsummary_latest_event' ); } + if ( + nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies() !== + 10634 + ) { + throw new UniffiInternalError.ApiChecksumMismatch( + 'uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies' + ); + } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener() !== 18746 @@ -56856,7 +57180,7 @@ function uniffiEnsureInitialized() { } if ( nativeModule().ubrn_uniffi_matrix_sdk_ffi_checksum_method_timeline_send_location() !== - 47400 + 57832 ) { throw new UniffiInternalError.ApiChecksumMismatch( 'uniffi_matrix_sdk_ffi_checksum_method_timeline_send_location' @@ -57575,6 +57899,7 @@ export default Object.freeze({ FfiConverterTypeAuthDataPasswordDetails, FfiConverterTypeBackupState, FfiConverterTypeBackupUploadState, + FfiConverterTypeBatchNotificationResult, FfiConverterTypeClient, FfiConverterTypeClientBuildError, FfiConverterTypeClientBuilder, @@ -57588,14 +57913,11 @@ export default Object.freeze({ FfiConverterTypeCrossSigningResetAuthType, FfiConverterTypeDateDividerMode, FfiConverterTypeEditedContent, - FfiConverterTypeElementCallWellKnown, - FfiConverterTypeElementWellKnown, FfiConverterTypeEmbeddedEventDetails, FfiConverterTypeEmoteMessageContent, FfiConverterTypeEnableRecoveryProgress, FfiConverterTypeEncryptedMessage, FfiConverterTypeEncryption, - FfiConverterTypeEncryptionSystem, FfiConverterTypeErrorKind, FfiConverterTypeEventOrTransactionId, FfiConverterTypeEventSendState, @@ -57620,7 +57942,6 @@ export default Object.freeze({ FfiConverterTypeImageMessageContent, FfiConverterTypeInReplyToDetails, FfiConverterTypeInsertData, - FfiConverterTypeIntent, FfiConverterTypeInviteAvatars, FfiConverterTypeJoinRule, FfiConverterTypeJsonValue, @@ -57661,6 +57982,7 @@ export default Object.freeze({ FfiConverterTypeNotificationSenderInfo, FfiConverterTypeNotificationSettings, FfiConverterTypeNotificationSettingsError, + FfiConverterTypeNotificationStatus, FfiConverterTypeNotifyType, FfiConverterTypeOidcConfiguration, FfiConverterTypeOidcCrossSigningResetInfo, @@ -57726,6 +58048,7 @@ export default Object.freeze({ FfiConverterTypeRoomNotificationMode, FfiConverterTypeRoomNotificationSettings, FfiConverterTypeRoomPowerLevels, + FfiConverterTypeRoomPowerLevelsValues, FfiConverterTypeRoomPreset, FfiConverterTypeRoomPreview, FfiConverterTypeRoomPreviewInfo, @@ -57797,7 +58120,6 @@ export default Object.freeze({ FfiConverterTypeVerificationState, FfiConverterTypeVideoInfo, FfiConverterTypeVideoMessageContent, - FfiConverterTypeVirtualElementCallWidgetOptions, FfiConverterTypeVirtualTimelineItem, FfiConverterTypeWidgetCapabilities, FfiConverterTypeWidgetDriver, diff --git a/swift/matrix_sdk.swift b/swift/matrix_sdk.swift index 10afa9a..674c744 100644 --- a/swift/matrix_sdk.swift +++ b/swift/matrix_sdk.swift @@ -413,6 +413,22 @@ fileprivate struct FfiConverterInt64: FfiConverterPrimitive { } } +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +fileprivate struct FfiConverterDouble: FfiConverterPrimitive { + typealias FfiType = Double + typealias SwiftType = Double + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> Double { + return try lift(readDouble(&buf)) + } + + public static func write(_ value: Double, into buf: inout [UInt8]) { + writeDouble(&buf, lower(value)) + } +} + #if swift(>=5.8) @_documentation(visibility: private) #endif @@ -811,6 +827,421 @@ public func FfiConverterTypeRoomPowerLevelChanges_lower(_ value: RoomPowerLevelC return FfiConverterTypeRoomPowerLevelChanges.lower(value) } + +/** + * Properties to create a new virtual Element Call widget. + */ +public struct VirtualElementCallWidgetOptions { + /** + * The url to the app. + * + * E.g. , , + */ + public var elementCallUrl: String + /** + * The widget id. + */ + public var widgetId: String + /** + * The url that is used as the target for the PostMessages sent + * by the widget (to the client). + * + * For a web app client this is the client url. In case of using other + * platforms the client most likely is setup up to listen to + * postmessages in the same webview the widget is hosted. In this case + * the `parent_url` is set to the url of the webview with the widget. Be + * aware that this means that the widget will receive its own postmessage + * messages. The `matrix-widget-api` (js) ignores those so this works but + * it might break custom implementations. + * + * Defaults to `element_call_url` for the non-iframe (dedicated webview) + * usecase. + */ + public var parentUrl: String? + /** + * Whether the branding header of Element call should be shown or if a + * mobile header navbar should be render. + * + * Default: [`HeaderStyle::Standard`] + */ + public var header: HeaderStyle? + /** + * Whether the branding header of Element call should be hidden. + * + * Default: `true` + */ + public var hideHeader: Bool? + /** + * If set, the lobby will be skipped and the widget will join the + * call on the `io.element.join` action. + * + * Default: `false` + */ + public var preload: Bool? + /** + * The font scale which will be used inside element call. + * + * Default: `1` + */ + public var fontScale: Double? + /** + * Whether element call should prompt the user to open in the browser or + * the app. + * + * Default: `false` + */ + public var appPrompt: Bool? + /** + * Make it not possible to get to the calls list in the webview. + * + * Default: `true` + */ + public var confineToRoom: Bool? + /** + * The font to use, to adapt to the system font. + */ + public var font: String? + /** + * The encryption system to use. + * + * Use `EncryptionSystem::Unencrypted` to disable encryption. + */ + public var encryption: EncryptionSystem + /** + * The intent of showing the call. + * If the user wants to start a call or join an existing one. + * Controls if the lobby is skipped or not. + */ + public var intent: Intent? + /** + * Do not show the screenshare button. + */ + public var hideScreensharing: Bool + /** + * Can be used to pass a PostHog id to element call. + */ + public var posthogUserId: String? + /** + * The host of the posthog api. + * This is only used by the embedded package of Element Call. + */ + public var posthogApiHost: String? + /** + * The key for the posthog api. + * This is only used by the embedded package of Element Call. + */ + public var posthogApiKey: String? + /** + * The url to use for submitting rageshakes. + * This is only used by the embedded package of Element Call. + */ + public var rageshakeSubmitUrl: String? + /** + * Sentry [DSN](https://docs.sentry.io/concepts/key-terms/dsn-explainer/) + * This is only used by the embedded package of Element Call. + */ + public var sentryDsn: String? + /** + * Sentry [environment](https://docs.sentry.io/concepts/key-terms/key-terms/) + * This is only used by the embedded package of Element Call. + */ + public var sentryEnvironment: String? + /** + * - `false`: the webview shows a a list of devices injected by the + * client. (used on ios & android) + */ + public var controlledMediaDevices: Bool + + // Default memberwise initializers are never public by default, so we + // declare one manually. + public init( + /** + * The url to the app. + * + * E.g. , , + */elementCallUrl: String, + /** + * The widget id. + */widgetId: String, + /** + * The url that is used as the target for the PostMessages sent + * by the widget (to the client). + * + * For a web app client this is the client url. In case of using other + * platforms the client most likely is setup up to listen to + * postmessages in the same webview the widget is hosted. In this case + * the `parent_url` is set to the url of the webview with the widget. Be + * aware that this means that the widget will receive its own postmessage + * messages. The `matrix-widget-api` (js) ignores those so this works but + * it might break custom implementations. + * + * Defaults to `element_call_url` for the non-iframe (dedicated webview) + * usecase. + */parentUrl: String?, + /** + * Whether the branding header of Element call should be shown or if a + * mobile header navbar should be render. + * + * Default: [`HeaderStyle::Standard`] + */header: HeaderStyle?, + /** + * Whether the branding header of Element call should be hidden. + * + * Default: `true` + */hideHeader: Bool?, + /** + * If set, the lobby will be skipped and the widget will join the + * call on the `io.element.join` action. + * + * Default: `false` + */preload: Bool?, + /** + * The font scale which will be used inside element call. + * + * Default: `1` + */fontScale: Double?, + /** + * Whether element call should prompt the user to open in the browser or + * the app. + * + * Default: `false` + */appPrompt: Bool?, + /** + * Make it not possible to get to the calls list in the webview. + * + * Default: `true` + */confineToRoom: Bool?, + /** + * The font to use, to adapt to the system font. + */font: String?, + /** + * The encryption system to use. + * + * Use `EncryptionSystem::Unencrypted` to disable encryption. + */encryption: EncryptionSystem, + /** + * The intent of showing the call. + * If the user wants to start a call or join an existing one. + * Controls if the lobby is skipped or not. + */intent: Intent?, + /** + * Do not show the screenshare button. + */hideScreensharing: Bool, + /** + * Can be used to pass a PostHog id to element call. + */posthogUserId: String?, + /** + * The host of the posthog api. + * This is only used by the embedded package of Element Call. + */posthogApiHost: String?, + /** + * The key for the posthog api. + * This is only used by the embedded package of Element Call. + */posthogApiKey: String?, + /** + * The url to use for submitting rageshakes. + * This is only used by the embedded package of Element Call. + */rageshakeSubmitUrl: String?, + /** + * Sentry [DSN](https://docs.sentry.io/concepts/key-terms/dsn-explainer/) + * This is only used by the embedded package of Element Call. + */sentryDsn: String?, + /** + * Sentry [environment](https://docs.sentry.io/concepts/key-terms/key-terms/) + * This is only used by the embedded package of Element Call. + */sentryEnvironment: String?, + /** + * - `false`: the webview shows a a list of devices injected by the + * client. (used on ios & android) + */controlledMediaDevices: Bool) { + self.elementCallUrl = elementCallUrl + self.widgetId = widgetId + self.parentUrl = parentUrl + self.header = header + self.hideHeader = hideHeader + self.preload = preload + self.fontScale = fontScale + self.appPrompt = appPrompt + self.confineToRoom = confineToRoom + self.font = font + self.encryption = encryption + self.intent = intent + self.hideScreensharing = hideScreensharing + self.posthogUserId = posthogUserId + self.posthogApiHost = posthogApiHost + self.posthogApiKey = posthogApiKey + self.rageshakeSubmitUrl = rageshakeSubmitUrl + self.sentryDsn = sentryDsn + self.sentryEnvironment = sentryEnvironment + self.controlledMediaDevices = controlledMediaDevices + } +} + +#if compiler(>=6) +extension VirtualElementCallWidgetOptions: Sendable {} +#endif + + +extension VirtualElementCallWidgetOptions: Equatable, Hashable { + public static func ==(lhs: VirtualElementCallWidgetOptions, rhs: VirtualElementCallWidgetOptions) -> Bool { + if lhs.elementCallUrl != rhs.elementCallUrl { + return false + } + if lhs.widgetId != rhs.widgetId { + return false + } + if lhs.parentUrl != rhs.parentUrl { + return false + } + if lhs.header != rhs.header { + return false + } + if lhs.hideHeader != rhs.hideHeader { + return false + } + if lhs.preload != rhs.preload { + return false + } + if lhs.fontScale != rhs.fontScale { + return false + } + if lhs.appPrompt != rhs.appPrompt { + return false + } + if lhs.confineToRoom != rhs.confineToRoom { + return false + } + if lhs.font != rhs.font { + return false + } + if lhs.encryption != rhs.encryption { + return false + } + if lhs.intent != rhs.intent { + return false + } + if lhs.hideScreensharing != rhs.hideScreensharing { + return false + } + if lhs.posthogUserId != rhs.posthogUserId { + return false + } + if lhs.posthogApiHost != rhs.posthogApiHost { + return false + } + if lhs.posthogApiKey != rhs.posthogApiKey { + return false + } + if lhs.rageshakeSubmitUrl != rhs.rageshakeSubmitUrl { + return false + } + if lhs.sentryDsn != rhs.sentryDsn { + return false + } + if lhs.sentryEnvironment != rhs.sentryEnvironment { + return false + } + if lhs.controlledMediaDevices != rhs.controlledMediaDevices { + return false + } + return true + } + + public func hash(into hasher: inout Hasher) { + hasher.combine(elementCallUrl) + hasher.combine(widgetId) + hasher.combine(parentUrl) + hasher.combine(header) + hasher.combine(hideHeader) + hasher.combine(preload) + hasher.combine(fontScale) + hasher.combine(appPrompt) + hasher.combine(confineToRoom) + hasher.combine(font) + hasher.combine(encryption) + hasher.combine(intent) + hasher.combine(hideScreensharing) + hasher.combine(posthogUserId) + hasher.combine(posthogApiHost) + hasher.combine(posthogApiKey) + hasher.combine(rageshakeSubmitUrl) + hasher.combine(sentryDsn) + hasher.combine(sentryEnvironment) + hasher.combine(controlledMediaDevices) + } +} + + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public struct FfiConverterTypeVirtualElementCallWidgetOptions: FfiConverterRustBuffer { + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> VirtualElementCallWidgetOptions { + return + try VirtualElementCallWidgetOptions( + elementCallUrl: FfiConverterString.read(from: &buf), + widgetId: FfiConverterString.read(from: &buf), + parentUrl: FfiConverterOptionString.read(from: &buf), + header: FfiConverterOptionTypeHeaderStyle.read(from: &buf), + hideHeader: FfiConverterOptionBool.read(from: &buf), + preload: FfiConverterOptionBool.read(from: &buf), + fontScale: FfiConverterOptionDouble.read(from: &buf), + appPrompt: FfiConverterOptionBool.read(from: &buf), + confineToRoom: FfiConverterOptionBool.read(from: &buf), + font: FfiConverterOptionString.read(from: &buf), + encryption: FfiConverterTypeEncryptionSystem.read(from: &buf), + intent: FfiConverterOptionTypeIntent.read(from: &buf), + hideScreensharing: FfiConverterBool.read(from: &buf), + posthogUserId: FfiConverterOptionString.read(from: &buf), + posthogApiHost: FfiConverterOptionString.read(from: &buf), + posthogApiKey: FfiConverterOptionString.read(from: &buf), + rageshakeSubmitUrl: FfiConverterOptionString.read(from: &buf), + sentryDsn: FfiConverterOptionString.read(from: &buf), + sentryEnvironment: FfiConverterOptionString.read(from: &buf), + controlledMediaDevices: FfiConverterBool.read(from: &buf) + ) + } + + public static func write(_ value: VirtualElementCallWidgetOptions, into buf: inout [UInt8]) { + FfiConverterString.write(value.elementCallUrl, into: &buf) + FfiConverterString.write(value.widgetId, into: &buf) + FfiConverterOptionString.write(value.parentUrl, into: &buf) + FfiConverterOptionTypeHeaderStyle.write(value.header, into: &buf) + FfiConverterOptionBool.write(value.hideHeader, into: &buf) + FfiConverterOptionBool.write(value.preload, into: &buf) + FfiConverterOptionDouble.write(value.fontScale, into: &buf) + FfiConverterOptionBool.write(value.appPrompt, into: &buf) + FfiConverterOptionBool.write(value.confineToRoom, into: &buf) + FfiConverterOptionString.write(value.font, into: &buf) + FfiConverterTypeEncryptionSystem.write(value.encryption, into: &buf) + FfiConverterOptionTypeIntent.write(value.intent, into: &buf) + FfiConverterBool.write(value.hideScreensharing, into: &buf) + FfiConverterOptionString.write(value.posthogUserId, into: &buf) + FfiConverterOptionString.write(value.posthogApiHost, into: &buf) + FfiConverterOptionString.write(value.posthogApiKey, into: &buf) + FfiConverterOptionString.write(value.rageshakeSubmitUrl, into: &buf) + FfiConverterOptionString.write(value.sentryDsn, into: &buf) + FfiConverterOptionString.write(value.sentryEnvironment, into: &buf) + FfiConverterBool.write(value.controlledMediaDevices, into: &buf) + } +} + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeVirtualElementCallWidgetOptions_lift(_ buf: RustBuffer) throws -> VirtualElementCallWidgetOptions { + return try FfiConverterTypeVirtualElementCallWidgetOptions.lift(buf) +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeVirtualElementCallWidgetOptions_lower(_ value: VirtualElementCallWidgetOptions) -> RustBuffer { + return FfiConverterTypeVirtualElementCallWidgetOptions.lower(value) +} + // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. /** @@ -912,6 +1343,276 @@ extension BackupDownloadStrategy: Equatable, Hashable {} +// Note that we don't yet support `indirect` for enums. +// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. +/** + * Defines if a call is encrypted and which encryption system should be used. + * + * This controls the url parameters: `perParticipantE2EE`, `password`. + */ + +public enum EncryptionSystem { + + /** + * Equivalent to the element call url parameter: `perParticipantE2EE=false` + * and no password. + */ + case unencrypted + /** + * Equivalent to the element call url parameters: + * `perParticipantE2EE=true` + */ + case perParticipantKeys + /** + * Equivalent to the element call url parameters: + * `password={secret}` + */ + case sharedSecret( + /** + * The secret/password which is used in the url. + */secret: String + ) +} + + +#if compiler(>=6) +extension EncryptionSystem: Sendable {} +#endif + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public struct FfiConverterTypeEncryptionSystem: FfiConverterRustBuffer { + typealias SwiftType = EncryptionSystem + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> EncryptionSystem { + let variant: Int32 = try readInt(&buf) + switch variant { + + case 1: return .unencrypted + + case 2: return .perParticipantKeys + + case 3: return .sharedSecret(secret: try FfiConverterString.read(from: &buf) + ) + + default: throw UniffiInternalError.unexpectedEnumCase + } + } + + public static func write(_ value: EncryptionSystem, into buf: inout [UInt8]) { + switch value { + + + case .unencrypted: + writeInt(&buf, Int32(1)) + + + case .perParticipantKeys: + writeInt(&buf, Int32(2)) + + + case let .sharedSecret(secret): + writeInt(&buf, Int32(3)) + FfiConverterString.write(secret, into: &buf) + + } + } +} + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeEncryptionSystem_lift(_ buf: RustBuffer) throws -> EncryptionSystem { + return try FfiConverterTypeEncryptionSystem.lift(buf) +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeEncryptionSystem_lower(_ value: EncryptionSystem) -> RustBuffer { + return FfiConverterTypeEncryptionSystem.lower(value) +} + + +extension EncryptionSystem: Equatable, Hashable {} + + + + + + +// Note that we don't yet support `indirect` for enums. +// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. +/** + * Defines how (if) element-call renders a header. + */ + +public enum HeaderStyle { + + /** + * The normal header with branding. + */ + case standard + /** + * Render a header with a back button (useful on mobile platforms). + */ + case appBar + /** + * No Header (useful for webapps). + */ + case none +} + + +#if compiler(>=6) +extension HeaderStyle: Sendable {} +#endif + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public struct FfiConverterTypeHeaderStyle: FfiConverterRustBuffer { + typealias SwiftType = HeaderStyle + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> HeaderStyle { + let variant: Int32 = try readInt(&buf) + switch variant { + + case 1: return .standard + + case 2: return .appBar + + case 3: return .none + + default: throw UniffiInternalError.unexpectedEnumCase + } + } + + public static func write(_ value: HeaderStyle, into buf: inout [UInt8]) { + switch value { + + + case .standard: + writeInt(&buf, Int32(1)) + + + case .appBar: + writeInt(&buf, Int32(2)) + + + case .none: + writeInt(&buf, Int32(3)) + + } + } +} + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeHeaderStyle_lift(_ buf: RustBuffer) throws -> HeaderStyle { + return try FfiConverterTypeHeaderStyle.lift(buf) +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeHeaderStyle_lower(_ value: HeaderStyle) -> RustBuffer { + return FfiConverterTypeHeaderStyle.lower(value) +} + + +extension HeaderStyle: Equatable, Hashable {} + + + + + + +// Note that we don't yet support `indirect` for enums. +// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. +/** + * Defines the intent of showing the call. + * + * This controls whether to show or skip the lobby. + */ + +public enum Intent { + + /** + * The user wants to start a call. + */ + case startCall + /** + * The user wants to join an existing call. + */ + case joinExisting +} + + +#if compiler(>=6) +extension Intent: Sendable {} +#endif + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public struct FfiConverterTypeIntent: FfiConverterRustBuffer { + typealias SwiftType = Intent + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> Intent { + let variant: Int32 = try readInt(&buf) + switch variant { + + case 1: return .startCall + + case 2: return .joinExisting + + default: throw UniffiInternalError.unexpectedEnumCase + } + } + + public static func write(_ value: Intent, into buf: inout [UInt8]) { + switch value { + + + case .startCall: + writeInt(&buf, Int32(1)) + + + case .joinExisting: + writeInt(&buf, Int32(2)) + + } + } +} + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeIntent_lift(_ buf: RustBuffer) throws -> Intent { + return try FfiConverterTypeIntent.lift(buf) +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeIntent_lower(_ value: Intent) -> RustBuffer { + return FfiConverterTypeIntent.lower(value) +} + + +extension Intent: Equatable, Hashable {} + + + + + + // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. /** @@ -1387,6 +2088,126 @@ fileprivate struct FfiConverterOptionInt64: FfiConverterRustBuffer { } } +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +fileprivate struct FfiConverterOptionDouble: FfiConverterRustBuffer { + typealias SwiftType = Double? + + public static func write(_ value: SwiftType, into buf: inout [UInt8]) { + guard let value = value else { + writeInt(&buf, Int8(0)) + return + } + writeInt(&buf, Int8(1)) + FfiConverterDouble.write(value, into: &buf) + } + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { + switch try readInt(&buf) as Int8 { + case 0: return nil + case 1: return try FfiConverterDouble.read(from: &buf) + default: throw UniffiInternalError.unexpectedOptionalTag + } + } +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +fileprivate struct FfiConverterOptionBool: FfiConverterRustBuffer { + typealias SwiftType = Bool? + + public static func write(_ value: SwiftType, into buf: inout [UInt8]) { + guard let value = value else { + writeInt(&buf, Int8(0)) + return + } + writeInt(&buf, Int8(1)) + FfiConverterBool.write(value, into: &buf) + } + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { + switch try readInt(&buf) as Int8 { + case 0: return nil + case 1: return try FfiConverterBool.read(from: &buf) + default: throw UniffiInternalError.unexpectedOptionalTag + } + } +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +fileprivate struct FfiConverterOptionString: FfiConverterRustBuffer { + typealias SwiftType = String? + + public static func write(_ value: SwiftType, into buf: inout [UInt8]) { + guard let value = value else { + writeInt(&buf, Int8(0)) + return + } + writeInt(&buf, Int8(1)) + FfiConverterString.write(value, into: &buf) + } + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { + switch try readInt(&buf) as Int8 { + case 0: return nil + case 1: return try FfiConverterString.read(from: &buf) + default: throw UniffiInternalError.unexpectedOptionalTag + } + } +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +fileprivate struct FfiConverterOptionTypeHeaderStyle: FfiConverterRustBuffer { + typealias SwiftType = HeaderStyle? + + public static func write(_ value: SwiftType, into buf: inout [UInt8]) { + guard let value = value else { + writeInt(&buf, Int8(0)) + return + } + writeInt(&buf, Int8(1)) + FfiConverterTypeHeaderStyle.write(value, into: &buf) + } + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { + switch try readInt(&buf) as Int8 { + case 0: return nil + case 1: return try FfiConverterTypeHeaderStyle.read(from: &buf) + default: throw UniffiInternalError.unexpectedOptionalTag + } + } +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +fileprivate struct FfiConverterOptionTypeIntent: FfiConverterRustBuffer { + typealias SwiftType = Intent? + + public static func write(_ value: SwiftType, into buf: inout [UInt8]) { + guard let value = value else { + writeInt(&buf, Int8(0)) + return + } + writeInt(&buf, Int8(1)) + FfiConverterTypeIntent.write(value, into: &buf) + } + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { + switch try readInt(&buf) as Int8 { + case 0: return nil + case 1: return try FfiConverterTypeIntent.read(from: &buf) + default: throw UniffiInternalError.unexpectedOptionalTag + } + } +} + private enum InitializationResult { case ok case contractVersionMismatch diff --git a/swift/matrix_sdk_common.swift b/swift/matrix_sdk_common.swift index b710d40..0cd6858 100644 --- a/swift/matrix_sdk_common.swift +++ b/swift/matrix_sdk_common.swift @@ -470,6 +470,11 @@ public enum ShieldStateCode { * The sender was previously verified but changed their identity. */ case verificationViolation + /** + * The `sender` field on the event does not match the owner of the device + * that established the Megolm session. + */ + case mismatchedSender } @@ -499,6 +504,8 @@ public struct FfiConverterTypeShieldStateCode: FfiConverterRustBuffer { case 6: return .verificationViolation + case 7: return .mismatchedSender + default: throw UniffiInternalError.unexpectedEnumCase } } @@ -530,6 +537,10 @@ public struct FfiConverterTypeShieldStateCode: FfiConverterRustBuffer { case .verificationViolation: writeInt(&buf, Int32(6)) + + case .mismatchedSender: + writeInt(&buf, Int32(7)) + } } } diff --git a/swift/matrix_sdk_ffi.swift b/swift/matrix_sdk_ffi.swift index 29147a8..b83bb5e 100644 --- a/swift/matrix_sdk_ffi.swift +++ b/swift/matrix_sdk_ffi.swift @@ -688,9 +688,16 @@ public protocol ClientProtocol: AnyObject, Sendable { * Clear all the non-critical caches for this Client instance. * * WARNING: This will clear all the caches, including the base store (state - * store), so callers must make sure that any sync is inactive before - * calling this method. In particular, the `SyncService` must not be - * running. After the method returns, the Client will be in an unstable + * store), so callers must make sure that the Client is at rest before + * calling it. + * + * In particular, if a [`SyncService`] is running, it must be passed here + * as a parameter, or stopped before calling this method. Ideally, the + * send queues should have been disabled and must all be inactive (i.e. + * not sending events); this method will disable them, but it might not + * be enough if the queues are still processing events. + * + * After the method returns, the Client will be in an unstable * state, and it is required that the caller reinstantiates a new * Client instance, be it via dropping the previous and re-creating it, * restarting their application, or any other similar means. @@ -701,7 +708,7 @@ public protocol ClientProtocol: AnyObject, Sendable { * - This will empty the media cache according to the current media * retention policy. */ - func clearCaches() async throws + func clearCaches(syncService: SyncService?) async throws func createRoom(request: CreateRoomParameters) async throws -> String @@ -769,6 +776,11 @@ public protocol ClientProtocol: AnyObject, Sendable { func getMediaContent(mediaSource: MediaSource) async throws -> Data + /** + * Retrieves a media file from the media source + * + * Not available on Wasm platforms, due to lack of accessible file system. + */ func getMediaFile(mediaSource: MediaSource, filename: String?, mimeType: String, useCache: Bool, tempDir: String?) async throws -> MediaFileHandle /** @@ -836,6 +848,11 @@ public protocol ClientProtocol: AnyObject, Sendable { func ignoredUsers() async throws -> [String] + /** + * Checks if the server supports the LiveKit RTC focus for placing calls. + */ + func isLivekitRtcSupported() async throws -> Bool + /** * Checks if the server supports the report room API. */ @@ -921,11 +938,11 @@ public protocol ClientProtocol: AnyObject, Sendable { /** * Empty the server version and unstable features cache. * - * Since the SDK caches server capabilities (versions and unstable - * features), it's possible to have a stale entry in the cache. This - * functions makes it possible to force reset it. + * Since the SDK caches server info (versions, unstable features, + * well-known etc), it's possible to have a stale entry in the cache. + * This functions makes it possible to force reset it. */ - func resetServerCapabilities() async throws + func resetServerInfo() async throws /** * Resolves the given room alias to a room ID (and a list of servers), if @@ -1323,9 +1340,16 @@ open func canDeactivateAccount() -> Bool { * Clear all the non-critical caches for this Client instance. * * WARNING: This will clear all the caches, including the base store (state - * store), so callers must make sure that any sync is inactive before - * calling this method. In particular, the `SyncService` must not be - * running. After the method returns, the Client will be in an unstable + * store), so callers must make sure that the Client is at rest before + * calling it. + * + * In particular, if a [`SyncService`] is running, it must be passed here + * as a parameter, or stopped before calling this method. Ideally, the + * send queues should have been disabled and must all be inactive (i.e. + * not sending events); this method will disable them, but it might not + * be enough if the queues are still processing events. + * + * After the method returns, the Client will be in an unstable * state, and it is required that the caller reinstantiates a new * Client instance, be it via dropping the previous and re-creating it, * restarting their application, or any other similar means. @@ -1336,13 +1360,13 @@ open func canDeactivateAccount() -> Bool { * - This will empty the media cache according to the current media * retention policy. */ -open func clearCaches()async throws { +open func clearCaches(syncService: SyncService?)async throws { return try await uniffiRustCallAsync( rustFutureFunc: { uniffi_matrix_sdk_ffi_fn_method_client_clear_caches( - self.uniffiClonePointer() - + self.uniffiClonePointer(), + FfiConverterOptionTypeSyncService.lower(syncService) ) }, pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_void, @@ -1586,6 +1610,11 @@ open func getMediaContent(mediaSource: MediaSource)async throws -> Data { ) } + /** + * Retrieves a media file from the media source + * + * Not available on Wasm platforms, due to lack of accessible file system. + */ open func getMediaFile(mediaSource: MediaSource, filename: String?, mimeType: String, useCache: Bool, tempDir: String?)async throws -> MediaFileHandle { return try await uniffiRustCallAsync( @@ -1861,6 +1890,26 @@ open func ignoredUsers()async throws -> [String] { ) } + /** + * Checks if the server supports the LiveKit RTC focus for placing calls. + */ +open func isLivekitRtcSupported()async throws -> Bool { + return + try await uniffiRustCallAsync( + rustFutureFunc: { + uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported( + self.uniffiClonePointer() + + ) + }, + pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, + completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, + freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, + liftFunc: FfiConverterBool.lift, + errorHandler: FfiConverterTypeClientError_lift + ) +} + /** * Checks if the server supports the report room API. */ @@ -2126,15 +2175,15 @@ open func removeAvatar()async throws { /** * Empty the server version and unstable features cache. * - * Since the SDK caches server capabilities (versions and unstable - * features), it's possible to have a stale entry in the cache. This - * functions makes it possible to force reset it. + * Since the SDK caches server info (versions, unstable features, + * well-known etc), it's possible to have a stale entry in the cache. + * This functions makes it possible to force reset it. */ -open func resetServerCapabilities()async throws { +open func resetServerInfo()async throws { return try await uniffiRustCallAsync( rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities( + uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info( self.uniffiClonePointer() ) @@ -2776,6 +2825,11 @@ public protocol ClientBuilderProtocol: AnyObject, Sendable { func crossProcessStoreLocksHolderName(holderName: String) -> ClientBuilder + /** + * Set the trust requirement to be used when decrypting events. + */ + func decryptionSettings(decryptionSettings: DecryptionSettings) -> ClientBuilder + func disableAutomaticTokenRefresh() -> ClientBuilder /** @@ -2806,11 +2860,6 @@ public protocol ClientBuilderProtocol: AnyObject, Sendable { */ func requestConfig(config: RequestConfig) -> ClientBuilder - /** - * Set the trust requirement to be used when decrypting events. - */ - func roomDecryptionTrustRequirement(trustRequirement: TrustRequirement) -> ClientBuilder - /** * Set the strategy to be used for picking recipient devices when sending * an encrypted message. @@ -2892,6 +2941,8 @@ public protocol ClientBuilderProtocol: AnyObject, Sendable { */ func systemIsMemoryConstrained() -> ClientBuilder + func threadsEnabled(enabled: Bool) -> ClientBuilder + func userAgent(userAgent: String) -> ClientBuilder func username(username: String) -> ClientBuilder @@ -3051,6 +3102,17 @@ open func crossProcessStoreLocksHolderName(holderName: String) -> ClientBuilder FfiConverterString.lower(holderName),$0 ) }) +} + + /** + * Set the trust requirement to be used when decrypting events. + */ +open func decryptionSettings(decryptionSettings: DecryptionSettings) -> ClientBuilder { + return try! FfiConverterTypeClientBuilder_lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings(self.uniffiClonePointer(), + FfiConverterTypeDecryptionSettings_lower(decryptionSettings),$0 + ) +}) } open func disableAutomaticTokenRefresh() -> ClientBuilder { @@ -3125,17 +3187,6 @@ open func requestConfig(config: RequestConfig) -> ClientBuilder { FfiConverterTypeRequestConfig_lower(config),$0 ) }) -} - - /** - * Set the trust requirement to be used when decrypting events. - */ -open func roomDecryptionTrustRequirement(trustRequirement: TrustRequirement) -> ClientBuilder { - return try! FfiConverterTypeClientBuilder_lift(try! rustCall() { - uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement(self.uniffiClonePointer(), - FfiConverterTypeTrustRequirement_lower(trustRequirement),$0 - ) -}) } /** @@ -3285,6 +3336,14 @@ open func systemIsMemoryConstrained() -> ClientBuilder { }) } +open func threadsEnabled(enabled: Bool) -> ClientBuilder { + return try! FfiConverterTypeClientBuilder_lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled(self.uniffiClonePointer(), + FfiConverterBool.lower(enabled),$0 + ) +}) +} + open func userAgent(userAgent: String) -> ClientBuilder { return try! FfiConverterTypeClientBuilder_lift(try! rustCall() { uniffi_matrix_sdk_ffi_fn_method_clientbuilder_user_agent(self.uniffiClonePointer(), @@ -5097,20 +5156,27 @@ public func FfiConverterTypeMediaSource_lower(_ value: MediaSource) -> UnsafeMut public protocol NotificationClientProtocol: AnyObject, Sendable { /** - * See also documentation of - * `MatrixNotificationClient::get_notification`. + * Fetches the content of a notification. + * + * This will first try to get the notification using a short-lived sliding + * sync, and if the sliding-sync can't find the event, then it'll use a + * `/context` query to find the event with associated member information. + * + * An error result means that we couldn't resolve the notification; in that + * case, a dummy notification may be displayed instead. */ - func getNotification(roomId: String, eventId: String) async throws -> NotificationItem? + func getNotification(roomId: String, eventId: String) async throws -> NotificationStatus /** * Get several notification items in a single batch. * * Returns an error if the flow failed when preparing to fetch the * notifications, and a [`HashMap`] containing either a - * [`NotificationItem`] or no entry for it if it failed to fetch a - * notification for the provided [`EventId`]. + * [`BatchNotificationResult`], that indicates if the notification was + * successfully fetched (in which case, it's a [`NotificationStatus`]), or + * an error message if it couldn't be fetched. */ - func getNotifications(requests: [NotificationItemsRequest]) async throws -> [String: NotificationItem] + func getNotifications(requests: [NotificationItemsRequest]) async throws -> [String: BatchNotificationResult] /** * Fetches a room by its ID using the in-memory state store backed client. @@ -5174,10 +5240,16 @@ open class NotificationClient: NotificationClientProtocol, @unchecked Sendable { /** - * See also documentation of - * `MatrixNotificationClient::get_notification`. + * Fetches the content of a notification. + * + * This will first try to get the notification using a short-lived sliding + * sync, and if the sliding-sync can't find the event, then it'll use a + * `/context` query to find the event with associated member information. + * + * An error result means that we couldn't resolve the notification; in that + * case, a dummy notification may be displayed instead. */ -open func getNotification(roomId: String, eventId: String)async throws -> NotificationItem? { +open func getNotification(roomId: String, eventId: String)async throws -> NotificationStatus { return try await uniffiRustCallAsync( rustFutureFunc: { @@ -5189,7 +5261,7 @@ open func getNotification(roomId: String, eventId: String)async throws -> Notif pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer, completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer, freeFunc: ffi_matrix_sdk_ffi_rust_future_free_rust_buffer, - liftFunc: FfiConverterOptionTypeNotificationItem.lift, + liftFunc: FfiConverterTypeNotificationStatus_lift, errorHandler: FfiConverterTypeClientError_lift ) } @@ -5199,10 +5271,11 @@ open func getNotification(roomId: String, eventId: String)async throws -> Notif * * Returns an error if the flow failed when preparing to fetch the * notifications, and a [`HashMap`] containing either a - * [`NotificationItem`] or no entry for it if it failed to fetch a - * notification for the provided [`EventId`]. + * [`BatchNotificationResult`], that indicates if the notification was + * successfully fetched (in which case, it's a [`NotificationStatus`]), or + * an error message if it couldn't be fetched. */ -open func getNotifications(requests: [NotificationItemsRequest])async throws -> [String: NotificationItem] { +open func getNotifications(requests: [NotificationItemsRequest])async throws -> [String: BatchNotificationResult] { return try await uniffiRustCallAsync( rustFutureFunc: { @@ -5214,7 +5287,7 @@ open func getNotifications(requests: [NotificationItemsRequest])async throws -> pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer, completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer, freeFunc: ffi_matrix_sdk_ffi_rust_future_free_rust_buffer, - liftFunc: FfiConverterDictionaryStringTypeNotificationItem.lift, + liftFunc: FfiConverterDictionaryStringTypeBatchNotificationResult.lift, errorHandler: FfiConverterTypeClientError_lift ) } @@ -6171,30 +6244,12 @@ public protocol RoomProtocol: AnyObject, Sendable { func banUser(userId: String, reason: String?) async throws - func canUserBan(userId: String) async throws -> Bool - - func canUserInvite(userId: String) async throws -> Bool - - func canUserKick(userId: String) async throws -> Bool - - func canUserPinUnpin(userId: String) async throws -> Bool - - func canUserRedactOther(userId: String) async throws -> Bool - - func canUserRedactOwn(userId: String) async throws -> Bool - - func canUserSendMessage(userId: String, message: MessageLikeEventType) async throws -> Bool - - func canUserSendState(userId: String, stateEvent: StateEventType) async throws -> Bool - - func canUserTriggerRoomNotification(userId: String) async throws -> Bool - func canonicalAlias() -> String? /** * Remove the `ComposerDraft` stored in the state store for this room. */ - func clearComposerDraft() async throws + func clearComposerDraft(threadRoot: String?) async throws /** * Clear the event cache storage for the current room. @@ -6316,7 +6371,12 @@ public protocol RoomProtocol: AnyObject, Sendable { */ func isEncrypted() async -> Bool - func isPublic() -> Bool + /** + * Whether the room can be publicly joined or not, based on its join rule. + * + * Can return `None` if the join rule state event is missing. + */ + func isPublic() -> Bool? /** * Returns whether the send queue for that particular room is enabled or @@ -6351,7 +6411,7 @@ public protocol RoomProtocol: AnyObject, Sendable { /** * Retrieve the `ComposerDraft` stored in the state store for this room. */ - func loadComposerDraft() async throws -> ComposerDraft? + func loadComposerDraft(threadRoot: String?) async throws -> ComposerDraft? /** * Mark a room as read, by attaching a read receipt on the latest event. @@ -6500,7 +6560,7 @@ public protocol RoomProtocol: AnyObject, Sendable { * Store the given `ComposerDraft` in the state store using the current * room id, as identifier. */ - func saveComposerDraft(draft: ComposerDraft) async throws + func saveComposerDraft(draft: ComposerDraft, threadRoot: String?) async throws /** * Send a call notification event in the current room. @@ -6816,159 +6876,6 @@ open func banUser(userId: String, reason: String?)async throws { ) } -open func canUserBan(userId: String)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban( - self.uniffiClonePointer(), - FfiConverterString.lower(userId) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - -open func canUserInvite(userId: String)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite( - self.uniffiClonePointer(), - FfiConverterString.lower(userId) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - -open func canUserKick(userId: String)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick( - self.uniffiClonePointer(), - FfiConverterString.lower(userId) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - -open func canUserPinUnpin(userId: String)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin( - self.uniffiClonePointer(), - FfiConverterString.lower(userId) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - -open func canUserRedactOther(userId: String)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other( - self.uniffiClonePointer(), - FfiConverterString.lower(userId) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - -open func canUserRedactOwn(userId: String)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own( - self.uniffiClonePointer(), - FfiConverterString.lower(userId) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - -open func canUserSendMessage(userId: String, message: MessageLikeEventType)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( - self.uniffiClonePointer(), - FfiConverterString.lower(userId),FfiConverterTypeMessageLikeEventType_lower(message) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - -open func canUserSendState(userId: String, stateEvent: StateEventType)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - self.uniffiClonePointer(), - FfiConverterString.lower(userId),FfiConverterTypeStateEventType_lower(stateEvent) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - -open func canUserTriggerRoomNotification(userId: String)async throws -> Bool { - return - try await uniffiRustCallAsync( - rustFutureFunc: { - uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - self.uniffiClonePointer(), - FfiConverterString.lower(userId) - ) - }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_i8, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_i8, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_i8, - liftFunc: FfiConverterBool.lift, - errorHandler: FfiConverterTypeClientError_lift - ) -} - open func canonicalAlias() -> String? { return try! FfiConverterOptionString.lift(try! rustCall() { uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias(self.uniffiClonePointer(),$0 @@ -6979,13 +6886,13 @@ open func canonicalAlias() -> String? { /** * Remove the `ComposerDraft` stored in the state store for this room. */ -open func clearComposerDraft()async throws { +open func clearComposerDraft(threadRoot: String?)async throws { return try await uniffiRustCallAsync( rustFutureFunc: { uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft( - self.uniffiClonePointer() - + self.uniffiClonePointer(), + FfiConverterOptionString.lower(threadRoot) ) }, pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_void, @@ -7150,9 +7057,9 @@ open func getPowerLevels()async throws -> RoomPowerLevels { ) }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_rust_buffer, + pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_pointer, + completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_pointer, + freeFunc: ffi_matrix_sdk_ffi_rust_future_free_pointer, liftFunc: FfiConverterTypeRoomPowerLevels_lift, errorHandler: FfiConverterTypeClientError_lift ) @@ -7348,8 +7255,13 @@ open func isEncrypted()async -> Bool { ) } -open func isPublic() -> Bool { - return try! FfiConverterBool.lift(try! rustCall() { + /** + * Whether the room can be publicly joined or not, based on its join rule. + * + * Can return `None` if the join rule state event is missing. + */ +open func isPublic() -> Bool? { + return try! FfiConverterOptionBool.lift(try! rustCall() { uniffi_matrix_sdk_ffi_fn_method_room_is_public(self.uniffiClonePointer(),$0 ) }) @@ -7479,13 +7391,13 @@ open func leave()async throws { /** * Retrieve the `ComposerDraft` stored in the state store for this room. */ -open func loadComposerDraft()async throws -> ComposerDraft? { +open func loadComposerDraft(threadRoot: String?)async throws -> ComposerDraft? { return try await uniffiRustCallAsync( rustFutureFunc: { uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft( - self.uniffiClonePointer() - + self.uniffiClonePointer(), + FfiConverterOptionString.lower(threadRoot) ) }, pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer, @@ -7898,9 +7810,9 @@ open func resetPowerLevels()async throws -> RoomPowerLevels { ) }, - pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer, - completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer, - freeFunc: ffi_matrix_sdk_ffi_rust_future_free_rust_buffer, + pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_pointer, + completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_pointer, + freeFunc: ffi_matrix_sdk_ffi_rust_future_free_pointer, liftFunc: FfiConverterTypeRoomPowerLevels_lift, errorHandler: FfiConverterTypeClientError_lift ) @@ -7948,13 +7860,13 @@ open func roomInfo()async throws -> RoomInfo { * Store the given `ComposerDraft` in the state store using the current * room id, as identifier. */ -open func saveComposerDraft(draft: ComposerDraft)async throws { +open func saveComposerDraft(draft: ComposerDraft, threadRoot: String?)async throws { return try await uniffiRustCallAsync( rustFutureFunc: { uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft( self.uniffiClonePointer(), - FfiConverterTypeComposerDraft_lower(draft) + FfiConverterTypeComposerDraft_lower(draft),FfiConverterOptionString.lower(threadRoot) ) }, pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_void, @@ -9312,7 +9224,7 @@ public protocol RoomListServiceProtocol: AnyObject, Sendable { func state(listener: RoomListServiceStateListener) -> TaskHandle - func subscribeToRooms(roomIds: [String]) throws + func subscribeToRooms(roomIds: [String]) async throws func syncIndicator(delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener) -> TaskHandle @@ -9402,11 +9314,21 @@ open func state(listener: RoomListServiceStateListener) -> TaskHandle { }) } -open func subscribeToRooms(roomIds: [String])throws {try rustCallWithError(FfiConverterTypeRoomListError_lift) { - uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms(self.uniffiClonePointer(), - FfiConverterSequenceString.lower(roomIds),$0 - ) -} +open func subscribeToRooms(roomIds: [String])async throws { + return + try await uniffiRustCallAsync( + rustFutureFunc: { + uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( + self.uniffiClonePointer(), + FfiConverterSequenceString.lower(roomIds) + ) + }, + pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_void, + completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_void, + freeFunc: ffi_matrix_sdk_ffi_rust_future_free_void, + liftFunc: { $0 }, + errorHandler: FfiConverterTypeRoomListError_lift + ) } open func syncIndicator(delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener) -> TaskHandle { @@ -9732,49 +9654,537 @@ public func FfiConverterTypeRoomMessageEventContentWithoutRelation_lower(_ value -/** - * A room preview for a room. It's intended to be used to represent rooms that - * aren't joined yet. - */ -public protocol RoomPreviewProtocol: AnyObject, Sendable { +public protocol RoomPowerLevelsProtocol: AnyObject, Sendable { /** - * Forget the room if we had access to it, and it was left or banned. + * Returns true if the current user is able to ban in the room. */ - func forget() async throws + func canOwnUserBan() -> Bool /** - * Returns the room info the preview contains. + * Returns true if the current user is able to invite in the room. */ - func info() throws -> RoomPreviewInfo + func canOwnUserInvite() -> Bool /** - * Get the user who created the invite, if any. + * Returns true if the current user is able to kick in the room. */ - func inviter() async -> RoomMember? + func canOwnUserKick() -> Bool /** - * Leave the room if the room preview state is either joined, invited or - * knocked. + * Returns true if the current user is able to pin or unpin events in the + * room. + */ + func canOwnUserPinUnpin() -> Bool + + /** + * Returns true if the current user user is able to redact messages of + * other users in the room. + */ + func canOwnUserRedactOther() -> Bool + + /** + * Returns true if the current user is able to redact their own messages in + * the room. + */ + func canOwnUserRedactOwn() -> Bool + + /** + * Returns true if the current user is able to send a specific message type + * in the room. + */ + func canOwnUserSendMessage(message: MessageLikeEventType) -> Bool + + /** + * Returns true if the current user is able to send a specific state event + * type in the room. + */ + func canOwnUserSendState(stateEvent: StateEventType) -> Bool + + /** + * Returns true if the current user is able to trigger a notification in + * the room. + */ + func canOwnUserTriggerRoomNotification() -> Bool + + /** + * Returns true if the user with the given user_id is able to ban in the + * room. * - * If rejecting an invite then also forget it as an extra layer of - * protection against spam attacks. + * The call may fail if there is an error in getting the power levels. + */ + func canUserBan(userId: String) throws -> Bool + + /** + * Returns true if the user with the given user_id is able to invite in the + * room. * - * Will return an error otherwise. + * The call may fail if there is an error in getting the power levels. */ - func leave() async throws + func canUserInvite(userId: String) throws -> Bool /** - * Get the membership details for the current user. + * Returns true if the user with the given user_id is able to kick in the + * room. + * + * The call may fail if there is an error in getting the power levels. */ - func ownMembershipDetails() async -> RoomMemberWithSenderInfo? + func canUserKick(userId: String) throws -> Bool + + /** + * Returns true if the user with the given user_id is able to pin or unpin + * events in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + func canUserPinUnpin(userId: String) throws -> Bool + + /** + * Returns true if the user with the given user_id is able to redact + * messages of other users in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + func canUserRedactOther(userId: String) throws -> Bool + + /** + * Returns true if the user with the given user_id is able to redact + * their own messages in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + func canUserRedactOwn(userId: String) throws -> Bool + + /** + * Returns true if the user with the given user_id is able to send a + * specific message type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + func canUserSendMessage(userId: String, message: MessageLikeEventType) throws -> Bool + + /** + * Returns true if the user with the given user_id is able to send a + * specific state event type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + func canUserSendState(userId: String, stateEvent: StateEventType) throws -> Bool + + /** + * Returns true if the user with the given user_id is able to trigger a + * notification in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + func canUserTriggerRoomNotification(userId: String) throws -> Bool + + /** + * Gets a map with the `UserId` of users with power levels other than `0` + * and their power level. + */ + func userPowerLevels() -> [String: Int64] + + func values() -> RoomPowerLevelsValues } -/** - * A room preview for a room. It's intended to be used to represent rooms that - * aren't joined yet. - */ -open class RoomPreview: RoomPreviewProtocol, @unchecked Sendable { +open class RoomPowerLevels: RoomPowerLevelsProtocol, @unchecked Sendable { + fileprivate let pointer: UnsafeMutableRawPointer! + + /// Used to instantiate a [FFIObject] without an actual pointer, for fakes in tests, mostly. +#if swift(>=5.8) + @_documentation(visibility: private) +#endif + public struct NoPointer { + public init() {} + } + + // TODO: We'd like this to be `private` but for Swifty reasons, + // we can't implement `FfiConverter` without making this `required` and we can't + // make it `required` without making it `public`. +#if swift(>=5.8) + @_documentation(visibility: private) +#endif + required public init(unsafeFromRawPointer pointer: UnsafeMutableRawPointer) { + self.pointer = pointer + } + + // This constructor can be used to instantiate a fake object. + // - Parameter noPointer: Placeholder value so we can have a constructor separate from the default empty one that may be implemented for classes extending [FFIObject]. + // + // - Warning: + // Any object instantiated with this constructor cannot be passed to an actual Rust-backed object. Since there isn't a backing [Pointer] the FFI lower functions will crash. +#if swift(>=5.8) + @_documentation(visibility: private) +#endif + public init(noPointer: NoPointer) { + self.pointer = nil + } + +#if swift(>=5.8) + @_documentation(visibility: private) +#endif + public func uniffiClonePointer() -> UnsafeMutableRawPointer { + return try! rustCall { uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels(self.pointer, $0) } + } + // No primary constructor declared for this class. + + deinit { + guard let pointer = pointer else { + return + } + + try! rustCall { uniffi_matrix_sdk_ffi_fn_free_roompowerlevels(pointer, $0) } + } + + + + + /** + * Returns true if the current user is able to ban in the room. + */ +open func canOwnUserBan() -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban(self.uniffiClonePointer(),$0 + ) +}) +} + + /** + * Returns true if the current user is able to invite in the room. + */ +open func canOwnUserInvite() -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite(self.uniffiClonePointer(),$0 + ) +}) +} + + /** + * Returns true if the current user is able to kick in the room. + */ +open func canOwnUserKick() -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick(self.uniffiClonePointer(),$0 + ) +}) +} + + /** + * Returns true if the current user is able to pin or unpin events in the + * room. + */ +open func canOwnUserPinUnpin() -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin(self.uniffiClonePointer(),$0 + ) +}) +} + + /** + * Returns true if the current user user is able to redact messages of + * other users in the room. + */ +open func canOwnUserRedactOther() -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other(self.uniffiClonePointer(),$0 + ) +}) +} + + /** + * Returns true if the current user is able to redact their own messages in + * the room. + */ +open func canOwnUserRedactOwn() -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own(self.uniffiClonePointer(),$0 + ) +}) +} + + /** + * Returns true if the current user is able to send a specific message type + * in the room. + */ +open func canOwnUserSendMessage(message: MessageLikeEventType) -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message(self.uniffiClonePointer(), + FfiConverterTypeMessageLikeEventType_lower(message),$0 + ) +}) +} + + /** + * Returns true if the current user is able to send a specific state event + * type in the room. + */ +open func canOwnUserSendState(stateEvent: StateEventType) -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state(self.uniffiClonePointer(), + FfiConverterTypeStateEventType_lower(stateEvent),$0 + ) +}) +} + + /** + * Returns true if the current user is able to trigger a notification in + * the room. + */ +open func canOwnUserTriggerRoomNotification() -> Bool { + return try! FfiConverterBool.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification(self.uniffiClonePointer(),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to ban in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserBan(userId: String)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban(self.uniffiClonePointer(), + FfiConverterString.lower(userId),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to invite in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserInvite(userId: String)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite(self.uniffiClonePointer(), + FfiConverterString.lower(userId),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to kick in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserKick(userId: String)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick(self.uniffiClonePointer(), + FfiConverterString.lower(userId),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to pin or unpin + * events in the room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserPinUnpin(userId: String)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin(self.uniffiClonePointer(), + FfiConverterString.lower(userId),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to redact + * messages of other users in the room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserRedactOther(userId: String)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other(self.uniffiClonePointer(), + FfiConverterString.lower(userId),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to redact + * their own messages in the room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserRedactOwn(userId: String)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own(self.uniffiClonePointer(), + FfiConverterString.lower(userId),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to send a + * specific message type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserSendMessage(userId: String, message: MessageLikeEventType)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message(self.uniffiClonePointer(), + FfiConverterString.lower(userId), + FfiConverterTypeMessageLikeEventType_lower(message),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to send a + * specific state event type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserSendState(userId: String, stateEvent: StateEventType)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state(self.uniffiClonePointer(), + FfiConverterString.lower(userId), + FfiConverterTypeStateEventType_lower(stateEvent),$0 + ) +}) +} + + /** + * Returns true if the user with the given user_id is able to trigger a + * notification in the room. + * + * The call may fail if there is an error in getting the power levels. + */ +open func canUserTriggerRoomNotification(userId: String)throws -> Bool { + return try FfiConverterBool.lift(try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification(self.uniffiClonePointer(), + FfiConverterString.lower(userId),$0 + ) +}) +} + + /** + * Gets a map with the `UserId` of users with power levels other than `0` + * and their power level. + */ +open func userPowerLevels() -> [String: Int64] { + return try! FfiConverterDictionaryStringInt64.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels(self.uniffiClonePointer(),$0 + ) +}) +} + +open func values() -> RoomPowerLevelsValues { + return try! FfiConverterTypeRoomPowerLevelsValues_lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values(self.uniffiClonePointer(),$0 + ) +}) +} + + +} + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public struct FfiConverterTypeRoomPowerLevels: FfiConverter { + + typealias FfiType = UnsafeMutableRawPointer + typealias SwiftType = RoomPowerLevels + + public static func lift(_ pointer: UnsafeMutableRawPointer) throws -> RoomPowerLevels { + return RoomPowerLevels(unsafeFromRawPointer: pointer) + } + + public static func lower(_ value: RoomPowerLevels) -> UnsafeMutableRawPointer { + return value.uniffiClonePointer() + } + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> RoomPowerLevels { + let v: UInt64 = try readInt(&buf) + // The Rust code won't compile if a pointer won't fit in a UInt64. + // We have to go via `UInt` because that's the thing that's the size of a pointer. + let ptr = UnsafeMutableRawPointer(bitPattern: UInt(truncatingIfNeeded: v)) + if (ptr == nil) { + throw UniffiInternalError.unexpectedNullPointer + } + return try lift(ptr!) + } + + public static func write(_ value: RoomPowerLevels, into buf: inout [UInt8]) { + // This fiddling is because `Int` is the thing that's the same size as a pointer. + // The Rust code won't compile if a pointer won't fit in a `UInt64`. + writeInt(&buf, UInt64(bitPattern: Int64(Int(bitPattern: lower(value))))) + } +} + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeRoomPowerLevels_lift(_ pointer: UnsafeMutableRawPointer) throws -> RoomPowerLevels { + return try FfiConverterTypeRoomPowerLevels.lift(pointer) +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeRoomPowerLevels_lower(_ value: RoomPowerLevels) -> UnsafeMutableRawPointer { + return FfiConverterTypeRoomPowerLevels.lower(value) +} + + + + + + +/** + * A room preview for a room. It's intended to be used to represent rooms that + * aren't joined yet. + */ +public protocol RoomPreviewProtocol: AnyObject, Sendable { + + /** + * Forget the room if we had access to it, and it was left or banned. + */ + func forget() async throws + + /** + * Returns the room info the preview contains. + */ + func info() throws -> RoomPreviewInfo + + /** + * Get the user who created the invite, if any. + */ + func inviter() async -> RoomMember? + + /** + * Leave the room if the room preview state is either joined, invited or + * knocked. + * + * If rejecting an invite then also forget it as an extra layer of + * protection against spam attacks. + * + * Will return an error otherwise. + */ + func leave() async throws + + /** + * Get the membership details for the current user. + */ + func ownMembershipDetails() async -> RoomMemberWithSenderInfo? + +} +/** + * A room preview for a room. It's intended to be used to represent rooms that + * aren't joined yet. + */ +open class RoomPreview: RoomPreviewProtocol, @unchecked Sendable { fileprivate let pointer: UnsafeMutableRawPointer! /// Used to instantiate a [FFIObject] without an actual pointer, for fakes in tests, mostly. @@ -11497,6 +11907,8 @@ public protocol SyncServiceBuilderProtocol: AnyObject, Sendable { */ func withOfflineMode() -> SyncServiceBuilder + func withSharePos(enable: Bool) -> SyncServiceBuilder + } open class SyncServiceBuilder: SyncServiceBuilderProtocol, @unchecked Sendable { fileprivate let pointer: UnsafeMutableRawPointer! @@ -11584,6 +11996,14 @@ open func withOfflineMode() -> SyncServiceBuilder { }) } +open func withSharePos(enable: Bool) -> SyncServiceBuilder { + return try! FfiConverterTypeSyncServiceBuilder_lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos(self.uniffiClonePointer(), + FfiConverterBool.lower(enable),$0 + ) +}) +} + } @@ -11794,6 +12214,8 @@ public protocol ThreadSummaryProtocol: AnyObject, Sendable { func latestEvent() -> EmbeddedEventDetails + func numReplies() -> UInt64 + } open class ThreadSummary: ThreadSummaryProtocol, @unchecked Sendable { fileprivate let pointer: UnsafeMutableRawPointer! @@ -11854,6 +12276,13 @@ open func latestEvent() -> EmbeddedEventDetails { }) } +open func numReplies() -> UInt64 { + return try! FfiConverterUInt64.lift(try! rustCall() { + uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies(self.uniffiClonePointer(),$0 + ) +}) +} + } @@ -12023,7 +12452,7 @@ public protocol TimelineProtocol: AnyObject, Sendable { func sendImage(params: UploadParameters, thumbnailPath: String?, imageInfo: ImageInfo, progressWatcher: ProgressWatcher?) throws -> SendAttachmentJoinHandle - func sendLocation(body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?) async + func sendLocation(body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, replyParams: ReplyParameters?) async throws func sendPollResponse(pollStartEventId: String, answers: [String]) async throws @@ -12485,21 +12914,20 @@ open func sendImage(params: UploadParameters, thumbnailPath: String?, imageInfo: }) } -open func sendLocation(body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?)async { +open func sendLocation(body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, replyParams: ReplyParameters?)async throws { return - try! await uniffiRustCallAsync( + try await uniffiRustCallAsync( rustFutureFunc: { uniffi_matrix_sdk_ffi_fn_method_timeline_send_location( self.uniffiClonePointer(), - FfiConverterString.lower(body),FfiConverterString.lower(geoUri),FfiConverterOptionString.lower(description),FfiConverterOptionUInt8.lower(zoomLevel),FfiConverterOptionTypeAssetType.lower(assetType) + FfiConverterString.lower(body),FfiConverterString.lower(geoUri),FfiConverterOptionString.lower(description),FfiConverterOptionUInt8.lower(zoomLevel),FfiConverterOptionTypeAssetType.lower(assetType),FfiConverterOptionTypeReplyParameters.lower(replyParams) ) }, pollFunc: ffi_matrix_sdk_ffi_rust_future_poll_void, completeFunc: ffi_matrix_sdk_ffi_rust_future_complete_void, freeFunc: ffi_matrix_sdk_ffi_rust_future_free_void, liftFunc: { $0 }, - errorHandler: nil - + errorHandler: FfiConverterTypeClientError_lift ) } @@ -14812,144 +15240,6 @@ public func FfiConverterTypeCreateRoomParameters_lower(_ value: CreateRoomParame } -/** - * Well-known settings specific to ElementCall - */ -public struct ElementCallWellKnown { - public var widgetUrl: String - - // Default memberwise initializers are never public by default, so we - // declare one manually. - public init(widgetUrl: String) { - self.widgetUrl = widgetUrl - } -} - -#if compiler(>=6) -extension ElementCallWellKnown: Sendable {} -#endif - - -extension ElementCallWellKnown: Equatable, Hashable { - public static func ==(lhs: ElementCallWellKnown, rhs: ElementCallWellKnown) -> Bool { - if lhs.widgetUrl != rhs.widgetUrl { - return false - } - return true - } - - public func hash(into hasher: inout Hasher) { - hasher.combine(widgetUrl) - } -} - - - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public struct FfiConverterTypeElementCallWellKnown: FfiConverterRustBuffer { - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> ElementCallWellKnown { - return - try ElementCallWellKnown( - widgetUrl: FfiConverterString.read(from: &buf) - ) - } - - public static func write(_ value: ElementCallWellKnown, into buf: inout [UInt8]) { - FfiConverterString.write(value.widgetUrl, into: &buf) - } -} - - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeElementCallWellKnown_lift(_ buf: RustBuffer) throws -> ElementCallWellKnown { - return try FfiConverterTypeElementCallWellKnown.lift(buf) -} - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeElementCallWellKnown_lower(_ value: ElementCallWellKnown) -> RustBuffer { - return FfiConverterTypeElementCallWellKnown.lower(value) -} - - -/** - * Element specific well-known settings - */ -public struct ElementWellKnown { - public var call: ElementCallWellKnown? - public var registrationHelperUrl: String? - - // Default memberwise initializers are never public by default, so we - // declare one manually. - public init(call: ElementCallWellKnown?, registrationHelperUrl: String?) { - self.call = call - self.registrationHelperUrl = registrationHelperUrl - } -} - -#if compiler(>=6) -extension ElementWellKnown: Sendable {} -#endif - - -extension ElementWellKnown: Equatable, Hashable { - public static func ==(lhs: ElementWellKnown, rhs: ElementWellKnown) -> Bool { - if lhs.call != rhs.call { - return false - } - if lhs.registrationHelperUrl != rhs.registrationHelperUrl { - return false - } - return true - } - - public func hash(into hasher: inout Hasher) { - hasher.combine(call) - hasher.combine(registrationHelperUrl) - } -} - - - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public struct FfiConverterTypeElementWellKnown: FfiConverterRustBuffer { - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> ElementWellKnown { - return - try ElementWellKnown( - call: FfiConverterOptionTypeElementCallWellKnown.read(from: &buf), - registrationHelperUrl: FfiConverterOptionString.read(from: &buf) - ) - } - - public static func write(_ value: ElementWellKnown, into buf: inout [UInt8]) { - FfiConverterOptionTypeElementCallWellKnown.write(value.call, into: &buf) - FfiConverterOptionString.write(value.registrationHelperUrl, into: &buf) - } -} - - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeElementWellKnown_lift(_ buf: RustBuffer) throws -> ElementWellKnown { - return try FfiConverterTypeElementWellKnown.lift(buf) -} - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeElementWellKnown_lower(_ value: ElementWellKnown) -> RustBuffer { - return FfiConverterTypeElementWellKnown.lower(value) -} - - public struct EmoteMessageContent { public var body: String public var formatted: FormattedBody? @@ -17068,23 +17358,23 @@ public struct NotificationRoomInfo { public var displayName: String public var avatarUrl: String? public var canonicalAlias: String? + public var topic: String? public var joinRule: JoinRule? public var joinedMembersCount: UInt64 public var isEncrypted: Bool? public var isDirect: Bool - public var isPublic: Bool // Default memberwise initializers are never public by default, so we // declare one manually. - public init(displayName: String, avatarUrl: String?, canonicalAlias: String?, joinRule: JoinRule?, joinedMembersCount: UInt64, isEncrypted: Bool?, isDirect: Bool, isPublic: Bool) { + public init(displayName: String, avatarUrl: String?, canonicalAlias: String?, topic: String?, joinRule: JoinRule?, joinedMembersCount: UInt64, isEncrypted: Bool?, isDirect: Bool) { self.displayName = displayName self.avatarUrl = avatarUrl self.canonicalAlias = canonicalAlias + self.topic = topic self.joinRule = joinRule self.joinedMembersCount = joinedMembersCount self.isEncrypted = isEncrypted self.isDirect = isDirect - self.isPublic = isPublic } } @@ -17104,6 +17394,9 @@ extension NotificationRoomInfo: Equatable, Hashable { if lhs.canonicalAlias != rhs.canonicalAlias { return false } + if lhs.topic != rhs.topic { + return false + } if lhs.joinRule != rhs.joinRule { return false } @@ -17116,9 +17409,6 @@ extension NotificationRoomInfo: Equatable, Hashable { if lhs.isDirect != rhs.isDirect { return false } - if lhs.isPublic != rhs.isPublic { - return false - } return true } @@ -17126,11 +17416,11 @@ extension NotificationRoomInfo: Equatable, Hashable { hasher.combine(displayName) hasher.combine(avatarUrl) hasher.combine(canonicalAlias) + hasher.combine(topic) hasher.combine(joinRule) hasher.combine(joinedMembersCount) hasher.combine(isEncrypted) hasher.combine(isDirect) - hasher.combine(isPublic) } } @@ -17146,11 +17436,11 @@ public struct FfiConverterTypeNotificationRoomInfo: FfiConverterRustBuffer { displayName: FfiConverterString.read(from: &buf), avatarUrl: FfiConverterOptionString.read(from: &buf), canonicalAlias: FfiConverterOptionString.read(from: &buf), + topic: FfiConverterOptionString.read(from: &buf), joinRule: FfiConverterOptionTypeJoinRule.read(from: &buf), joinedMembersCount: FfiConverterUInt64.read(from: &buf), isEncrypted: FfiConverterOptionBool.read(from: &buf), - isDirect: FfiConverterBool.read(from: &buf), - isPublic: FfiConverterBool.read(from: &buf) + isDirect: FfiConverterBool.read(from: &buf) ) } @@ -17158,11 +17448,11 @@ public struct FfiConverterTypeNotificationRoomInfo: FfiConverterRustBuffer { FfiConverterString.write(value.displayName, into: &buf) FfiConverterOptionString.write(value.avatarUrl, into: &buf) FfiConverterOptionString.write(value.canonicalAlias, into: &buf) + FfiConverterOptionString.write(value.topic, into: &buf) FfiConverterOptionTypeJoinRule.write(value.joinRule, into: &buf) FfiConverterUInt64.write(value.joinedMembersCount, into: &buf) FfiConverterOptionBool.write(value.isEncrypted, into: &buf) FfiConverterBool.write(value.isDirect, into: &buf) - FfiConverterBool.write(value.isPublic, into: &buf) } } @@ -18974,7 +19264,13 @@ public struct RoomInfo { public var topic: String? public var avatarUrl: String? public var isDirect: Bool - public var isPublic: Bool + /** + * Whether the room is public or not, based on the join rules. + * + * Can be `None` if the join rules state event is not available for this + * room. + */ + public var isPublic: Bool? public var isSpace: Bool /** * If present, it means the room has been archived/upgraded. @@ -18996,7 +19292,6 @@ public struct RoomInfo { public var activeMembersCount: UInt64 public var invitedMembersCount: UInt64 public var joinedMembersCount: UInt64 - public var userPowerLevels: [String: Int64] public var highlightCount: UInt64 public var notificationCount: UInt64 public var cachedUserDefinedNotificationMode: RoomNotificationMode? @@ -19033,6 +19328,12 @@ public struct RoomInfo { * The history visibility for this room, if known. */ public var historyVisibility: RoomHistoryVisibility + /** + * This room's current power levels. + * + * Can be missing if the room power levels event is missing from the store. + */ + public var powerLevels: RoomPowerLevels? // Default memberwise initializers are never public by default, so we // declare one manually. @@ -19043,7 +19344,13 @@ public struct RoomInfo { */displayName: String?, /** * Room name as defined by the room state event only. - */rawName: String?, topic: String?, avatarUrl: String?, isDirect: Bool, isPublic: Bool, isSpace: Bool, + */rawName: String?, topic: String?, avatarUrl: String?, isDirect: Bool, + /** + * Whether the room is public or not, based on the join rules. + * + * Can be `None` if the join rules state event is not available for this + * room. + */isPublic: Bool?, isSpace: Bool, /** * If present, it means the room has been archived/upgraded. */successorRoom: SuccessorRoom?, isFavourite: Bool, canonicalAlias: String?, alternativeAliases: [String], membership: Membership, @@ -19053,7 +19360,7 @@ public struct RoomInfo { * * Can be missing if the room membership invite event is missing from the * store. - */inviter: RoomMember?, heroes: [RoomHero], activeMembersCount: UInt64, invitedMembersCount: UInt64, joinedMembersCount: UInt64, userPowerLevels: [String: Int64], highlightCount: UInt64, notificationCount: UInt64, cachedUserDefinedNotificationMode: RoomNotificationMode?, hasRoomCall: Bool, activeRoomCallParticipants: [String], + */inviter: RoomMember?, heroes: [RoomHero], activeMembersCount: UInt64, invitedMembersCount: UInt64, joinedMembersCount: UInt64, highlightCount: UInt64, notificationCount: UInt64, cachedUserDefinedNotificationMode: RoomNotificationMode?, hasRoomCall: Bool, activeRoomCallParticipants: [String], /** * Whether this room has been explicitly marked as unread */isMarkedUnread: Bool, @@ -19077,7 +19384,12 @@ public struct RoomInfo { */joinRule: JoinRule?, /** * The history visibility for this room, if known. - */historyVisibility: RoomHistoryVisibility) { + */historyVisibility: RoomHistoryVisibility, + /** + * This room's current power levels. + * + * Can be missing if the room power levels event is missing from the store. + */powerLevels: RoomPowerLevels?) { self.id = id self.encryptionState = encryptionState self.creator = creator @@ -19098,7 +19410,6 @@ public struct RoomInfo { self.activeMembersCount = activeMembersCount self.invitedMembersCount = invitedMembersCount self.joinedMembersCount = joinedMembersCount - self.userPowerLevels = userPowerLevels self.highlightCount = highlightCount self.notificationCount = notificationCount self.cachedUserDefinedNotificationMode = cachedUserDefinedNotificationMode @@ -19111,6 +19422,7 @@ public struct RoomInfo { self.pinnedEventIds = pinnedEventIds self.joinRule = joinRule self.historyVisibility = historyVisibility + self.powerLevels = powerLevels } } @@ -19119,148 +19431,6 @@ extension RoomInfo: Sendable {} #endif -extension RoomInfo: Equatable, Hashable { - public static func ==(lhs: RoomInfo, rhs: RoomInfo) -> Bool { - if lhs.id != rhs.id { - return false - } - if lhs.encryptionState != rhs.encryptionState { - return false - } - if lhs.creator != rhs.creator { - return false - } - if lhs.displayName != rhs.displayName { - return false - } - if lhs.rawName != rhs.rawName { - return false - } - if lhs.topic != rhs.topic { - return false - } - if lhs.avatarUrl != rhs.avatarUrl { - return false - } - if lhs.isDirect != rhs.isDirect { - return false - } - if lhs.isPublic != rhs.isPublic { - return false - } - if lhs.isSpace != rhs.isSpace { - return false - } - if lhs.successorRoom != rhs.successorRoom { - return false - } - if lhs.isFavourite != rhs.isFavourite { - return false - } - if lhs.canonicalAlias != rhs.canonicalAlias { - return false - } - if lhs.alternativeAliases != rhs.alternativeAliases { - return false - } - if lhs.membership != rhs.membership { - return false - } - if lhs.inviter != rhs.inviter { - return false - } - if lhs.heroes != rhs.heroes { - return false - } - if lhs.activeMembersCount != rhs.activeMembersCount { - return false - } - if lhs.invitedMembersCount != rhs.invitedMembersCount { - return false - } - if lhs.joinedMembersCount != rhs.joinedMembersCount { - return false - } - if lhs.userPowerLevels != rhs.userPowerLevels { - return false - } - if lhs.highlightCount != rhs.highlightCount { - return false - } - if lhs.notificationCount != rhs.notificationCount { - return false - } - if lhs.cachedUserDefinedNotificationMode != rhs.cachedUserDefinedNotificationMode { - return false - } - if lhs.hasRoomCall != rhs.hasRoomCall { - return false - } - if lhs.activeRoomCallParticipants != rhs.activeRoomCallParticipants { - return false - } - if lhs.isMarkedUnread != rhs.isMarkedUnread { - return false - } - if lhs.numUnreadMessages != rhs.numUnreadMessages { - return false - } - if lhs.numUnreadNotifications != rhs.numUnreadNotifications { - return false - } - if lhs.numUnreadMentions != rhs.numUnreadMentions { - return false - } - if lhs.pinnedEventIds != rhs.pinnedEventIds { - return false - } - if lhs.joinRule != rhs.joinRule { - return false - } - if lhs.historyVisibility != rhs.historyVisibility { - return false - } - return true - } - - public func hash(into hasher: inout Hasher) { - hasher.combine(id) - hasher.combine(encryptionState) - hasher.combine(creator) - hasher.combine(displayName) - hasher.combine(rawName) - hasher.combine(topic) - hasher.combine(avatarUrl) - hasher.combine(isDirect) - hasher.combine(isPublic) - hasher.combine(isSpace) - hasher.combine(successorRoom) - hasher.combine(isFavourite) - hasher.combine(canonicalAlias) - hasher.combine(alternativeAliases) - hasher.combine(membership) - hasher.combine(inviter) - hasher.combine(heroes) - hasher.combine(activeMembersCount) - hasher.combine(invitedMembersCount) - hasher.combine(joinedMembersCount) - hasher.combine(userPowerLevels) - hasher.combine(highlightCount) - hasher.combine(notificationCount) - hasher.combine(cachedUserDefinedNotificationMode) - hasher.combine(hasRoomCall) - hasher.combine(activeRoomCallParticipants) - hasher.combine(isMarkedUnread) - hasher.combine(numUnreadMessages) - hasher.combine(numUnreadNotifications) - hasher.combine(numUnreadMentions) - hasher.combine(pinnedEventIds) - hasher.combine(joinRule) - hasher.combine(historyVisibility) - } -} - - #if swift(>=5.8) @_documentation(visibility: private) @@ -19277,7 +19447,7 @@ public struct FfiConverterTypeRoomInfo: FfiConverterRustBuffer { topic: FfiConverterOptionString.read(from: &buf), avatarUrl: FfiConverterOptionString.read(from: &buf), isDirect: FfiConverterBool.read(from: &buf), - isPublic: FfiConverterBool.read(from: &buf), + isPublic: FfiConverterOptionBool.read(from: &buf), isSpace: FfiConverterBool.read(from: &buf), successorRoom: FfiConverterOptionTypeSuccessorRoom.read(from: &buf), isFavourite: FfiConverterBool.read(from: &buf), @@ -19289,7 +19459,6 @@ public struct FfiConverterTypeRoomInfo: FfiConverterRustBuffer { activeMembersCount: FfiConverterUInt64.read(from: &buf), invitedMembersCount: FfiConverterUInt64.read(from: &buf), joinedMembersCount: FfiConverterUInt64.read(from: &buf), - userPowerLevels: FfiConverterDictionaryStringInt64.read(from: &buf), highlightCount: FfiConverterUInt64.read(from: &buf), notificationCount: FfiConverterUInt64.read(from: &buf), cachedUserDefinedNotificationMode: FfiConverterOptionTypeRoomNotificationMode.read(from: &buf), @@ -19301,7 +19470,8 @@ public struct FfiConverterTypeRoomInfo: FfiConverterRustBuffer { numUnreadMentions: FfiConverterUInt64.read(from: &buf), pinnedEventIds: FfiConverterSequenceString.read(from: &buf), joinRule: FfiConverterOptionTypeJoinRule.read(from: &buf), - historyVisibility: FfiConverterTypeRoomHistoryVisibility.read(from: &buf) + historyVisibility: FfiConverterTypeRoomHistoryVisibility.read(from: &buf), + powerLevels: FfiConverterOptionTypeRoomPowerLevels.read(from: &buf) ) } @@ -19314,7 +19484,7 @@ public struct FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterOptionString.write(value.topic, into: &buf) FfiConverterOptionString.write(value.avatarUrl, into: &buf) FfiConverterBool.write(value.isDirect, into: &buf) - FfiConverterBool.write(value.isPublic, into: &buf) + FfiConverterOptionBool.write(value.isPublic, into: &buf) FfiConverterBool.write(value.isSpace, into: &buf) FfiConverterOptionTypeSuccessorRoom.write(value.successorRoom, into: &buf) FfiConverterBool.write(value.isFavourite, into: &buf) @@ -19326,7 +19496,6 @@ public struct FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterUInt64.write(value.activeMembersCount, into: &buf) FfiConverterUInt64.write(value.invitedMembersCount, into: &buf) FfiConverterUInt64.write(value.joinedMembersCount, into: &buf) - FfiConverterDictionaryStringInt64.write(value.userPowerLevels, into: &buf) FfiConverterUInt64.write(value.highlightCount, into: &buf) FfiConverterUInt64.write(value.notificationCount, into: &buf) FfiConverterOptionTypeRoomNotificationMode.write(value.cachedUserDefinedNotificationMode, into: &buf) @@ -19339,6 +19508,7 @@ public struct FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterSequenceString.write(value.pinnedEventIds, into: &buf) FfiConverterOptionTypeJoinRule.write(value.joinRule, into: &buf) FfiConverterTypeRoomHistoryVisibility.write(value.historyVisibility, into: &buf) + FfiConverterOptionTypeRoomPowerLevels.write(value.powerLevels, into: &buf) } } @@ -19717,7 +19887,11 @@ public func FfiConverterTypeRoomNotificationSettings_lower(_ value: RoomNotifica } -public struct RoomPowerLevels { +/** + * This intermediary struct is used to expose the power levels values through + * FFI and work around it not exposing public exported object fields. + */ +public struct RoomPowerLevelsValues { /** * The level required to ban a user. */ @@ -19806,12 +19980,12 @@ public struct RoomPowerLevels { } #if compiler(>=6) -extension RoomPowerLevels: Sendable {} +extension RoomPowerLevelsValues: Sendable {} #endif -extension RoomPowerLevels: Equatable, Hashable { - public static func ==(lhs: RoomPowerLevels, rhs: RoomPowerLevels) -> Bool { +extension RoomPowerLevelsValues: Equatable, Hashable { + public static func ==(lhs: RoomPowerLevelsValues, rhs: RoomPowerLevelsValues) -> Bool { if lhs.ban != rhs.ban { return false } @@ -19864,10 +20038,10 @@ extension RoomPowerLevels: Equatable, Hashable { #if swift(>=5.8) @_documentation(visibility: private) #endif -public struct FfiConverterTypeRoomPowerLevels: FfiConverterRustBuffer { - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> RoomPowerLevels { +public struct FfiConverterTypeRoomPowerLevelsValues: FfiConverterRustBuffer { + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> RoomPowerLevelsValues { return - try RoomPowerLevels( + try RoomPowerLevelsValues( ban: FfiConverterInt64.read(from: &buf), invite: FfiConverterInt64.read(from: &buf), kick: FfiConverterInt64.read(from: &buf), @@ -19881,7 +20055,7 @@ public struct FfiConverterTypeRoomPowerLevels: FfiConverterRustBuffer { ) } - public static func write(_ value: RoomPowerLevels, into buf: inout [UInt8]) { + public static func write(_ value: RoomPowerLevelsValues, into buf: inout [UInt8]) { FfiConverterInt64.write(value.ban, into: &buf) FfiConverterInt64.write(value.invite, into: &buf) FfiConverterInt64.write(value.kick, into: &buf) @@ -19899,15 +20073,15 @@ public struct FfiConverterTypeRoomPowerLevels: FfiConverterRustBuffer { #if swift(>=5.8) @_documentation(visibility: private) #endif -public func FfiConverterTypeRoomPowerLevels_lift(_ buf: RustBuffer) throws -> RoomPowerLevels { - return try FfiConverterTypeRoomPowerLevels.lift(buf) +public func FfiConverterTypeRoomPowerLevelsValues_lift(_ buf: RustBuffer) throws -> RoomPowerLevelsValues { + return try FfiConverterTypeRoomPowerLevelsValues.lift(buf) } #if swift(>=5.8) @_documentation(visibility: private) #endif -public func FfiConverterTypeRoomPowerLevels_lower(_ value: RoomPowerLevels) -> RustBuffer { - return FfiConverterTypeRoomPowerLevels.lower(value) +public func FfiConverterTypeRoomPowerLevelsValues_lower(_ value: RoomPowerLevelsValues) -> RustBuffer { + return FfiConverterTypeRoomPowerLevelsValues.lower(value) } @@ -19958,7 +20132,7 @@ public struct RoomPreviewInfo { /** * The join rule for this room (private, public, knock, etc.). */ - public var joinRule: JoinRule + public var joinRule: JoinRule? /** * Whether the room is direct or not, if known. */ @@ -20003,7 +20177,7 @@ public struct RoomPreviewInfo { */membership: Membership?, /** * The join rule for this room (private, public, knock, etc.). - */joinRule: JoinRule, + */joinRule: JoinRule?, /** * Whether the room is direct or not, if known. */isDirect: Bool?, @@ -20111,7 +20285,7 @@ public struct FfiConverterTypeRoomPreviewInfo: FfiConverterRustBuffer { roomType: FfiConverterTypeRoomType.read(from: &buf), isHistoryWorldReadable: FfiConverterOptionBool.read(from: &buf), membership: FfiConverterOptionTypeMembership.read(from: &buf), - joinRule: FfiConverterTypeJoinRule.read(from: &buf), + joinRule: FfiConverterOptionTypeJoinRule.read(from: &buf), isDirect: FfiConverterOptionBool.read(from: &buf), heroes: FfiConverterOptionSequenceTypeRoomHero.read(from: &buf) ) @@ -20128,7 +20302,7 @@ public struct FfiConverterTypeRoomPreviewInfo: FfiConverterRustBuffer { FfiConverterTypeRoomType.write(value.roomType, into: &buf) FfiConverterOptionBool.write(value.isHistoryWorldReadable, into: &buf) FfiConverterOptionTypeMembership.write(value.membership, into: &buf) - FfiConverterTypeJoinRule.write(value.joinRule, into: &buf) + FfiConverterOptionTypeJoinRule.write(value.joinRule, into: &buf) FfiConverterOptionBool.write(value.isDirect, into: &buf) FfiConverterOptionSequenceTypeRoomHero.write(value.heroes, into: &buf) } @@ -21404,10 +21578,6 @@ public struct TracingConfiguration { * If set, configures rotated log files where to write additional logs. */ public var writeToFiles: TracingFileConfiguration? - /** - * If set, the Sentry DSN to use for error reporting. - */ - public var sentryDsn: String? // Default memberwise initializers are never public by default, so we // declare one manually. @@ -21430,16 +21600,12 @@ public struct TracingConfiguration { */writeToStdoutOrSystem: Bool, /** * If set, configures rotated log files where to write additional logs. - */writeToFiles: TracingFileConfiguration?, - /** - * If set, the Sentry DSN to use for error reporting. - */sentryDsn: String?) { + */writeToFiles: TracingFileConfiguration?) { self.logLevel = logLevel self.traceLogPacks = traceLogPacks self.extraTargets = extraTargets self.writeToStdoutOrSystem = writeToStdoutOrSystem self.writeToFiles = writeToFiles - self.sentryDsn = sentryDsn } } @@ -21465,9 +21631,6 @@ extension TracingConfiguration: Equatable, Hashable { if lhs.writeToFiles != rhs.writeToFiles { return false } - if lhs.sentryDsn != rhs.sentryDsn { - return false - } return true } @@ -21477,7 +21640,6 @@ extension TracingConfiguration: Equatable, Hashable { hasher.combine(extraTargets) hasher.combine(writeToStdoutOrSystem) hasher.combine(writeToFiles) - hasher.combine(sentryDsn) } } @@ -21494,8 +21656,7 @@ public struct FfiConverterTypeTracingConfiguration: FfiConverterRustBuffer { traceLogPacks: FfiConverterSequenceTypeTraceLogPacks.read(from: &buf), extraTargets: FfiConverterSequenceString.read(from: &buf), writeToStdoutOrSystem: FfiConverterBool.read(from: &buf), - writeToFiles: FfiConverterOptionTypeTracingFileConfiguration.read(from: &buf), - sentryDsn: FfiConverterOptionString.read(from: &buf) + writeToFiles: FfiConverterOptionTypeTracingFileConfiguration.read(from: &buf) ) } @@ -21505,7 +21666,6 @@ public struct FfiConverterTypeTracingConfiguration: FfiConverterRustBuffer { FfiConverterSequenceString.write(value.extraTargets, into: &buf) FfiConverterBool.write(value.writeToStdoutOrSystem, into: &buf) FfiConverterOptionTypeTracingFileConfiguration.write(value.writeToFiles, into: &buf) - FfiConverterOptionString.write(value.sentryDsn, into: &buf) } } @@ -22525,401 +22685,6 @@ public func FfiConverterTypeVideoMessageContent_lower(_ value: VideoMessageConte } -/** - * Properties to create a new virtual Element Call widget. - */ -public struct VirtualElementCallWidgetOptions { - /** - * The url to the Element Call app including any `/room` path if required. - * - * E.g. , , - */ - public var elementCallUrl: String - /** - * The widget id. - */ - public var widgetId: String - /** - * The url that is used as the target for the PostMessages sent - * by the widget (to the client). - * - * For a web app client this is the client url. In case of using other - * platforms the client most likely is setup up to listen to - * postmessages in the same webview the widget is hosted. In this case - * the `parent_url` is set to the url of the webview with the widget. Be - * aware that this means that the widget will receive its own postmessage - * messages. The `matrix-widget-api` (js) ignores those so this works but - * it might break custom implementations. - * - * Defaults to `element_call_url` for the non-iframe (dedicated webview) - * usecase. - */ - public var parentUrl: String? - /** - * Whether the branding header of Element call should be hidden. - * - * Default: `true` - */ - public var hideHeader: Bool? - /** - * If set, the lobby will be skipped and the widget will join the - * call on the `io.element.join` action. - * - * Default: `false` - */ - public var preload: Bool? - /** - * The font scale which will be used inside element call. - * - * Default: `1` - */ - public var fontScale: Double? - /** - * Whether element call should prompt the user to open in the browser or - * the app. - * - * Default: `false` - */ - public var appPrompt: Bool? - /** - * Make it not possible to get to the calls list in the webview. - * - * Default: `true` - */ - public var confineToRoom: Bool? - /** - * The font to use, to adapt to the system font. - */ - public var font: String? - /** - * The encryption system to use. - * - * Use `EncryptionSystem::Unencrypted` to disable encryption. - */ - public var encryption: EncryptionSystem - /** - * The intent of showing the call. - * If the user wants to start a call or join an existing one. - * Controls if the lobby is skipped or not. - */ - public var intent: Intent? - /** - * Do not show the screenshare button. - */ - public var hideScreensharing: Bool - /** - * Can be used to pass a PostHog id to element call. - */ - public var posthogUserId: String? - /** - * The host of the posthog api. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - public var posthogApiHost: String? - /** - * The key for the posthog api. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - public var posthogApiKey: String? - /** - * The url to use for submitting rageshakes. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - public var rageshakeSubmitUrl: String? - /** - * Sentry [DSN](https://docs.sentry.io/concepts/key-terms/dsn-explainer/) - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - public var sentryDsn: String? - /** - * Sentry [environment](https://docs.sentry.io/concepts/key-terms/key-terms/) - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - public var sentryEnvironment: String? - /** - * - `false`: the webview shows a a list of devices injected by the - * client. (used on ios & android) - */ - public var controlledMediaDevices: Bool - - // Default memberwise initializers are never public by default, so we - // declare one manually. - public init( - /** - * The url to the Element Call app including any `/room` path if required. - * - * E.g. , , - */elementCallUrl: String, - /** - * The widget id. - */widgetId: String, - /** - * The url that is used as the target for the PostMessages sent - * by the widget (to the client). - * - * For a web app client this is the client url. In case of using other - * platforms the client most likely is setup up to listen to - * postmessages in the same webview the widget is hosted. In this case - * the `parent_url` is set to the url of the webview with the widget. Be - * aware that this means that the widget will receive its own postmessage - * messages. The `matrix-widget-api` (js) ignores those so this works but - * it might break custom implementations. - * - * Defaults to `element_call_url` for the non-iframe (dedicated webview) - * usecase. - */parentUrl: String?, - /** - * Whether the branding header of Element call should be hidden. - * - * Default: `true` - */hideHeader: Bool?, - /** - * If set, the lobby will be skipped and the widget will join the - * call on the `io.element.join` action. - * - * Default: `false` - */preload: Bool?, - /** - * The font scale which will be used inside element call. - * - * Default: `1` - */fontScale: Double?, - /** - * Whether element call should prompt the user to open in the browser or - * the app. - * - * Default: `false` - */appPrompt: Bool?, - /** - * Make it not possible to get to the calls list in the webview. - * - * Default: `true` - */confineToRoom: Bool?, - /** - * The font to use, to adapt to the system font. - */font: String?, - /** - * The encryption system to use. - * - * Use `EncryptionSystem::Unencrypted` to disable encryption. - */encryption: EncryptionSystem, - /** - * The intent of showing the call. - * If the user wants to start a call or join an existing one. - * Controls if the lobby is skipped or not. - */intent: Intent?, - /** - * Do not show the screenshare button. - */hideScreensharing: Bool, - /** - * Can be used to pass a PostHog id to element call. - */posthogUserId: String?, - /** - * The host of the posthog api. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */posthogApiHost: String?, - /** - * The key for the posthog api. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */posthogApiKey: String?, - /** - * The url to use for submitting rageshakes. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */rageshakeSubmitUrl: String?, - /** - * Sentry [DSN](https://docs.sentry.io/concepts/key-terms/dsn-explainer/) - * Supported since Element Call v0.9.0. Only used by the embedded package. - */sentryDsn: String?, - /** - * Sentry [environment](https://docs.sentry.io/concepts/key-terms/key-terms/) - * Supported since Element Call v0.9.0. Only used by the embedded package. - */sentryEnvironment: String?, - /** - * - `false`: the webview shows a a list of devices injected by the - * client. (used on ios & android) - */controlledMediaDevices: Bool) { - self.elementCallUrl = elementCallUrl - self.widgetId = widgetId - self.parentUrl = parentUrl - self.hideHeader = hideHeader - self.preload = preload - self.fontScale = fontScale - self.appPrompt = appPrompt - self.confineToRoom = confineToRoom - self.font = font - self.encryption = encryption - self.intent = intent - self.hideScreensharing = hideScreensharing - self.posthogUserId = posthogUserId - self.posthogApiHost = posthogApiHost - self.posthogApiKey = posthogApiKey - self.rageshakeSubmitUrl = rageshakeSubmitUrl - self.sentryDsn = sentryDsn - self.sentryEnvironment = sentryEnvironment - self.controlledMediaDevices = controlledMediaDevices - } -} - -#if compiler(>=6) -extension VirtualElementCallWidgetOptions: Sendable {} -#endif - - -extension VirtualElementCallWidgetOptions: Equatable, Hashable { - public static func ==(lhs: VirtualElementCallWidgetOptions, rhs: VirtualElementCallWidgetOptions) -> Bool { - if lhs.elementCallUrl != rhs.elementCallUrl { - return false - } - if lhs.widgetId != rhs.widgetId { - return false - } - if lhs.parentUrl != rhs.parentUrl { - return false - } - if lhs.hideHeader != rhs.hideHeader { - return false - } - if lhs.preload != rhs.preload { - return false - } - if lhs.fontScale != rhs.fontScale { - return false - } - if lhs.appPrompt != rhs.appPrompt { - return false - } - if lhs.confineToRoom != rhs.confineToRoom { - return false - } - if lhs.font != rhs.font { - return false - } - if lhs.encryption != rhs.encryption { - return false - } - if lhs.intent != rhs.intent { - return false - } - if lhs.hideScreensharing != rhs.hideScreensharing { - return false - } - if lhs.posthogUserId != rhs.posthogUserId { - return false - } - if lhs.posthogApiHost != rhs.posthogApiHost { - return false - } - if lhs.posthogApiKey != rhs.posthogApiKey { - return false - } - if lhs.rageshakeSubmitUrl != rhs.rageshakeSubmitUrl { - return false - } - if lhs.sentryDsn != rhs.sentryDsn { - return false - } - if lhs.sentryEnvironment != rhs.sentryEnvironment { - return false - } - if lhs.controlledMediaDevices != rhs.controlledMediaDevices { - return false - } - return true - } - - public func hash(into hasher: inout Hasher) { - hasher.combine(elementCallUrl) - hasher.combine(widgetId) - hasher.combine(parentUrl) - hasher.combine(hideHeader) - hasher.combine(preload) - hasher.combine(fontScale) - hasher.combine(appPrompt) - hasher.combine(confineToRoom) - hasher.combine(font) - hasher.combine(encryption) - hasher.combine(intent) - hasher.combine(hideScreensharing) - hasher.combine(posthogUserId) - hasher.combine(posthogApiHost) - hasher.combine(posthogApiKey) - hasher.combine(rageshakeSubmitUrl) - hasher.combine(sentryDsn) - hasher.combine(sentryEnvironment) - hasher.combine(controlledMediaDevices) - } -} - - - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public struct FfiConverterTypeVirtualElementCallWidgetOptions: FfiConverterRustBuffer { - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> VirtualElementCallWidgetOptions { - return - try VirtualElementCallWidgetOptions( - elementCallUrl: FfiConverterString.read(from: &buf), - widgetId: FfiConverterString.read(from: &buf), - parentUrl: FfiConverterOptionString.read(from: &buf), - hideHeader: FfiConverterOptionBool.read(from: &buf), - preload: FfiConverterOptionBool.read(from: &buf), - fontScale: FfiConverterOptionDouble.read(from: &buf), - appPrompt: FfiConverterOptionBool.read(from: &buf), - confineToRoom: FfiConverterOptionBool.read(from: &buf), - font: FfiConverterOptionString.read(from: &buf), - encryption: FfiConverterTypeEncryptionSystem.read(from: &buf), - intent: FfiConverterOptionTypeIntent.read(from: &buf), - hideScreensharing: FfiConverterBool.read(from: &buf), - posthogUserId: FfiConverterOptionString.read(from: &buf), - posthogApiHost: FfiConverterOptionString.read(from: &buf), - posthogApiKey: FfiConverterOptionString.read(from: &buf), - rageshakeSubmitUrl: FfiConverterOptionString.read(from: &buf), - sentryDsn: FfiConverterOptionString.read(from: &buf), - sentryEnvironment: FfiConverterOptionString.read(from: &buf), - controlledMediaDevices: FfiConverterBool.read(from: &buf) - ) - } - - public static func write(_ value: VirtualElementCallWidgetOptions, into buf: inout [UInt8]) { - FfiConverterString.write(value.elementCallUrl, into: &buf) - FfiConverterString.write(value.widgetId, into: &buf) - FfiConverterOptionString.write(value.parentUrl, into: &buf) - FfiConverterOptionBool.write(value.hideHeader, into: &buf) - FfiConverterOptionBool.write(value.preload, into: &buf) - FfiConverterOptionDouble.write(value.fontScale, into: &buf) - FfiConverterOptionBool.write(value.appPrompt, into: &buf) - FfiConverterOptionBool.write(value.confineToRoom, into: &buf) - FfiConverterOptionString.write(value.font, into: &buf) - FfiConverterTypeEncryptionSystem.write(value.encryption, into: &buf) - FfiConverterOptionTypeIntent.write(value.intent, into: &buf) - FfiConverterBool.write(value.hideScreensharing, into: &buf) - FfiConverterOptionString.write(value.posthogUserId, into: &buf) - FfiConverterOptionString.write(value.posthogApiHost, into: &buf) - FfiConverterOptionString.write(value.posthogApiKey, into: &buf) - FfiConverterOptionString.write(value.rageshakeSubmitUrl, into: &buf) - FfiConverterOptionString.write(value.sentryDsn, into: &buf) - FfiConverterOptionString.write(value.sentryEnvironment, into: &buf) - FfiConverterBool.write(value.controlledMediaDevices, into: &buf) - } -} - - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeVirtualElementCallWidgetOptions_lift(_ buf: RustBuffer) throws -> VirtualElementCallWidgetOptions { - return try FfiConverterTypeVirtualElementCallWidgetOptions.lift(buf) -} - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeVirtualElementCallWidgetOptions_lower(_ value: VirtualElementCallWidgetOptions) -> RustBuffer { - return FfiConverterTypeVirtualElementCallWidgetOptions.lower(value) -} - - /** * Capabilities that a widget can request from a client. */ @@ -24123,6 +23888,88 @@ extension BackupUploadState: Equatable, Hashable {} +// Note that we don't yet support `indirect` for enums. +// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. + +public enum BatchNotificationResult { + + /** + * We have more detailed information about the notification. + */ + case ok(status: NotificationStatus + ) + /** + * An error occurred while trying to fetch the notification. + */ + case error( + /** + * The error message observed while handling a specific notification. + */message: String + ) +} + + +#if compiler(>=6) +extension BatchNotificationResult: Sendable {} +#endif + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public struct FfiConverterTypeBatchNotificationResult: FfiConverterRustBuffer { + typealias SwiftType = BatchNotificationResult + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> BatchNotificationResult { + let variant: Int32 = try readInt(&buf) + switch variant { + + case 1: return .ok(status: try FfiConverterTypeNotificationStatus.read(from: &buf) + ) + + case 2: return .error(message: try FfiConverterString.read(from: &buf) + ) + + default: throw UniffiInternalError.unexpectedEnumCase + } + } + + public static func write(_ value: BatchNotificationResult, into buf: inout [UInt8]) { + switch value { + + + case let .ok(status): + writeInt(&buf, Int32(1)) + FfiConverterTypeNotificationStatus.write(status, into: &buf) + + + case let .error(message): + writeInt(&buf, Int32(2)) + FfiConverterString.write(message, into: &buf) + + } + } +} + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeBatchNotificationResult_lift(_ buf: RustBuffer) throws -> BatchNotificationResult { + return try FfiConverterTypeBatchNotificationResult.lift(buf) +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeBatchNotificationResult_lower(_ value: BatchNotificationResult) -> RustBuffer { + return FfiConverterTypeBatchNotificationResult.lower(value) +} + + + + + + public enum ClientBuildError: Swift.Error { @@ -24806,7 +24653,7 @@ public enum EmbeddedEventDetails { case unavailable case pending - case ready(content: TimelineItemContent, sender: String, senderProfile: ProfileDetails + case ready(content: TimelineItemContent, sender: String, senderProfile: ProfileDetails, timestamp: Timestamp, eventOrTransactionId: EventOrTransactionId ) case error(message: String ) @@ -24831,7 +24678,7 @@ public struct FfiConverterTypeEmbeddedEventDetails: FfiConverterRustBuffer { case 2: return .pending - case 3: return .ready(content: try FfiConverterTypeTimelineItemContent.read(from: &buf), sender: try FfiConverterString.read(from: &buf), senderProfile: try FfiConverterTypeProfileDetails.read(from: &buf) + case 3: return .ready(content: try FfiConverterTypeTimelineItemContent.read(from: &buf), sender: try FfiConverterString.read(from: &buf), senderProfile: try FfiConverterTypeProfileDetails.read(from: &buf), timestamp: try FfiConverterTypeTimestamp.read(from: &buf), eventOrTransactionId: try FfiConverterTypeEventOrTransactionId.read(from: &buf) ) case 4: return .error(message: try FfiConverterString.read(from: &buf) @@ -24853,11 +24700,13 @@ public struct FfiConverterTypeEmbeddedEventDetails: FfiConverterRustBuffer { writeInt(&buf, Int32(2)) - case let .ready(content,sender,senderProfile): + case let .ready(content,sender,senderProfile,timestamp,eventOrTransactionId): writeInt(&buf, Int32(3)) FfiConverterTypeTimelineItemContent.write(content, into: &buf) FfiConverterString.write(sender, into: &buf) FfiConverterTypeProfileDetails.write(senderProfile, into: &buf) + FfiConverterTypeTimestamp.write(timestamp, into: &buf) + FfiConverterTypeEventOrTransactionId.write(eventOrTransactionId, into: &buf) case let .error(message): @@ -25087,105 +24936,6 @@ extension EncryptedMessage: Equatable, Hashable {} -// Note that we don't yet support `indirect` for enums. -// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. -/** - * Defines if a call is encrypted and which encryption system should be used. - * - * This controls the url parameters: `perParticipantE2EE`, `password`. - */ - -public enum EncryptionSystem { - - /** - * Equivalent to the element call url parameter: `enableE2EE=false` - */ - case unencrypted - /** - * Equivalent to the element call url parameter: - * `perParticipantE2EE=true` - */ - case perParticipantKeys - /** - * Equivalent to the element call url parameter: - * `password={secret}` - */ - case sharedSecret( - /** - * The secret/password which is used in the url. - */secret: String - ) -} - - -#if compiler(>=6) -extension EncryptionSystem: Sendable {} -#endif - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public struct FfiConverterTypeEncryptionSystem: FfiConverterRustBuffer { - typealias SwiftType = EncryptionSystem - - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> EncryptionSystem { - let variant: Int32 = try readInt(&buf) - switch variant { - - case 1: return .unencrypted - - case 2: return .perParticipantKeys - - case 3: return .sharedSecret(secret: try FfiConverterString.read(from: &buf) - ) - - default: throw UniffiInternalError.unexpectedEnumCase - } - } - - public static func write(_ value: EncryptionSystem, into buf: inout [UInt8]) { - switch value { - - - case .unencrypted: - writeInt(&buf, Int32(1)) - - - case .perParticipantKeys: - writeInt(&buf, Int32(2)) - - - case let .sharedSecret(secret): - writeInt(&buf, Int32(3)) - FfiConverterString.write(secret, into: &buf) - - } - } -} - - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeEncryptionSystem_lift(_ buf: RustBuffer) throws -> EncryptionSystem { - return try FfiConverterTypeEncryptionSystem.lift(buf) -} - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeEncryptionSystem_lower(_ value: EncryptionSystem) -> RustBuffer { - return FfiConverterTypeEncryptionSystem.lower(value) -} - - -extension EncryptionSystem: Equatable, Hashable {} - - - - - - // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. @@ -26637,87 +26387,6 @@ extension HumanQrLoginError: Foundation.LocalizedError { -// Note that we don't yet support `indirect` for enums. -// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. -/** - * Defines the intent of showing the call. - * - * This controls whether to show or skip the lobby. - */ - -public enum Intent { - - /** - * The user wants to start a call. - */ - case startCall - /** - * The user wants to join an existing call. - */ - case joinExisting -} - - -#if compiler(>=6) -extension Intent: Sendable {} -#endif - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public struct FfiConverterTypeIntent: FfiConverterRustBuffer { - typealias SwiftType = Intent - - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> Intent { - let variant: Int32 = try readInt(&buf) - switch variant { - - case 1: return .startCall - - case 2: return .joinExisting - - default: throw UniffiInternalError.unexpectedEnumCase - } - } - - public static func write(_ value: Intent, into buf: inout [UInt8]) { - switch value { - - - case .startCall: - writeInt(&buf, Int32(1)) - - - case .joinExisting: - writeInt(&buf, Int32(2)) - - } - } -} - - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeIntent_lift(_ buf: RustBuffer) throws -> Intent { - return try FfiConverterTypeIntent.lift(buf) -} - -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -public func FfiConverterTypeIntent_lower(_ value: Intent) -> RustBuffer { - return FfiConverterTypeIntent.lower(value) -} - - -extension Intent: Equatable, Hashable {} - - - - - - // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. /** @@ -28936,6 +28605,94 @@ extension NotificationSettingsError: Foundation.LocalizedError { +// Note that we don't yet support `indirect` for enums. +// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. + +public enum NotificationStatus { + + /** + * The event has been found and was not filtered out. + */ + case event(item: NotificationItem + ) + /** + * The event couldn't be found in the network queries used to find it. + */ + case eventNotFound + /** + * The event has been filtered out, either because of the user's push + * rules, or because the user which triggered it is ignored by the + * current user. + */ + case eventFilteredOut +} + + +#if compiler(>=6) +extension NotificationStatus: Sendable {} +#endif + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public struct FfiConverterTypeNotificationStatus: FfiConverterRustBuffer { + typealias SwiftType = NotificationStatus + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> NotificationStatus { + let variant: Int32 = try readInt(&buf) + switch variant { + + case 1: return .event(item: try FfiConverterTypeNotificationItem.read(from: &buf) + ) + + case 2: return .eventNotFound + + case 3: return .eventFilteredOut + + default: throw UniffiInternalError.unexpectedEnumCase + } + } + + public static func write(_ value: NotificationStatus, into buf: inout [UInt8]) { + switch value { + + + case let .event(item): + writeInt(&buf, Int32(1)) + FfiConverterTypeNotificationItem.write(item, into: &buf) + + + case .eventNotFound: + writeInt(&buf, Int32(2)) + + + case .eventFilteredOut: + writeInt(&buf, Int32(3)) + + } + } +} + + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeNotificationStatus_lift(_ buf: RustBuffer) throws -> NotificationStatus { + return try FfiConverterTypeNotificationStatus.lift(buf) +} + +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +public func FfiConverterTypeNotificationStatus_lower(_ value: NotificationStatus) -> RustBuffer { + return FfiConverterTypeNotificationStatus.lower(value) +} + + + + + + // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. @@ -34413,7 +34170,7 @@ public enum TimelineFocus { case thread( /** * The thread root event ID to focus on. - */rootEventId: String, numEvents: UInt16 + */rootEventId: String ) case pinnedEvents(maxEventsToLoad: UInt16, maxConcurrentRequests: UInt16 ) @@ -34440,7 +34197,7 @@ public struct FfiConverterTypeTimelineFocus: FfiConverterRustBuffer { case 2: return .event(eventId: try FfiConverterString.read(from: &buf), numContextEvents: try FfiConverterUInt16.read(from: &buf), hideThreadedEvents: try FfiConverterBool.read(from: &buf) ) - case 3: return .thread(rootEventId: try FfiConverterString.read(from: &buf), numEvents: try FfiConverterUInt16.read(from: &buf) + case 3: return .thread(rootEventId: try FfiConverterString.read(from: &buf) ) case 4: return .pinnedEvents(maxEventsToLoad: try FfiConverterUInt16.read(from: &buf), maxConcurrentRequests: try FfiConverterUInt16.read(from: &buf) @@ -34466,10 +34223,9 @@ public struct FfiConverterTypeTimelineFocus: FfiConverterRustBuffer { FfiConverterBool.write(hideThreadedEvents, into: &buf) - case let .thread(rootEventId,numEvents): + case let .thread(rootEventId): writeInt(&buf, Int32(3)) FfiConverterString.write(rootEventId, into: &buf) - FfiConverterUInt16.write(numEvents, into: &buf) case let .pinnedEvents(maxEventsToLoad,maxConcurrentRequests): @@ -34662,6 +34418,10 @@ public enum TraceLogPacks { * Enables all the logs relevant to the timeline. */ case timeline + /** + * Enables all the logs relevant to the notification client. + */ + case notificationClient } @@ -34685,6 +34445,8 @@ public struct FfiConverterTypeTraceLogPacks: FfiConverterRustBuffer { case 3: return .timeline + case 4: return .notificationClient + default: throw UniffiInternalError.unexpectedEnumCase } } @@ -34704,6 +34466,10 @@ public struct FfiConverterTypeTraceLogPacks: FfiConverterRustBuffer { case .timeline: writeInt(&buf, Int32(3)) + + case .notificationClient: + writeInt(&buf, Int32(4)) + } } } @@ -39370,6 +39136,30 @@ fileprivate struct FfiConverterOptionTypeRoomMessageEventContentWithoutRelation: } } +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +fileprivate struct FfiConverterOptionTypeRoomPowerLevels: FfiConverterRustBuffer { + typealias SwiftType = RoomPowerLevels? + + public static func write(_ value: SwiftType, into buf: inout [UInt8]) { + guard let value = value else { + writeInt(&buf, Int8(0)) + return + } + writeInt(&buf, Int8(1)) + FfiConverterTypeRoomPowerLevels.write(value, into: &buf) + } + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { + switch try readInt(&buf) as Int8 { + case 0: return nil + case 1: return try FfiConverterTypeRoomPowerLevels.read(from: &buf) + default: throw UniffiInternalError.unexpectedOptionalTag + } + } +} + #if swift(>=5.8) @_documentation(visibility: private) #endif @@ -39394,6 +39184,30 @@ fileprivate struct FfiConverterOptionTypeSendHandle: FfiConverterRustBuffer { } } +#if swift(>=5.8) +@_documentation(visibility: private) +#endif +fileprivate struct FfiConverterOptionTypeSyncService: FfiConverterRustBuffer { + typealias SwiftType = SyncService? + + public static func write(_ value: SwiftType, into buf: inout [UInt8]) { + guard let value = value else { + writeInt(&buf, Int8(0)) + return + } + writeInt(&buf, Int8(1)) + FfiConverterTypeSyncService.write(value, into: &buf) + } + + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { + switch try readInt(&buf) as Int8 { + case 0: return nil + case 1: return try FfiConverterTypeSyncService.read(from: &buf) + default: throw UniffiInternalError.unexpectedOptionalTag + } + } +} + #if swift(>=5.8) @_documentation(visibility: private) #endif @@ -39538,30 +39352,6 @@ fileprivate struct FfiConverterOptionTypeComposerDraft: FfiConverterRustBuffer { } } -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -fileprivate struct FfiConverterOptionTypeElementCallWellKnown: FfiConverterRustBuffer { - typealias SwiftType = ElementCallWellKnown? - - public static func write(_ value: SwiftType, into buf: inout [UInt8]) { - guard let value = value else { - writeInt(&buf, Int8(0)) - return - } - writeInt(&buf, Int8(1)) - FfiConverterTypeElementCallWellKnown.write(value, into: &buf) - } - - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { - switch try readInt(&buf) as Int8 { - case 0: return nil - case 1: return try FfiConverterTypeElementCallWellKnown.read(from: &buf) - default: throw UniffiInternalError.unexpectedOptionalTag - } - } -} - #if swift(>=5.8) @_documentation(visibility: private) #endif @@ -39754,30 +39544,6 @@ fileprivate struct FfiConverterOptionTypeMentions: FfiConverterRustBuffer { } } -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -fileprivate struct FfiConverterOptionTypeNotificationItem: FfiConverterRustBuffer { - typealias SwiftType = NotificationItem? - - public static func write(_ value: SwiftType, into buf: inout [UInt8]) { - guard let value = value else { - writeInt(&buf, Int8(0)) - return - } - writeInt(&buf, Int8(1)) - FfiConverterTypeNotificationItem.write(value, into: &buf) - } - - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { - switch try readInt(&buf) as Int8 { - case 0: return nil - case 1: return try FfiConverterTypeNotificationItem.read(from: &buf) - default: throw UniffiInternalError.unexpectedOptionalTag - } - } -} - #if swift(>=5.8) @_documentation(visibility: private) #endif @@ -40234,30 +40000,6 @@ fileprivate struct FfiConverterOptionTypeEventSendState: FfiConverterRustBuffer } } -#if swift(>=5.8) -@_documentation(visibility: private) -#endif -fileprivate struct FfiConverterOptionTypeIntent: FfiConverterRustBuffer { - typealias SwiftType = Intent? - - public static func write(_ value: SwiftType, into buf: inout [UInt8]) { - guard let value = value else { - writeInt(&buf, Int8(0)) - return - } - writeInt(&buf, Int8(1)) - FfiConverterTypeIntent.write(value, into: &buf) - } - - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SwiftType { - switch try readInt(&buf) as Int8 { - case 0: return nil - case 1: return try FfiConverterTypeIntent.read(from: &buf) - default: throw UniffiInternalError.unexpectedOptionalTag - } - } -} - #if swift(>=5.8) @_documentation(visibility: private) #endif @@ -41866,23 +41608,23 @@ fileprivate struct FfiConverterDictionaryStringTypeIgnoredUser: FfiConverterRust #if swift(>=5.8) @_documentation(visibility: private) #endif -fileprivate struct FfiConverterDictionaryStringTypeNotificationItem: FfiConverterRustBuffer { - public static func write(_ value: [String: NotificationItem], into buf: inout [UInt8]) { +fileprivate struct FfiConverterDictionaryStringTypeReceipt: FfiConverterRustBuffer { + public static func write(_ value: [String: Receipt], into buf: inout [UInt8]) { let len = Int32(value.count) writeInt(&buf, len) for (key, value) in value { FfiConverterString.write(key, into: &buf) - FfiConverterTypeNotificationItem.write(value, into: &buf) + FfiConverterTypeReceipt.write(value, into: &buf) } } - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> [String: NotificationItem] { + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> [String: Receipt] { let len: Int32 = try readInt(&buf) - var dict = [String: NotificationItem]() + var dict = [String: Receipt]() dict.reserveCapacity(Int(len)) for _ in 0..=5.8) @_documentation(visibility: private) #endif -fileprivate struct FfiConverterDictionaryStringTypeReceipt: FfiConverterRustBuffer { - public static func write(_ value: [String: Receipt], into buf: inout [UInt8]) { +fileprivate struct FfiConverterDictionaryStringTypeBatchNotificationResult: FfiConverterRustBuffer { + public static func write(_ value: [String: BatchNotificationResult], into buf: inout [UInt8]) { let len = Int32(value.count) writeInt(&buf, len) for (key, value) in value { FfiConverterString.write(key, into: &buf) - FfiConverterTypeReceipt.write(value, into: &buf) + FfiConverterTypeBatchNotificationResult.write(value, into: &buf) } } - public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> [String: Receipt] { + public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> [String: BatchNotificationResult] { let len: Int32 = try readInt(&buf) - var dict = [String: Receipt]() + var dict = [String: BatchNotificationResult]() dict.reserveCapacity(Int(len)) for _ in 0.. String { return try! FfiConverterString.lift(try! rustCall() { uniffi_matrix_sdk_ffi_fn_func_gen_transaction_id($0 @@ -42177,7 +41909,7 @@ public func isRoomAliasFormatValid(alias: String) -> Bool { * Log an event. * * The target should be something like a module path, and can be referenced in - * the filter string given to `setup_tracing`. `level` and `target` for a + * the filter string given to `init_platform`. `level` and `target` for a * callsite are fixed at the first `log_event` call for that callsite and can * not be changed afterwards, i.e. the level and target passed for second and * following `log_event`s with the same callsite will be ignored. @@ -42197,16 +41929,6 @@ public func logEvent(file: String, line: UInt32?, level: LogLevel, target: Strin ) } } -/** - * Helper function to parse a string into a ElementWellKnown struct - */ -public func makeElementWellKnown(string: String)throws -> ElementWellKnown { - return try FfiConverterTypeElementWellKnown_lift(try rustCallWithError(FfiConverterTypeClientError_lift) { - uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - FfiConverterString.lower(string),$0 - ) -}) -} public func makeWidgetDriver(settings: WidgetSettings)throws -> WidgetDriverAndHandle { return try FfiConverterTypeWidgetDriverAndHandle_lift(try rustCallWithError(FfiConverterTypeParseError_lift) { uniffi_matrix_sdk_ffi_fn_func_make_widget_driver( @@ -42304,6 +42026,19 @@ public func parseMatrixEntityFrom(uri: String) -> MatrixEntity? { ) }) } +/** + * Updates the tracing subscriber with a new file writer based on the provided + * configuration. + * + * This method will throw if `init_platform` hasn't been called, or if it was + * called with `write_to_files` set to `None`. + */ +public func reloadTracingFileWriter(configuration: TracingFileConfiguration)throws {try rustCallWithError(FfiConverterTypeClientError_lift) { + uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + FfiConverterTypeTracingFileConfiguration_lower(configuration),$0 + ) +} +} /** * Transforms a Room's display name into a valid room alias name. */ @@ -42356,9 +42091,6 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit() != 33992) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging() != 53125) { - return InitializationResult.apiChecksumMismatch - } if (uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id() != 15808) { return InitializationResult.apiChecksumMismatch } @@ -42374,10 +42106,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_func_is_room_alias_format_valid() != 54845) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_func_log_event() != 62286) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known() != 21379) { + if (uniffi_matrix_sdk_ffi_checksum_func_log_event() != 55646) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver() != 34206) { @@ -42404,12 +42133,15 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_func_message_event_content_new() != 57839) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget() != 4988) { + if (uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget() != 61776) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from() != 49710) { return InitializationResult.apiChecksumMismatch } + if (uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer() != 1447) { + return InitializationResult.apiChecksumMismatch + } if (uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_display_name() != 65010) { return InitializationResult.apiChecksumMismatch } @@ -42446,7 +42178,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_client_can_deactivate_account() != 39890) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_client_clear_caches() != 65177) { + if (uniffi_matrix_sdk_ffi_checksum_method_client_clear_caches() != 55711) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_client_create_room() != 52700) { @@ -42488,7 +42220,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_client_get_media_content() != 40308) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_client_get_media_file() != 52604) { + if (uniffi_matrix_sdk_ffi_checksum_method_client_get_media_file() != 20094) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_client_get_media_preview_display_policy() != 19264) { @@ -42533,6 +42265,9 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_client_ignored_users() != 49620) { return InitializationResult.apiChecksumMismatch } + if (uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported() != 34863) { + return InitializationResult.apiChecksumMismatch + } if (uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_supported() != 17934) { return InitializationResult.apiChecksumMismatch } @@ -42572,7 +42307,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_client_remove_avatar() != 29033) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities() != 39651) { + if (uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info() != 16333) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_client_resolve_room_alias() != 3551) { @@ -42689,6 +42424,9 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_cross_process_store_locks_holder_name() != 46627) { return InitializationResult.apiChecksumMismatch } + if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings() != 34715) { + return InitializationResult.apiChecksumMismatch + } if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_automatic_token_refresh() != 43839) { return InitializationResult.apiChecksumMismatch } @@ -42713,9 +42451,6 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_request_config() != 58783) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement() != 2776) { - return InitializationResult.apiChecksumMismatch - } if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_recipient_strategy() != 41183) { return InitializationResult.apiChecksumMismatch } @@ -42749,6 +42484,9 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_system_is_memory_constrained() != 6898) { return InitializationResult.apiChecksumMismatch } + if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled() != 33768) { + return InitializationResult.apiChecksumMismatch + } if (uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent() != 13719) { return InitializationResult.apiChecksumMismatch } @@ -42881,10 +42619,10 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_mediasource_url() != 62692) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notification() != 2524) { + if (uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notification() != 52873) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notifications() != 30600) { + if (uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notifications() != 64372) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_room() != 26581) { @@ -42974,37 +42712,10 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_room_ban_user() != 35046) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban() != 64711) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite() != 62459) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick() != 12773) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin() != 8341) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other() != 13274) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own() != 57442) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message() != 36743) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state() != 19062) { - return InitializationResult.apiChecksumMismatch - } - if (uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification() != 18832) { - return InitializationResult.apiChecksumMismatch - } if (uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias() != 19786) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft() != 39667) { + if (uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft() != 59182) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_room_clear_event_cache_storage() != 13838) { @@ -43031,7 +42742,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_room_forget() != 37840) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_room_get_power_levels() != 54094) { + if (uniffi_matrix_sdk_ffi_checksum_method_room_get_power_levels() != 47640) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_room_get_room_visibility() != 412) { @@ -43067,7 +42778,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_room_is_encrypted() != 63995) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_room_is_public() != 7336) { + if (uniffi_matrix_sdk_ffi_checksum_method_room_is_public() != 57746) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_room_is_send_queue_enabled() != 36591) { @@ -43094,7 +42805,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_room_leave() != 63688) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_room_load_composer_draft() != 38115) { + if (uniffi_matrix_sdk_ffi_checksum_method_room_load_composer_draft() != 62856) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_room_mark_as_read() != 57806) { @@ -43157,7 +42868,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_room_report_room() != 8059) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_room_reset_power_levels() != 63622) { + if (uniffi_matrix_sdk_ffi_checksum_method_room_reset_power_levels() != 5060) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_room_room_events_debug_string() != 37832) { @@ -43166,7 +42877,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_room_room_info() != 41146) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_room_save_composer_draft() != 62232) { + if (uniffi_matrix_sdk_ffi_checksum_method_room_save_composer_draft() != 27585) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_room_send_call_notification() != 43366) { @@ -43307,7 +43018,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_state() != 64650) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_subscribe_to_rooms() != 59765) { + if (uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_subscribe_to_rooms() != 5528) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_sync_indicator() != 16821) { @@ -43322,6 +43033,66 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_roommessageeventcontentwithoutrelation_with_mentions() != 8867) { return InitializationResult.apiChecksumMismatch } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban() != 7183) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite() != 57708) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick() != 461) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin() != 52852) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other() != 60699) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own() != 32905) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message() != 2424) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state() != 33539) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification() != 64150) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban() != 57457) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite() != 41275) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick() != 51066) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin() != 4609) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other() != 52543) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own() != 2983) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message() != 48291) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state() != 14792) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification() != 26319) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels() != 16221) { + return InitializationResult.apiChecksumMismatch + } + if (uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values() != 38774) { + return InitializationResult.apiChecksumMismatch + } if (uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget() != 18179) { return InitializationResult.apiChecksumMismatch } @@ -43424,6 +43195,9 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_offline_mode() != 16958) { return InitializationResult.apiChecksumMismatch } + if (uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos() != 18892) { + return InitializationResult.apiChecksumMismatch + } if (uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel() != 9124) { return InitializationResult.apiChecksumMismatch } @@ -43433,6 +43207,9 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_threadsummary_latest_event() != 52917) { return InitializationResult.apiChecksumMismatch } + if (uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies() != 10634) { + return InitializationResult.apiChecksumMismatch + } if (uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener() != 18746) { return InitializationResult.apiChecksumMismatch } @@ -43493,7 +43270,7 @@ private let initializationResult: InitializationResult = { if (uniffi_matrix_sdk_ffi_checksum_method_timeline_send_image() != 25436) { return InitializationResult.apiChecksumMismatch } - if (uniffi_matrix_sdk_ffi_checksum_method_timeline_send_location() != 47400) { + if (uniffi_matrix_sdk_ffi_checksum_method_timeline_send_location() != 57832) { return InitializationResult.apiChecksumMismatch } if (uniffi_matrix_sdk_ffi_checksum_method_timeline_send_poll_response() != 7453) { @@ -43777,11 +43554,11 @@ private let initializationResult: InitializationResult = { uniffiCallbackInitUnableToDecryptDelegate() uniffiCallbackInitVerificationStateListener() uniffiCallbackInitWidgetCapabilitiesProvider() - uniffiEnsureMatrixSdkBaseInitialized() uniffiEnsureMatrixSdkUiInitialized() uniffiEnsureMatrixSdkInitialized() - uniffiEnsureMatrixSdkCommonInitialized() uniffiEnsureMatrixSdkCryptoInitialized() + uniffiEnsureMatrixSdkBaseInitialized() + uniffiEnsureMatrixSdkCommonInitialized() return InitializationResult.ok }() diff --git a/ubrn.yaml b/ubrn.yaml index 8143d11..f59acf1 100644 --- a/ubrn.yaml +++ b/ubrn.yaml @@ -1,10 +1,10 @@ --- crate: repo: https://github.com/matrix-org/matrix-rust-sdk - rev: b41efb063e1faa6579a22dd822777d9e2ce5af81 # matrix-sdk-0.12.0 + rev: 18b169ca7ec17440f9fa1170026cbc32e20a06d8 # matrix-sdk-0.13.0 manifestPath: bindings/matrix-sdk-ffi/Cargo.toml android: - cargoExtras: [] + cargoExtras: ['--features', 'rustls-tls'] directory: android native_bindings_dir: kotlin useSharedLibrary: true @@ -13,7 +13,7 @@ android: - arm64-v8a - armeabi-v7a ios: - cargoExtras: [] + cargoExtras: ['--features', 'rustls-tls'] directory: ios native_bindings_dir: swift targets: From a85c3f610ffd268e8a5e51e50b70f224b3f6a455 Mon Sep 17 00:00:00 2001 From: Valentin Weiss <10179089+WeissDev@users.noreply.github.com> Date: Tue, 2 Sep 2025 15:29:16 +0200 Subject: [PATCH 2/2] chore: kotlin bindings for matrix-rust-sdk 0.13.0 --- .../rustcomponents/sdk/matrix_sdk_ffi.kt | 2595 ++++++++++------- .../main/java/uniffi/matrix_sdk/matrix_sdk.kt | 571 ++++ .../matrix_sdk_common/matrix_sdk_common.kt | 7 +- swift/matrix_sdk_ffi.swift | 2 +- 4 files changed, 2163 insertions(+), 1012 deletions(-) diff --git a/android/src/main/java/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt b/android/src/main/java/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt index 9e76d25..94632f2 100644 --- a/android/src/main/java/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt +++ b/android/src/main/java/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt @@ -46,10 +46,12 @@ import uniffi.matrix_sdk.FfiConverterTypeOAuthAuthorizationData import uniffi.matrix_sdk.FfiConverterTypeRoomMemberRole import uniffi.matrix_sdk.FfiConverterTypeRoomPaginationStatus import uniffi.matrix_sdk.FfiConverterTypeRoomPowerLevelChanges +import uniffi.matrix_sdk.FfiConverterTypeVirtualElementCallWidgetOptions import uniffi.matrix_sdk.OAuthAuthorizationData import uniffi.matrix_sdk.RoomMemberRole import uniffi.matrix_sdk.RoomPaginationStatus import uniffi.matrix_sdk.RoomPowerLevelChanges +import uniffi.matrix_sdk.VirtualElementCallWidgetOptions import uniffi.matrix_sdk_base.EncryptionState import uniffi.matrix_sdk_base.FfiConverterTypeEncryptionState import uniffi.matrix_sdk_base.FfiConverterTypeMediaRetentionPolicy @@ -57,12 +59,12 @@ import uniffi.matrix_sdk_base.MediaRetentionPolicy import uniffi.matrix_sdk_common.FfiConverterTypeShieldStateCode import uniffi.matrix_sdk_common.ShieldStateCode import uniffi.matrix_sdk_crypto.CollectStrategy +import uniffi.matrix_sdk_crypto.DecryptionSettings import uniffi.matrix_sdk_crypto.FfiConverterTypeCollectStrategy +import uniffi.matrix_sdk_crypto.FfiConverterTypeDecryptionSettings import uniffi.matrix_sdk_crypto.FfiConverterTypeIdentityState -import uniffi.matrix_sdk_crypto.FfiConverterTypeTrustRequirement import uniffi.matrix_sdk_crypto.FfiConverterTypeUtdCause import uniffi.matrix_sdk_crypto.IdentityState -import uniffi.matrix_sdk_crypto.TrustRequirement import uniffi.matrix_sdk_crypto.UtdCause import uniffi.matrix_sdk_ui.EventItemOrigin import uniffi.matrix_sdk_ui.FfiConverterTypeEventItemOrigin @@ -73,12 +75,13 @@ import uniffi.matrix_sdk.RustBuffer as RustBufferOAuthAuthorizationData import uniffi.matrix_sdk.RustBuffer as RustBufferRoomMemberRole import uniffi.matrix_sdk.RustBuffer as RustBufferRoomPaginationStatus import uniffi.matrix_sdk.RustBuffer as RustBufferRoomPowerLevelChanges +import uniffi.matrix_sdk.RustBuffer as RustBufferVirtualElementCallWidgetOptions import uniffi.matrix_sdk_base.RustBuffer as RustBufferEncryptionState import uniffi.matrix_sdk_base.RustBuffer as RustBufferMediaRetentionPolicy import uniffi.matrix_sdk_common.RustBuffer as RustBufferShieldStateCode import uniffi.matrix_sdk_crypto.RustBuffer as RustBufferCollectStrategy +import uniffi.matrix_sdk_crypto.RustBuffer as RustBufferDecryptionSettings import uniffi.matrix_sdk_crypto.RustBuffer as RustBufferIdentityState -import uniffi.matrix_sdk_crypto.RustBuffer as RustBufferTrustRequirement import uniffi.matrix_sdk_crypto.RustBuffer as RustBufferUtdCause import uniffi.matrix_sdk_ui.RustBuffer as RustBufferEventItemOrigin import uniffi.matrix_sdk_ui.RustBuffer as RustBufferRoomPinnedEventsChange @@ -2380,6 +2383,36 @@ internal open class UniffiVTableCallbackInterfaceWidgetCapabilitiesProvider( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2420,8 +2453,6 @@ internal interface IntegrityCheckingUniffiLib : Library { ): Short fun uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit( ): Short -fun uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging( -): Short fun uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id( ): Short fun uniffi_matrix_sdk_ffi_checksum_func_generate_webview_url( @@ -2434,8 +2465,6 @@ fun uniffi_matrix_sdk_ffi_checksum_func_is_room_alias_format_valid( ): Short fun uniffi_matrix_sdk_ffi_checksum_func_log_event( ): Short -fun uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known( -): Short fun uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver( ): Short fun uniffi_matrix_sdk_ffi_checksum_func_matrix_to_room_alias_permalink( @@ -2456,6 +2485,8 @@ fun uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget( ): Short fun uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from( ): Short +fun uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer( +): Short fun uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_display_name( ): Short fun uniffi_matrix_sdk_ffi_checksum_func_sdk_git_sha( @@ -2538,6 +2569,8 @@ fun uniffi_matrix_sdk_ffi_checksum_method_client_ignore_user( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_client_ignored_users( ): Short +fun uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported( +): Short fun uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_supported( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_client_is_room_alias_available( @@ -2564,7 +2597,7 @@ fun uniffi_matrix_sdk_ffi_checksum_method_client_observe_room_account_data_event ): Short fun uniffi_matrix_sdk_ffi_checksum_method_client_remove_avatar( ): Short -fun uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities( +fun uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_client_resolve_room_alias( ): Short @@ -2642,6 +2675,8 @@ fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_build_with_qr_code( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_cross_process_store_locks_holder_name( ): Short +fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings( +): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_automatic_token_refresh( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_built_in_root_certificates( @@ -2658,8 +2693,6 @@ fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_proxy( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_request_config( ): Short -fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement( -): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_recipient_strategy( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_server_name( @@ -2682,6 +2715,8 @@ fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_sliding_sync_version_bui ): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_system_is_memory_constrained( ): Short +fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled( +): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_username( @@ -2832,24 +2867,6 @@ fun uniffi_matrix_sdk_ffi_checksum_method_room_avatar_url( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_room_ban_user( ): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban( -): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite( -): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick( -): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin( -): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other( -): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own( -): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message( -): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state( -): Short -fun uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification( -): Short fun uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft( @@ -3064,6 +3081,46 @@ fun uniffi_matrix_sdk_ffi_checksum_method_roommembersiterator_next_chunk( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_roommessageeventcontentwithoutrelation_with_mentions( ): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels( +): Short +fun uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values( +): Short fun uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_roompreview_info( @@ -3132,12 +3189,16 @@ fun uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_cross_process_ ): Short fun uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_offline_mode( ): Short +fun uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos( +): Short fun uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_taskhandle_is_finished( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_threadsummary_latest_event( ): Short +fun uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies( +): Short fun uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener( ): Short fun uniffi_matrix_sdk_ffi_checksum_method_timeline_create_message_content( @@ -3451,7 +3512,7 @@ fun uniffi_matrix_sdk_ffi_fn_method_client_cached_avatar_url(`ptr`: Pointer, ): Long fun uniffi_matrix_sdk_ffi_fn_method_client_can_deactivate_account(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): Byte -fun uniffi_matrix_sdk_ffi_fn_method_client_clear_caches(`ptr`: Pointer, +fun uniffi_matrix_sdk_ffi_fn_method_client_clear_caches(`ptr`: Pointer,`syncService`: RustBuffer.ByValue, ): Long fun uniffi_matrix_sdk_ffi_fn_method_client_create_room(`ptr`: Pointer,`request`: RustBuffer.ByValue, ): Long @@ -3509,6 +3570,8 @@ fun uniffi_matrix_sdk_ffi_fn_method_client_ignore_user(`ptr`: Pointer,`userId`: ): Long fun uniffi_matrix_sdk_ffi_fn_method_client_ignored_users(`ptr`: Pointer, ): Long +fun uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported(`ptr`: Pointer, +): Long fun uniffi_matrix_sdk_ffi_fn_method_client_is_report_room_api_supported(`ptr`: Pointer, ): Long fun uniffi_matrix_sdk_ffi_fn_method_client_is_room_alias_available(`ptr`: Pointer,`alias`: RustBuffer.ByValue, @@ -3535,7 +3598,7 @@ fun uniffi_matrix_sdk_ffi_fn_method_client_observe_room_account_data_event(`ptr` ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_client_remove_avatar(`ptr`: Pointer, ): Long -fun uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities(`ptr`: Pointer, +fun uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info(`ptr`: Pointer, ): Long fun uniffi_matrix_sdk_ffi_fn_method_client_resolve_room_alias(`ptr`: Pointer,`roomAlias`: RustBuffer.ByValue, ): Long @@ -3619,6 +3682,8 @@ fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_build_with_qr_code(`ptr`: Poin ): Long fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_cross_process_store_locks_holder_name(`ptr`: Pointer,`holderName`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): Pointer +fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings(`ptr`: Pointer,`decryptionSettings`: RustBufferDecryptionSettings.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Pointer fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_disable_automatic_token_refresh(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_disable_built_in_root_certificates(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, @@ -3635,8 +3700,6 @@ fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_proxy(`ptr`: Pointer,`url`: Ru ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_request_config(`ptr`: Pointer,`config`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): Pointer -fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement(`ptr`: Pointer,`trustRequirement`: RustBufferTrustRequirement.ByValue,uniffi_out_err: UniffiRustCallStatus, -): Pointer fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_key_recipient_strategy(`ptr`: Pointer,`strategy`: RustBufferCollectStrategy.ByValue,uniffi_out_err: UniffiRustCallStatus, ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_server_name(`ptr`: Pointer,`serverName`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, @@ -3659,6 +3722,8 @@ fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_sliding_sync_version_builder(` ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_system_is_memory_constrained(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): Pointer +fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled(`ptr`: Pointer,`enabled`: Byte,uniffi_out_err: UniffiRustCallStatus, +): Pointer fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_user_agent(`ptr`: Pointer,`userAgent`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_clientbuilder_username(`ptr`: Pointer,`username`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, @@ -3863,27 +3928,9 @@ fun uniffi_matrix_sdk_ffi_fn_method_room_avatar_url(`ptr`: Pointer,uniffi_out_er ): RustBuffer.ByValue fun uniffi_matrix_sdk_ffi_fn_method_room_ban_user(`ptr`: Pointer,`userId`: RustBuffer.ByValue,`reason`: RustBuffer.ByValue, ): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban(`ptr`: Pointer,`userId`: RustBuffer.ByValue, -): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite(`ptr`: Pointer,`userId`: RustBuffer.ByValue, -): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick(`ptr`: Pointer,`userId`: RustBuffer.ByValue, -): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin(`ptr`: Pointer,`userId`: RustBuffer.ByValue, -): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other(`ptr`: Pointer,`userId`: RustBuffer.ByValue, -): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own(`ptr`: Pointer,`userId`: RustBuffer.ByValue, -): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message(`ptr`: Pointer,`userId`: RustBuffer.ByValue,`message`: RustBuffer.ByValue, -): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state(`ptr`: Pointer,`userId`: RustBuffer.ByValue,`stateEvent`: RustBuffer.ByValue, -): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification(`ptr`: Pointer,`userId`: RustBuffer.ByValue, -): Long fun uniffi_matrix_sdk_ffi_fn_method_room_canonical_alias(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): RustBuffer.ByValue -fun uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft(`ptr`: Pointer, +fun uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft(`ptr`: Pointer,`threadRoot`: RustBuffer.ByValue, ): Long fun uniffi_matrix_sdk_ffi_fn_method_room_clear_event_cache_storage(`ptr`: Pointer, ): Long @@ -3926,7 +3973,7 @@ fun uniffi_matrix_sdk_ffi_fn_method_room_is_direct(`ptr`: Pointer, fun uniffi_matrix_sdk_ffi_fn_method_room_is_encrypted(`ptr`: Pointer, ): Long fun uniffi_matrix_sdk_ffi_fn_method_room_is_public(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, -): Byte +): RustBuffer.ByValue fun uniffi_matrix_sdk_ffi_fn_method_room_is_send_queue_enabled(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): Byte fun uniffi_matrix_sdk_ffi_fn_method_room_is_space(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, @@ -3943,7 +3990,7 @@ fun uniffi_matrix_sdk_ffi_fn_method_room_latest_event(`ptr`: Pointer, ): Long fun uniffi_matrix_sdk_ffi_fn_method_room_leave(`ptr`: Pointer, ): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft(`ptr`: Pointer, +fun uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft(`ptr`: Pointer,`threadRoot`: RustBuffer.ByValue, ): Long fun uniffi_matrix_sdk_ffi_fn_method_room_mark_as_read(`ptr`: Pointer,`receiptType`: RustBuffer.ByValue, ): Long @@ -3991,7 +4038,7 @@ fun uniffi_matrix_sdk_ffi_fn_method_room_room_events_debug_string(`ptr`: Pointer ): Long fun uniffi_matrix_sdk_ffi_fn_method_room_room_info(`ptr`: Pointer, ): Long -fun uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft(`ptr`: Pointer,`draft`: RustBuffer.ByValue, +fun uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft(`ptr`: Pointer,`draft`: RustBuffer.ByValue,`threadRoot`: RustBuffer.ByValue, ): Long fun uniffi_matrix_sdk_ffi_fn_method_room_send_call_notification(`ptr`: Pointer,`callId`: RustBuffer.ByValue,`application`: RustBuffer.ByValue,`notifyType`: RustBuffer.ByValue,`mentions`: RustBuffer.ByValue, ): Long @@ -4105,8 +4152,8 @@ fun uniffi_matrix_sdk_ffi_fn_method_roomlistservice_room(`ptr`: Pointer,`roomId` ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_roomlistservice_state(`ptr`: Pointer,`listener`: Long,uniffi_out_err: UniffiRustCallStatus, ): Pointer -fun uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms(`ptr`: Pointer,`roomIds`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, -): Unit +fun uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms(`ptr`: Pointer,`roomIds`: RustBuffer.ByValue, +): Long fun uniffi_matrix_sdk_ffi_fn_method_roomlistservice_sync_indicator(`ptr`: Pointer,`delayBeforeShowingInMs`: Int,`delayBeforeHidingInMs`: Int,`listener`: Long,uniffi_out_err: UniffiRustCallStatus, ): Pointer fun uniffi_matrix_sdk_ffi_fn_clone_roommembersiterator(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, @@ -4123,6 +4170,50 @@ fun uniffi_matrix_sdk_ffi_fn_free_roommessageeventcontentwithoutrelation(`ptr`: ): Unit fun uniffi_matrix_sdk_ffi_fn_method_roommessageeventcontentwithoutrelation_with_mentions(`ptr`: Pointer,`mentions`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): Pointer +fun uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Pointer +fun uniffi_matrix_sdk_ffi_fn_free_roompowerlevels(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Unit +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message(`ptr`: Pointer,`message`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state(`ptr`: Pointer,`stateEvent`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban(`ptr`: Pointer,`userId`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite(`ptr`: Pointer,`userId`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick(`ptr`: Pointer,`userId`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin(`ptr`: Pointer,`userId`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other(`ptr`: Pointer,`userId`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own(`ptr`: Pointer,`userId`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message(`ptr`: Pointer,`userId`: RustBuffer.ByValue,`message`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state(`ptr`: Pointer,`userId`: RustBuffer.ByValue,`stateEvent`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification(`ptr`: Pointer,`userId`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Byte +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): RustBuffer.ByValue +fun uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): RustBuffer.ByValue fun uniffi_matrix_sdk_ffi_fn_clone_roompreview(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): Pointer fun uniffi_matrix_sdk_ffi_fn_free_roompreview(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, @@ -4235,6 +4326,8 @@ fun uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_cross_process_lock(` ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_offline_mode(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): Pointer +fun uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos(`ptr`: Pointer,`enable`: Byte,uniffi_out_err: UniffiRustCallStatus, +): Pointer fun uniffi_matrix_sdk_ffi_fn_clone_taskhandle(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): Pointer fun uniffi_matrix_sdk_ffi_fn_free_taskhandle(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, @@ -4249,6 +4342,8 @@ fun uniffi_matrix_sdk_ffi_fn_free_threadsummary(`ptr`: Pointer,uniffi_out_err: U ): Unit fun uniffi_matrix_sdk_ffi_fn_method_threadsummary_latest_event(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): RustBuffer.ByValue +fun uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, +): Long fun uniffi_matrix_sdk_ffi_fn_clone_timeline(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, ): Pointer fun uniffi_matrix_sdk_ffi_fn_free_timeline(`ptr`: Pointer,uniffi_out_err: UniffiRustCallStatus, @@ -4293,7 +4388,7 @@ fun uniffi_matrix_sdk_ffi_fn_method_timeline_send_gallery(`ptr`: Pointer,`params ): Pointer fun uniffi_matrix_sdk_ffi_fn_method_timeline_send_image(`ptr`: Pointer,`params`: RustBuffer.ByValue,`thumbnailPath`: RustBuffer.ByValue,`imageInfo`: RustBuffer.ByValue,`progressWatcher`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): Pointer -fun uniffi_matrix_sdk_ffi_fn_method_timeline_send_location(`ptr`: Pointer,`body`: RustBuffer.ByValue,`geoUri`: RustBuffer.ByValue,`description`: RustBuffer.ByValue,`zoomLevel`: RustBuffer.ByValue,`assetType`: RustBuffer.ByValue, +fun uniffi_matrix_sdk_ffi_fn_method_timeline_send_location(`ptr`: Pointer,`body`: RustBuffer.ByValue,`geoUri`: RustBuffer.ByValue,`description`: RustBuffer.ByValue,`zoomLevel`: RustBuffer.ByValue,`assetType`: RustBuffer.ByValue,`replyParams`: RustBuffer.ByValue, ): Long fun uniffi_matrix_sdk_ffi_fn_method_timeline_send_poll_response(`ptr`: Pointer,`pollStartEventId`: RustBuffer.ByValue,`answers`: RustBuffer.ByValue, ): Long @@ -4471,8 +4566,6 @@ fun uniffi_matrix_sdk_ffi_fn_func_content_without_relation_from_message(`message ): Pointer fun uniffi_matrix_sdk_ffi_fn_func_create_caption_edit(`caption`: RustBuffer.ByValue,`formattedCaption`: RustBuffer.ByValue,`mentions`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): RustBuffer.ByValue -fun uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging(`enabled`: Byte,uniffi_out_err: UniffiRustCallStatus, -): Unit fun uniffi_matrix_sdk_ffi_fn_func_gen_transaction_id(uniffi_out_err: UniffiRustCallStatus, ): RustBuffer.ByValue fun uniffi_matrix_sdk_ffi_fn_func_generate_webview_url(`widgetSettings`: RustBuffer.ByValue,`room`: Pointer,`props`: RustBuffer.ByValue, @@ -4485,8 +4578,6 @@ fun uniffi_matrix_sdk_ffi_fn_func_is_room_alias_format_valid(`alias`: RustBuffer ): Byte fun uniffi_matrix_sdk_ffi_fn_func_log_event(`file`: RustBuffer.ByValue,`line`: RustBuffer.ByValue,`level`: RustBuffer.ByValue,`target`: RustBuffer.ByValue,`message`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): Unit -fun uniffi_matrix_sdk_ffi_fn_func_make_element_well_known(`string`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, -): RustBuffer.ByValue fun uniffi_matrix_sdk_ffi_fn_func_make_widget_driver(`settings`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): RustBuffer.ByValue fun uniffi_matrix_sdk_ffi_fn_func_matrix_to_room_alias_permalink(`roomAlias`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, @@ -4503,10 +4594,12 @@ fun uniffi_matrix_sdk_ffi_fn_func_message_event_content_from_markdown_as_emote(` ): Pointer fun uniffi_matrix_sdk_ffi_fn_func_message_event_content_new(`msgtype`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): Pointer -fun uniffi_matrix_sdk_ffi_fn_func_new_virtual_element_call_widget(`props`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +fun uniffi_matrix_sdk_ffi_fn_func_new_virtual_element_call_widget(`props`: RustBufferVirtualElementCallWidgetOptions.ByValue,uniffi_out_err: UniffiRustCallStatus, ): RustBuffer.ByValue fun uniffi_matrix_sdk_ffi_fn_func_parse_matrix_entity_from(`uri`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): RustBuffer.ByValue +fun uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer(`configuration`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, +): Unit fun uniffi_matrix_sdk_ffi_fn_func_room_alias_name_from_room_display_name(`roomName`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus, ): RustBuffer.ByValue fun uniffi_matrix_sdk_ffi_fn_func_sdk_git_sha(uniffi_out_err: UniffiRustCallStatus, @@ -4647,9 +4740,6 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_func_create_caption_edit() != 33992.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_func_enable_sentry_logging() != 53125.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } if (lib.uniffi_matrix_sdk_ffi_checksum_func_gen_transaction_id() != 15808.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -4665,10 +4755,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_func_is_room_alias_format_valid() != 54845.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_func_log_event() != 62286.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_func_make_element_well_known() != 21379.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_func_log_event() != 55646.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver() != 34206.toShort()) { @@ -4695,12 +4782,15 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_func_message_event_content_new() != 57839.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget() != 4988.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget() != 61776.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from() != 49710.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } + if (lib.uniffi_matrix_sdk_ffi_checksum_func_reload_tracing_file_writer() != 1447.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } if (lib.uniffi_matrix_sdk_ffi_checksum_func_room_alias_name_from_room_display_name() != 65010.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -4737,7 +4827,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_can_deactivate_account() != 39890.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_clear_caches() != 65177.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_clear_caches() != 55711.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_create_room() != 52700.toShort()) { @@ -4779,7 +4869,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_get_media_content() != 40308.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_get_media_file() != 52604.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_get_media_file() != 20094.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_get_media_preview_display_policy() != 19264.toShort()) { @@ -4824,6 +4914,9 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_ignored_users() != 49620.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_is_livekit_rtc_supported() != 34863.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_is_report_room_api_supported() != 17934.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -4863,7 +4956,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_remove_avatar() != 29033.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_capabilities() != 39651.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_reset_server_info() != 16333.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_client_resolve_room_alias() != 3551.toShort()) { @@ -4980,6 +5073,9 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_cross_process_store_locks_holder_name() != 46627.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_decryption_settings() != 34715.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_disable_automatic_token_refresh() != 43839.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -5004,9 +5100,6 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_request_config() != 58783.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_decryption_trust_requirement() != 2776.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_room_key_recipient_strategy() != 41183.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -5040,6 +5133,9 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_system_is_memory_constrained() != 6898.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_threads_enabled() != 33768.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } if (lib.uniffi_matrix_sdk_ffi_checksum_method_clientbuilder_user_agent() != 13719.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -5172,10 +5268,10 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_mediasource_url() != 62692.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notification() != 2524.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notification() != 52873.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notifications() != 30600.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_notifications() != 64372.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_notificationclient_get_room() != 26581.toShort()) { @@ -5265,37 +5361,10 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_ban_user() != 35046.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_ban() != 64711.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_invite() != 62459.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_kick() != 12773.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_pin_unpin() != 8341.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_other() != 13274.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_redact_own() != 57442.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_message() != 36743.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_send_state() != 19062.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_can_user_trigger_room_notification() != 18832.toShort()) { - throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") - } if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_canonical_alias() != 19786.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft() != 39667.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_clear_composer_draft() != 59182.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_clear_event_cache_storage() != 13838.toShort()) { @@ -5322,7 +5391,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_forget() != 37840.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_get_power_levels() != 54094.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_get_power_levels() != 47640.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_get_room_visibility() != 412.toShort()) { @@ -5358,7 +5427,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_is_encrypted() != 63995.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_is_public() != 7336.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_is_public() != 57746.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_is_send_queue_enabled() != 36591.toShort()) { @@ -5385,7 +5454,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_leave() != 63688.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_load_composer_draft() != 38115.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_load_composer_draft() != 62856.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_mark_as_read() != 57806.toShort()) { @@ -5448,7 +5517,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_report_room() != 8059.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_reset_power_levels() != 63622.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_reset_power_levels() != 5060.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_room_events_debug_string() != 37832.toShort()) { @@ -5457,7 +5526,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_room_info() != 41146.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_save_composer_draft() != 62232.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_save_composer_draft() != 27585.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_room_send_call_notification() != 43366.toShort()) { @@ -5598,7 +5667,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_state() != 64650.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_subscribe_to_rooms() != 59765.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_subscribe_to_rooms() != 5528.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_roomlistservice_sync_indicator() != 16821.toShort()) { @@ -5613,6 +5682,66 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_roommessageeventcontentwithoutrelation_with_mentions() != 8867.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_ban() != 7183.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_invite() != 57708.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_kick() != 461.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_pin_unpin() != 52852.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_other() != 60699.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_redact_own() != 32905.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_message() != 2424.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_send_state() != 33539.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_own_user_trigger_room_notification() != 64150.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_ban() != 57457.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_invite() != 41275.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_kick() != 51066.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_pin_unpin() != 4609.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_other() != 52543.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_redact_own() != 2983.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_message() != 48291.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_send_state() != 14792.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_can_user_trigger_room_notification() != 26319.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_user_power_levels() != 16221.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompowerlevels_values() != 38774.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } if (lib.uniffi_matrix_sdk_ffi_checksum_method_roompreview_forget() != 18179.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -5715,6 +5844,9 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_offline_mode() != 16958.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_syncservicebuilder_with_share_pos() != 18892.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } if (lib.uniffi_matrix_sdk_ffi_checksum_method_taskhandle_cancel() != 9124.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -5724,6 +5856,9 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_threadsummary_latest_event() != 52917.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } + if (lib.uniffi_matrix_sdk_ffi_checksum_method_threadsummary_num_replies() != 10634.toShort()) { + throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") + } if (lib.uniffi_matrix_sdk_ffi_checksum_method_timeline_add_listener() != 18746.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } @@ -5784,7 +5919,7 @@ private fun uniffiCheckApiChecksums(lib: IntegrityCheckingUniffiLib) { if (lib.uniffi_matrix_sdk_ffi_checksum_method_timeline_send_image() != 25436.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } - if (lib.uniffi_matrix_sdk_ffi_checksum_method_timeline_send_location() != 47400.toShort()) { + if (lib.uniffi_matrix_sdk_ffi_checksum_method_timeline_send_location() != 57832.toShort()) { throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } if (lib.uniffi_matrix_sdk_ffi_checksum_method_timeline_send_poll_response() != 7453.toShort()) { @@ -6709,9 +6844,16 @@ public interface ClientInterface { * Clear all the non-critical caches for this Client instance. * * WARNING: This will clear all the caches, including the base store (state - * store), so callers must make sure that any sync is inactive before - * calling this method. In particular, the `SyncService` must not be - * running. After the method returns, the Client will be in an unstable + * store), so callers must make sure that the Client is at rest before + * calling it. + * + * In particular, if a [`SyncService`] is running, it must be passed here + * as a parameter, or stopped before calling this method. Ideally, the + * send queues should have been disabled and must all be inactive (i.e. + * not sending events); this method will disable them, but it might not + * be enough if the queues are still processing events. + * + * After the method returns, the Client will be in an unstable * state, and it is required that the caller reinstantiates a new * Client instance, be it via dropping the previous and re-creating it, * restarting their application, or any other similar means. @@ -6722,7 +6864,7 @@ public interface ClientInterface { * - This will empty the media cache according to the current media * retention policy. */ - suspend fun `clearCaches`() + suspend fun `clearCaches`(`syncService`: SyncService?) suspend fun `createRoom`(`request`: CreateRoomParameters): kotlin.String @@ -6790,6 +6932,11 @@ public interface ClientInterface { suspend fun `getMediaContent`(`mediaSource`: MediaSource): kotlin.ByteArray + /** + * Retrieves a media file from the media source + * + * Not available on Wasm platforms, due to lack of accessible file system. + */ suspend fun `getMediaFile`(`mediaSource`: MediaSource, `filename`: kotlin.String?, `mimeType`: kotlin.String, `useCache`: kotlin.Boolean, `tempDir`: kotlin.String?): MediaFileHandle /** @@ -6857,6 +7004,11 @@ public interface ClientInterface { suspend fun `ignoredUsers`(): List + /** + * Checks if the server supports the LiveKit RTC focus for placing calls. + */ + suspend fun `isLivekitRtcSupported`(): kotlin.Boolean + /** * Checks if the server supports the report room API. */ @@ -6942,11 +7094,11 @@ public interface ClientInterface { /** * Empty the server version and unstable features cache. * - * Since the SDK caches server capabilities (versions and unstable - * features), it's possible to have a stale entry in the cache. This - * functions makes it possible to force reset it. + * Since the SDK caches server info (versions, unstable features, + * well-known etc), it's possible to have a stale entry in the cache. + * This functions makes it possible to force reset it. */ - suspend fun `resetServerCapabilities`() + suspend fun `resetServerInfo`() /** * Resolves the given room alias to a room ID (and a list of servers), if @@ -7407,9 +7559,16 @@ open class Client: Disposable, AutoCloseable, ClientInterface * Clear all the non-critical caches for this Client instance. * * WARNING: This will clear all the caches, including the base store (state - * store), so callers must make sure that any sync is inactive before - * calling this method. In particular, the `SyncService` must not be - * running. After the method returns, the Client will be in an unstable + * store), so callers must make sure that the Client is at rest before + * calling it. + * + * In particular, if a [`SyncService`] is running, it must be passed here + * as a parameter, or stopped before calling this method. Ideally, the + * send queues should have been disabled and must all be inactive (i.e. + * not sending events); this method will disable them, but it might not + * be enough if the queues are still processing events. + * + * After the method returns, the Client will be in an unstable * state, and it is required that the caller reinstantiates a new * Client instance, be it via dropping the previous and re-creating it, * restarting their application, or any other similar means. @@ -7422,12 +7581,12 @@ open class Client: Disposable, AutoCloseable, ClientInterface */ @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `clearCaches`() { + override suspend fun `clearCaches`(`syncService`: SyncService?) { return uniffiRustCallAsync( callWithPointer { thisPtr -> UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_client_clear_caches( thisPtr, - + FfiConverterOptionalTypeSyncService.lower(`syncService`), ) }, { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_void(future, callback, continuation) }, @@ -7733,6 +7892,11 @@ open class Client: Disposable, AutoCloseable, ClientInterface } + /** + * Retrieves a media file from the media source + * + * Not available on Wasm platforms, due to lack of accessible file system. + */ @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") override suspend fun `getMediaFile`(`mediaSource`: MediaSource, `filename`: kotlin.String?, `mimeType`: kotlin.String, `useCache`: kotlin.Boolean, `tempDir`: kotlin.String?) : MediaFileHandle { @@ -8067,6 +8231,30 @@ open class Client: Disposable, AutoCloseable, ClientInterface } + /** + * Checks if the server supports the LiveKit RTC focus for placing calls. + */ + @Throws(ClientException::class) + @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") + override suspend fun `isLivekitRtcSupported`() : kotlin.Boolean { + return uniffiRustCallAsync( + callWithPointer { thisPtr -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_client_is_livekit_rtc_supported( + thisPtr, + + ) + }, + { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, + { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, + { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, + // lift function + { FfiConverterBoolean.lift(it) }, + // Error FFI converter + ClientException.ErrorHandler, + ) + } + + /** * Checks if the server supports the report room API. */ @@ -8387,16 +8575,16 @@ open class Client: Disposable, AutoCloseable, ClientInterface /** * Empty the server version and unstable features cache. * - * Since the SDK caches server capabilities (versions and unstable - * features), it's possible to have a stale entry in the cache. This - * functions makes it possible to force reset it. + * Since the SDK caches server info (versions, unstable features, + * well-known etc), it's possible to have a stale entry in the cache. + * This functions makes it possible to force reset it. */ @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `resetServerCapabilities`() { + override suspend fun `resetServerInfo`() { return uniffiRustCallAsync( callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_client_reset_server_capabilities( + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_client_reset_server_info( thisPtr, ) @@ -9266,6 +9454,11 @@ public interface ClientBuilderInterface { fun `crossProcessStoreLocksHolderName`(`holderName`: kotlin.String): ClientBuilder + /** + * Set the trust requirement to be used when decrypting events. + */ + fun `decryptionSettings`(`decryptionSettings`: DecryptionSettings): ClientBuilder + fun `disableAutomaticTokenRefresh`(): ClientBuilder /** @@ -9296,11 +9489,6 @@ public interface ClientBuilderInterface { */ fun `requestConfig`(`config`: RequestConfig): ClientBuilder - /** - * Set the trust requirement to be used when decrypting events. - */ - fun `roomDecryptionTrustRequirement`(`trustRequirement`: TrustRequirement): ClientBuilder - /** * Set the strategy to be used for picking recipient devices when sending * an encrypted message. @@ -9382,6 +9570,8 @@ public interface ClientBuilderInterface { */ fun `systemIsMemoryConstrained`(): ClientBuilder + fun `threadsEnabled`(`enabled`: kotlin.Boolean): ClientBuilder + fun `userAgent`(`userAgent`: kotlin.String): ClientBuilder fun `username`(`username`: kotlin.String): ClientBuilder @@ -9603,6 +9793,21 @@ open class ClientBuilder: Disposable, AutoCloseable, ClientBuilderInterface } + + /** + * Set the trust requirement to be used when decrypting events. + */override fun `decryptionSettings`(`decryptionSettings`: DecryptionSettings): ClientBuilder { + return FfiConverterTypeClientBuilder.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_clientbuilder_decryption_settings( + it, FfiConverterTypeDecryptionSettings.lower(`decryptionSettings`),_status) +} + } + ) + } + + override fun `disableAutomaticTokenRefresh`(): ClientBuilder { return FfiConverterTypeClientBuilder.lift( callWithPointer { @@ -9714,21 +9919,6 @@ open class ClientBuilder: Disposable, AutoCloseable, ClientBuilderInterface - /** - * Set the trust requirement to be used when decrypting events. - */override fun `roomDecryptionTrustRequirement`(`trustRequirement`: TrustRequirement): ClientBuilder { - return FfiConverterTypeClientBuilder.lift( - callWithPointer { - uniffiRustCall() { _status -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_clientbuilder_room_decryption_trust_requirement( - it, FfiConverterTypeTrustRequirement.lower(`trustRequirement`),_status) -} - } - ) - } - - - /** * Set the strategy to be used for picking recipient devices when sending * an encrypted message. @@ -9919,6 +10109,18 @@ open class ClientBuilder: Disposable, AutoCloseable, ClientBuilderInterface } + override fun `threadsEnabled`(`enabled`: kotlin.Boolean): ClientBuilder { + return FfiConverterTypeClientBuilder.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_clientbuilder_threads_enabled( + it, FfiConverterBoolean.lower(`enabled`),_status) +} + } + ) + } + + override fun `userAgent`(`userAgent`: kotlin.String): ClientBuilder { return FfiConverterTypeClientBuilder.lift( callWithPointer { @@ -12885,20 +13087,27 @@ public object FfiConverterTypeMediaSource: FfiConverter { public interface NotificationClientInterface { /** - * See also documentation of - * `MatrixNotificationClient::get_notification`. + * Fetches the content of a notification. + * + * This will first try to get the notification using a short-lived sliding + * sync, and if the sliding-sync can't find the event, then it'll use a + * `/context` query to find the event with associated member information. + * + * An error result means that we couldn't resolve the notification; in that + * case, a dummy notification may be displayed instead. */ - suspend fun `getNotification`(`roomId`: kotlin.String, `eventId`: kotlin.String): NotificationItem? + suspend fun `getNotification`(`roomId`: kotlin.String, `eventId`: kotlin.String): NotificationStatus /** * Get several notification items in a single batch. * * Returns an error if the flow failed when preparing to fetch the * notifications, and a [`HashMap`] containing either a - * [`NotificationItem`] or no entry for it if it failed to fetch a - * notification for the provided [`EventId`]. + * [`BatchNotificationResult`], that indicates if the notification was + * successfully fetched (in which case, it's a [`NotificationStatus`]), or + * an error message if it couldn't be fetched. */ - suspend fun `getNotifications`(`requests`: List): Map + suspend fun `getNotifications`(`requests`: List): Map /** * Fetches a room by its ID using the in-memory state store backed client. @@ -12995,12 +13204,18 @@ open class NotificationClient: Disposable, AutoCloseable, NotificationClientInte /** - * See also documentation of - * `MatrixNotificationClient::get_notification`. + * Fetches the content of a notification. + * + * This will first try to get the notification using a short-lived sliding + * sync, and if the sliding-sync can't find the event, then it'll use a + * `/context` query to find the event with associated member information. + * + * An error result means that we couldn't resolve the notification; in that + * case, a dummy notification may be displayed instead. */ @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `getNotification`(`roomId`: kotlin.String, `eventId`: kotlin.String) : NotificationItem? { + override suspend fun `getNotification`(`roomId`: kotlin.String, `eventId`: kotlin.String) : NotificationStatus { return uniffiRustCallAsync( callWithPointer { thisPtr -> UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_notificationclient_get_notification( @@ -13012,7 +13227,7 @@ open class NotificationClient: Disposable, AutoCloseable, NotificationClientInte { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer(future, continuation) }, { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_rust_buffer(future) }, // lift function - { FfiConverterOptionalTypeNotificationItem.lift(it) }, + { FfiConverterTypeNotificationStatus.lift(it) }, // Error FFI converter ClientException.ErrorHandler, ) @@ -13024,12 +13239,13 @@ open class NotificationClient: Disposable, AutoCloseable, NotificationClientInte * * Returns an error if the flow failed when preparing to fetch the * notifications, and a [`HashMap`] containing either a - * [`NotificationItem`] or no entry for it if it failed to fetch a - * notification for the provided [`EventId`]. + * [`BatchNotificationResult`], that indicates if the notification was + * successfully fetched (in which case, it's a [`NotificationStatus`]), or + * an error message if it couldn't be fetched. */ @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `getNotifications`(`requests`: List) : Map { + override suspend fun `getNotifications`(`requests`: List) : Map { return uniffiRustCallAsync( callWithPointer { thisPtr -> UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_notificationclient_get_notifications( @@ -13041,7 +13257,7 @@ open class NotificationClient: Disposable, AutoCloseable, NotificationClientInte { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer(future, continuation) }, { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_rust_buffer(future) }, // lift function - { FfiConverterMapStringTypeNotificationItem.lift(it) }, + { FfiConverterMapStringTypeBatchNotificationResult.lift(it) }, // Error FFI converter ClientException.ErrorHandler, ) @@ -14391,30 +14607,12 @@ public interface RoomInterface { suspend fun `banUser`(`userId`: kotlin.String, `reason`: kotlin.String?) - suspend fun `canUserBan`(`userId`: kotlin.String): kotlin.Boolean - - suspend fun `canUserInvite`(`userId`: kotlin.String): kotlin.Boolean - - suspend fun `canUserKick`(`userId`: kotlin.String): kotlin.Boolean - - suspend fun `canUserPinUnpin`(`userId`: kotlin.String): kotlin.Boolean - - suspend fun `canUserRedactOther`(`userId`: kotlin.String): kotlin.Boolean - - suspend fun `canUserRedactOwn`(`userId`: kotlin.String): kotlin.Boolean - - suspend fun `canUserSendMessage`(`userId`: kotlin.String, `message`: MessageLikeEventType): kotlin.Boolean - - suspend fun `canUserSendState`(`userId`: kotlin.String, `stateEvent`: StateEventType): kotlin.Boolean - - suspend fun `canUserTriggerRoomNotification`(`userId`: kotlin.String): kotlin.Boolean - fun `canonicalAlias`(): kotlin.String? /** * Remove the `ComposerDraft` stored in the state store for this room. */ - suspend fun `clearComposerDraft`() + suspend fun `clearComposerDraft`(`threadRoot`: kotlin.String?) /** * Clear the event cache storage for the current room. @@ -14536,7 +14734,12 @@ public interface RoomInterface { */ suspend fun `isEncrypted`(): kotlin.Boolean - fun `isPublic`(): kotlin.Boolean + /** + * Whether the room can be publicly joined or not, based on its join rule. + * + * Can return `None` if the join rule state event is missing. + */ + fun `isPublic`(): kotlin.Boolean? /** * Returns whether the send queue for that particular room is enabled or @@ -14571,7 +14774,7 @@ public interface RoomInterface { /** * Retrieve the `ComposerDraft` stored in the state store for this room. */ - suspend fun `loadComposerDraft`(): ComposerDraft? + suspend fun `loadComposerDraft`(`threadRoot`: kotlin.String?): ComposerDraft? /** * Mark a room as read, by attaching a read receipt on the latest event. @@ -14720,7 +14923,7 @@ public interface RoomInterface { * Store the given `ComposerDraft` in the state store using the current * room id, as identifier. */ - suspend fun `saveComposerDraft`(`draft`: ComposerDraft) + suspend fun `saveComposerDraft`(`draft`: ComposerDraft, `threadRoot`: kotlin.String?) /** * Send a call notification event in the current room. @@ -15098,195 +15301,6 @@ open class Room: Disposable, AutoCloseable, RoomInterface ) } - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserBan`(`userId`: kotlin.String) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_ban( - thisPtr, - FfiConverterString.lower(`userId`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserInvite`(`userId`: kotlin.String) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_invite( - thisPtr, - FfiConverterString.lower(`userId`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserKick`(`userId`: kotlin.String) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_kick( - thisPtr, - FfiConverterString.lower(`userId`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserPinUnpin`(`userId`: kotlin.String) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_pin_unpin( - thisPtr, - FfiConverterString.lower(`userId`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserRedactOther`(`userId`: kotlin.String) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_other( - thisPtr, - FfiConverterString.lower(`userId`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserRedactOwn`(`userId`: kotlin.String) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_redact_own( - thisPtr, - FfiConverterString.lower(`userId`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserSendMessage`(`userId`: kotlin.String, `message`: MessageLikeEventType) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_message( - thisPtr, - FfiConverterString.lower(`userId`),FfiConverterTypeMessageLikeEventType.lower(`message`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserSendState`(`userId`: kotlin.String, `stateEvent`: StateEventType) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_send_state( - thisPtr, - FfiConverterString.lower(`userId`),FfiConverterTypeStateEventType.lower(`stateEvent`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - - - @Throws(ClientException::class) - @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `canUserTriggerRoomNotification`(`userId`: kotlin.String) : kotlin.Boolean { - return uniffiRustCallAsync( - callWithPointer { thisPtr -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_can_user_trigger_room_notification( - thisPtr, - FfiConverterString.lower(`userId`), - ) - }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_i8(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_i8(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_i8(future) }, - // lift function - { FfiConverterBoolean.lift(it) }, - // Error FFI converter - ClientException.ErrorHandler, - ) - } - override fun `canonicalAlias`(): kotlin.String? { return FfiConverterOptionalString.lift( callWithPointer { @@ -15305,12 +15319,12 @@ open class Room: Disposable, AutoCloseable, RoomInterface */ @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `clearComposerDraft`() { + override suspend fun `clearComposerDraft`(`threadRoot`: kotlin.String?) { return uniffiRustCallAsync( callWithPointer { thisPtr -> UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_clear_composer_draft( thisPtr, - + FfiConverterOptionalString.lower(`threadRoot`), ) }, { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_void(future, callback, continuation) }, @@ -15519,9 +15533,9 @@ open class Room: Disposable, AutoCloseable, RoomInterface ) }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_rust_buffer(future) }, + { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_pointer(future, callback, continuation) }, + { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_pointer(future, continuation) }, + { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_pointer(future) }, // lift function { FfiConverterTypeRoomPowerLevels.lift(it) }, // Error FFI converter @@ -15766,8 +15780,13 @@ open class Room: Disposable, AutoCloseable, RoomInterface ) } - override fun `isPublic`(): kotlin.Boolean { - return FfiConverterBoolean.lift( + + /** + * Whether the room can be publicly joined or not, based on its join rule. + * + * Can return `None` if the join rule state event is missing. + */override fun `isPublic`(): kotlin.Boolean? { + return FfiConverterOptionalBoolean.lift( callWithPointer { uniffiRustCall() { _status -> UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_is_public( @@ -15941,12 +15960,12 @@ open class Room: Disposable, AutoCloseable, RoomInterface */ @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `loadComposerDraft`() : ComposerDraft? { + override suspend fun `loadComposerDraft`(`threadRoot`: kotlin.String?) : ComposerDraft? { return uniffiRustCallAsync( callWithPointer { thisPtr -> UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_load_composer_draft( thisPtr, - + FfiConverterOptionalString.lower(`threadRoot`), ) }, { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer(future, callback, continuation) }, @@ -16452,9 +16471,9 @@ open class Room: Disposable, AutoCloseable, RoomInterface ) }, - { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_rust_buffer(future, callback, continuation) }, - { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_rust_buffer(future, continuation) }, - { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_rust_buffer(future) }, + { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_pointer(future, callback, continuation) }, + { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_pointer(future, continuation) }, + { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_pointer(future) }, // lift function { FfiConverterTypeRoomPowerLevels.lift(it) }, // Error FFI converter @@ -16515,12 +16534,12 @@ open class Room: Disposable, AutoCloseable, RoomInterface */ @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `saveComposerDraft`(`draft`: ComposerDraft) { + override suspend fun `saveComposerDraft`(`draft`: ComposerDraft, `threadRoot`: kotlin.String?) { return uniffiRustCallAsync( callWithPointer { thisPtr -> UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_room_save_composer_draft( thisPtr, - FfiConverterTypeComposerDraft.lower(`draft`), + FfiConverterTypeComposerDraft.lower(`draft`),FfiConverterOptionalString.lower(`threadRoot`), ) }, { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_void(future, callback, continuation) }, @@ -18592,7 +18611,7 @@ public interface RoomListServiceInterface { fun `state`(`listener`: RoomListServiceStateListener): TaskHandle - fun `subscribeToRooms`(`roomIds`: List) + suspend fun `subscribeToRooms`(`roomIds`: List) fun `syncIndicator`(`delayBeforeShowingInMs`: kotlin.UInt, `delayBeforeHidingInMs`: kotlin.UInt, `listener`: RoomListServiceSyncIndicatorListener): TaskHandle @@ -18728,16 +18747,26 @@ open class RoomListService: Disposable, AutoCloseable, RoomListServiceInterface - @Throws(RoomListException::class)override fun `subscribeToRooms`(`roomIds`: List) - = - callWithPointer { - uniffiRustCallWithError(RoomListException) { _status -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( - it, FfiConverterSequenceString.lower(`roomIds`),_status) -} + @Throws(RoomListException::class) + @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") + override suspend fun `subscribeToRooms`(`roomIds`: List) { + return uniffiRustCallAsync( + callWithPointer { thisPtr -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roomlistservice_subscribe_to_rooms( + thisPtr, + FfiConverterSequenceString.lower(`roomIds`), + ) + }, + { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_void(future, callback, continuation) }, + { future, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_complete_void(future, continuation) }, + { future -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_free_void(future) }, + // lift function + { Unit }, + + // Error FFI converter + RoomListException.ErrorHandler, + ) } - - override fun `syncIndicator`(`delayBeforeShowingInMs`: kotlin.UInt, `delayBeforeHidingInMs`: kotlin.UInt, `listener`: RoomListServiceSyncIndicatorListener): TaskHandle { return FfiConverterTypeTaskHandle.lift( @@ -19372,51 +19401,744 @@ public object FfiConverterTypeRoomMessageEventContentWithoutRelation: FfiConvert // -/** - * A room preview for a room. It's intended to be used to represent rooms that - * aren't joined yet. - */ -public interface RoomPreviewInterface { +public interface RoomPowerLevelsInterface { /** - * Forget the room if we had access to it, and it was left or banned. + * Returns true if the current user is able to ban in the room. */ - suspend fun `forget`() + fun `canOwnUserBan`(): kotlin.Boolean /** - * Returns the room info the preview contains. + * Returns true if the current user is able to invite in the room. */ - fun `info`(): RoomPreviewInfo + fun `canOwnUserInvite`(): kotlin.Boolean /** - * Get the user who created the invite, if any. + * Returns true if the current user is able to kick in the room. */ - suspend fun `inviter`(): RoomMember? + fun `canOwnUserKick`(): kotlin.Boolean /** - * Leave the room if the room preview state is either joined, invited or - * knocked. + * Returns true if the current user is able to pin or unpin events in the + * room. + */ + fun `canOwnUserPinUnpin`(): kotlin.Boolean + + /** + * Returns true if the current user user is able to redact messages of + * other users in the room. + */ + fun `canOwnUserRedactOther`(): kotlin.Boolean + + /** + * Returns true if the current user is able to redact their own messages in + * the room. + */ + fun `canOwnUserRedactOwn`(): kotlin.Boolean + + /** + * Returns true if the current user is able to send a specific message type + * in the room. + */ + fun `canOwnUserSendMessage`(`message`: MessageLikeEventType): kotlin.Boolean + + /** + * Returns true if the current user is able to send a specific state event + * type in the room. + */ + fun `canOwnUserSendState`(`stateEvent`: StateEventType): kotlin.Boolean + + /** + * Returns true if the current user is able to trigger a notification in + * the room. + */ + fun `canOwnUserTriggerRoomNotification`(): kotlin.Boolean + + /** + * Returns true if the user with the given user_id is able to ban in the + * room. * - * If rejecting an invite then also forget it as an extra layer of - * protection against spam attacks. + * The call may fail if there is an error in getting the power levels. + */ + fun `canUserBan`(`userId`: kotlin.String): kotlin.Boolean + + /** + * Returns true if the user with the given user_id is able to invite in the + * room. * - * Will return an error otherwise. + * The call may fail if there is an error in getting the power levels. */ - suspend fun `leave`() + fun `canUserInvite`(`userId`: kotlin.String): kotlin.Boolean /** - * Get the membership details for the current user. + * Returns true if the user with the given user_id is able to kick in the + * room. + * + * The call may fail if there is an error in getting the power levels. */ - suspend fun `ownMembershipDetails`(): RoomMemberWithSenderInfo? + fun `canUserKick`(`userId`: kotlin.String): kotlin.Boolean + + /** + * Returns true if the user with the given user_id is able to pin or unpin + * events in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + fun `canUserPinUnpin`(`userId`: kotlin.String): kotlin.Boolean + + /** + * Returns true if the user with the given user_id is able to redact + * messages of other users in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + fun `canUserRedactOther`(`userId`: kotlin.String): kotlin.Boolean + + /** + * Returns true if the user with the given user_id is able to redact + * their own messages in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + fun `canUserRedactOwn`(`userId`: kotlin.String): kotlin.Boolean + + /** + * Returns true if the user with the given user_id is able to send a + * specific message type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + fun `canUserSendMessage`(`userId`: kotlin.String, `message`: MessageLikeEventType): kotlin.Boolean + + /** + * Returns true if the user with the given user_id is able to send a + * specific state event type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + fun `canUserSendState`(`userId`: kotlin.String, `stateEvent`: StateEventType): kotlin.Boolean + + /** + * Returns true if the user with the given user_id is able to trigger a + * notification in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + fun `canUserTriggerRoomNotification`(`userId`: kotlin.String): kotlin.Boolean + + /** + * Gets a map with the `UserId` of users with power levels other than `0` + * and their power level. + */ + fun `userPowerLevels`(): Map + + fun `values`(): RoomPowerLevelsValues companion object } -/** - * A room preview for a room. It's intended to be used to represent rooms that - * aren't joined yet. - */ -open class RoomPreview: Disposable, AutoCloseable, RoomPreviewInterface +open class RoomPowerLevels: Disposable, AutoCloseable, RoomPowerLevelsInterface +{ + + constructor(pointer: Pointer) { + this.pointer = pointer + this.cleanable = UniffiLib.CLEANER.register(this, UniffiCleanAction(pointer)) + } + + /** + * This constructor can be used to instantiate a fake object. Only used for tests. Any + * attempt to actually use an object constructed this way will fail as there is no + * connected Rust object. + */ + @Suppress("UNUSED_PARAMETER") + constructor(noPointer: NoPointer) { + this.pointer = null + this.cleanable = UniffiLib.CLEANER.register(this, UniffiCleanAction(pointer)) + } + + protected val pointer: Pointer? + protected val cleanable: UniffiCleaner.Cleanable + + private val wasDestroyed = AtomicBoolean(false) + private val callCounter = AtomicLong(1) + + override fun destroy() { + // Only allow a single call to this method. + // TODO: maybe we should log a warning if called more than once? + if (this.wasDestroyed.compareAndSet(false, true)) { + // This decrement always matches the initial count of 1 given at creation time. + if (this.callCounter.decrementAndGet() == 0L) { + cleanable.clean() + } + } + } + + @Synchronized + override fun close() { + this.destroy() + } + + internal inline fun callWithPointer(block: (ptr: Pointer) -> R): R { + // Check and increment the call counter, to keep the object alive. + // This needs a compare-and-set retry loop in case of concurrent updates. + do { + val c = this.callCounter.get() + if (c == 0L) { + throw IllegalStateException("${this.javaClass.simpleName} object has already been destroyed") + } + if (c == Long.MAX_VALUE) { + throw IllegalStateException("${this.javaClass.simpleName} call counter would overflow") + } + } while (! this.callCounter.compareAndSet(c, c + 1L)) + // Now we can safely do the method call without the pointer being freed concurrently. + try { + return block(this.uniffiClonePointer()) + } finally { + // This decrement always matches the increment we performed above. + if (this.callCounter.decrementAndGet() == 0L) { + cleanable.clean() + } + } + } + + // Use a static inner class instead of a closure so as not to accidentally + // capture `this` as part of the cleanable's action. + private class UniffiCleanAction(private val pointer: Pointer?) : Runnable { + override fun run() { + pointer?.let { ptr -> + uniffiRustCall { status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_free_roompowerlevels(ptr, status) + } + } + } + } + + fun uniffiClonePointer(): Pointer { + return uniffiRustCall() { status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_clone_roompowerlevels(pointer!!, status) + } + } + + + /** + * Returns true if the current user is able to ban in the room. + */override fun `canOwnUserBan`(): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_ban( + it, _status) +} + } + ) + } + + + + /** + * Returns true if the current user is able to invite in the room. + */override fun `canOwnUserInvite`(): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_invite( + it, _status) +} + } + ) + } + + + + /** + * Returns true if the current user is able to kick in the room. + */override fun `canOwnUserKick`(): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_kick( + it, _status) +} + } + ) + } + + + + /** + * Returns true if the current user is able to pin or unpin events in the + * room. + */override fun `canOwnUserPinUnpin`(): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_pin_unpin( + it, _status) +} + } + ) + } + + + + /** + * Returns true if the current user user is able to redact messages of + * other users in the room. + */override fun `canOwnUserRedactOther`(): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_other( + it, _status) +} + } + ) + } + + + + /** + * Returns true if the current user is able to redact their own messages in + * the room. + */override fun `canOwnUserRedactOwn`(): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_redact_own( + it, _status) +} + } + ) + } + + + + /** + * Returns true if the current user is able to send a specific message type + * in the room. + */override fun `canOwnUserSendMessage`(`message`: MessageLikeEventType): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_message( + it, FfiConverterTypeMessageLikeEventType.lower(`message`),_status) +} + } + ) + } + + + + /** + * Returns true if the current user is able to send a specific state event + * type in the room. + */override fun `canOwnUserSendState`(`stateEvent`: StateEventType): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_send_state( + it, FfiConverterTypeStateEventType.lower(`stateEvent`),_status) +} + } + ) + } + + + + /** + * Returns true if the current user is able to trigger a notification in + * the room. + */override fun `canOwnUserTriggerRoomNotification`(): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_own_user_trigger_room_notification( + it, _status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to ban in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserBan`(`userId`: kotlin.String): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_ban( + it, FfiConverterString.lower(`userId`),_status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to invite in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserInvite`(`userId`: kotlin.String): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_invite( + it, FfiConverterString.lower(`userId`),_status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to kick in the + * room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserKick`(`userId`: kotlin.String): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_kick( + it, FfiConverterString.lower(`userId`),_status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to pin or unpin + * events in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserPinUnpin`(`userId`: kotlin.String): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_pin_unpin( + it, FfiConverterString.lower(`userId`),_status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to redact + * messages of other users in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserRedactOther`(`userId`: kotlin.String): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_other( + it, FfiConverterString.lower(`userId`),_status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to redact + * their own messages in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserRedactOwn`(`userId`: kotlin.String): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_redact_own( + it, FfiConverterString.lower(`userId`),_status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to send a + * specific message type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserSendMessage`(`userId`: kotlin.String, `message`: MessageLikeEventType): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_message( + it, FfiConverterString.lower(`userId`),FfiConverterTypeMessageLikeEventType.lower(`message`),_status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to send a + * specific state event type in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserSendState`(`userId`: kotlin.String, `stateEvent`: StateEventType): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_send_state( + it, FfiConverterString.lower(`userId`),FfiConverterTypeStateEventType.lower(`stateEvent`),_status) +} + } + ) + } + + + + /** + * Returns true if the user with the given user_id is able to trigger a + * notification in the room. + * + * The call may fail if there is an error in getting the power levels. + */ + @Throws(ClientException::class)override fun `canUserTriggerRoomNotification`(`userId`: kotlin.String): kotlin.Boolean { + return FfiConverterBoolean.lift( + callWithPointer { + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_can_user_trigger_room_notification( + it, FfiConverterString.lower(`userId`),_status) +} + } + ) + } + + + + /** + * Gets a map with the `UserId` of users with power levels other than `0` + * and their power level. + */override fun `userPowerLevels`(): Map { + return FfiConverterMapStringLong.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_user_power_levels( + it, _status) +} + } + ) + } + + + override fun `values`(): RoomPowerLevelsValues { + return FfiConverterTypeRoomPowerLevelsValues.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_roompowerlevels_values( + it, _status) +} + } + ) + } + + + + + + + companion object + +} + +/** + * @suppress + */ +public object FfiConverterTypeRoomPowerLevels: FfiConverter { + + override fun lower(value: RoomPowerLevels): Pointer { + return value.uniffiClonePointer() + } + + override fun lift(value: Pointer): RoomPowerLevels { + return RoomPowerLevels(value) + } + + override fun read(buf: ByteBuffer): RoomPowerLevels { + // The Rust code always writes pointers as 8 bytes, and will + // fail to compile if they don't fit. + return lift(Pointer(buf.getLong())) + } + + override fun allocationSize(value: RoomPowerLevels) = 8UL + + override fun write(value: RoomPowerLevels, buf: ByteBuffer) { + // The Rust code always expects pointers written as 8 bytes, + // and will fail to compile if they don't fit. + buf.putLong(Pointer.nativeValue(lower(value))) + } +} + + +// This template implements a class for working with a Rust struct via a Pointer/Arc +// to the live Rust struct on the other side of the FFI. +// +// Each instance implements core operations for working with the Rust `Arc` and the +// Kotlin Pointer to work with the live Rust struct on the other side of the FFI. +// +// There's some subtlety here, because we have to be careful not to operate on a Rust +// struct after it has been dropped, and because we must expose a public API for freeing +// theq Kotlin wrapper object in lieu of reliable finalizers. The core requirements are: +// +// * Each instance holds an opaque pointer to the underlying Rust struct. +// Method calls need to read this pointer from the object's state and pass it in to +// the Rust FFI. +// +// * When an instance is no longer needed, its pointer should be passed to a +// special destructor function provided by the Rust FFI, which will drop the +// underlying Rust struct. +// +// * Given an instance, calling code is expected to call the special +// `destroy` method in order to free it after use, either by calling it explicitly +// or by using a higher-level helper like the `use` method. Failing to do so risks +// leaking the underlying Rust struct. +// +// * We can't assume that calling code will do the right thing, and must be prepared +// to handle Kotlin method calls executing concurrently with or even after a call to +// `destroy`, and to handle multiple (possibly concurrent!) calls to `destroy`. +// +// * We must never allow Rust code to operate on the underlying Rust struct after +// the destructor has been called, and must never call the destructor more than once. +// Doing so may trigger memory unsafety. +// +// * To mitigate many of the risks of leaking memory and use-after-free unsafety, a `Cleaner` +// is implemented to call the destructor when the Kotlin object becomes unreachable. +// This is done in a background thread. This is not a panacea, and client code should be aware that +// 1. the thread may starve if some there are objects that have poorly performing +// `drop` methods or do significant work in their `drop` methods. +// 2. the thread is shared across the whole library. This can be tuned by using `android_cleaner = true`, +// or `android = true` in the [`kotlin` section of the `uniffi.toml` file](https://mozilla.github.io/uniffi-rs/kotlin/configuration.html). +// +// If we try to implement this with mutual exclusion on access to the pointer, there is the +// possibility of a race between a method call and a concurrent call to `destroy`: +// +// * Thread A starts a method call, reads the value of the pointer, but is interrupted +// before it can pass the pointer over the FFI to Rust. +// * Thread B calls `destroy` and frees the underlying Rust struct. +// * Thread A resumes, passing the already-read pointer value to Rust and triggering +// a use-after-free. +// +// One possible solution would be to use a `ReadWriteLock`, with each method call taking +// a read lock (and thus allowed to run concurrently) and the special `destroy` method +// taking a write lock (and thus blocking on live method calls). However, we aim not to +// generate methods with any hidden blocking semantics, and a `destroy` method that might +// block if called incorrectly seems to meet that bar. +// +// So, we achieve our goals by giving each instance an associated `AtomicLong` counter to track +// the number of in-flight method calls, and an `AtomicBoolean` flag to indicate whether `destroy` +// has been called. These are updated according to the following rules: +// +// * The initial value of the counter is 1, indicating a live object with no in-flight calls. +// The initial value for the flag is false. +// +// * At the start of each method call, we atomically check the counter. +// If it is 0 then the underlying Rust struct has already been destroyed and the call is aborted. +// If it is nonzero them we atomically increment it by 1 and proceed with the method call. +// +// * At the end of each method call, we atomically decrement and check the counter. +// If it has reached zero then we destroy the underlying Rust struct. +// +// * When `destroy` is called, we atomically flip the flag from false to true. +// If the flag was already true we silently fail. +// Otherwise we atomically decrement and check the counter. +// If it has reached zero then we destroy the underlying Rust struct. +// +// Astute readers may observe that this all sounds very similar to the way that Rust's `Arc` works, +// and indeed it is, with the addition of a flag to guard against multiple calls to `destroy`. +// +// The overall effect is that the underlying Rust struct is destroyed only when `destroy` has been +// called *and* all in-flight method calls have completed, avoiding violating any of the expectations +// of the underlying Rust code. +// +// This makes a cleaner a better alternative to _not_ calling `destroy()` as +// and when the object is finished with, but the abstraction is not perfect: if the Rust object's `drop` +// method is slow, and/or there are many objects to cleanup, and it's on a low end Android device, then the cleaner +// thread may be starved, and the app will leak memory. +// +// In this case, `destroy`ing manually may be a better solution. +// +// The cleaner can live side by side with the manual calling of `destroy`. In the order of responsiveness, uniffi objects +// with Rust peers are reclaimed: +// +// 1. By calling the `destroy` method of the object, which calls `rustObject.free()`. If that doesn't happen: +// 2. When the object becomes unreachable, AND the Cleaner thread gets to call `rustObject.free()`. If the thread is starved then: +// 3. The memory is reclaimed when the process terminates. +// +// [1] https://stackoverflow.com/questions/24376768/can-java-finalize-an-object-when-it-is-still-in-scope/24380219 +// + + +/** + * A room preview for a room. It's intended to be used to represent rooms that + * aren't joined yet. + */ +public interface RoomPreviewInterface { + + /** + * Forget the room if we had access to it, and it was left or banned. + */ + suspend fun `forget`() + + /** + * Returns the room info the preview contains. + */ + fun `info`(): RoomPreviewInfo + + /** + * Get the user who created the invite, if any. + */ + suspend fun `inviter`(): RoomMember? + + /** + * Leave the room if the room preview state is either joined, invited or + * knocked. + * + * If rejecting an invite then also forget it as an extra layer of + * protection against spam attacks. + * + * Will return an error otherwise. + */ + suspend fun `leave`() + + /** + * Get the membership details for the current user. + */ + suspend fun `ownMembershipDetails`(): RoomMemberWithSenderInfo? + + companion object +} + +/** + * A room preview for a room. It's intended to be used to represent rooms that + * aren't joined yet. + */ +open class RoomPreview: Disposable, AutoCloseable, RoomPreviewInterface { constructor(pointer: Pointer) { @@ -22260,6 +22982,8 @@ public interface SyncServiceBuilderInterface { */ fun `withOfflineMode`(): SyncServiceBuilder + fun `withSharePos`(`enable`: kotlin.Boolean): SyncServiceBuilder + companion object } @@ -22393,6 +23117,18 @@ open class SyncServiceBuilder: Disposable, AutoCloseable, SyncServiceBuilderInte } + override fun `withSharePos`(`enable`: kotlin.Boolean): SyncServiceBuilder { + return FfiConverterTypeSyncServiceBuilder.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_syncservicebuilder_with_share_pos( + it, FfiConverterBoolean.lower(`enable`),_status) +} + } + ) + } + + @@ -22799,6 +23535,8 @@ public interface ThreadSummaryInterface { fun `latestEvent`(): EmbeddedEventDetails + fun `numReplies`(): kotlin.ULong + companion object } @@ -22896,6 +23634,18 @@ open class ThreadSummary: Disposable, AutoCloseable, ThreadSummaryInterface } + override fun `numReplies`(): kotlin.ULong { + return FfiConverterULong.lift( + callWithPointer { + uniffiRustCall() { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_threadsummary_num_replies( + it, _status) +} + } + ) + } + + @@ -23142,7 +23892,7 @@ public interface TimelineInterface { fun `sendImage`(`params`: UploadParameters, `thumbnailPath`: kotlin.String?, `imageInfo`: ImageInfo, `progressWatcher`: ProgressWatcher?): SendAttachmentJoinHandle - suspend fun `sendLocation`(`body`: kotlin.String, `geoUri`: kotlin.String, `description`: kotlin.String?, `zoomLevel`: kotlin.UByte?, `assetType`: AssetType?) + suspend fun `sendLocation`(`body`: kotlin.String, `geoUri`: kotlin.String, `description`: kotlin.String?, `zoomLevel`: kotlin.UByte?, `assetType`: AssetType?, `replyParams`: ReplyParameters?) suspend fun `sendPollResponse`(`pollStartEventId`: kotlin.String, `answers`: List) @@ -23716,13 +24466,14 @@ open class Timeline: Disposable, AutoCloseable, TimelineInterface + @Throws(ClientException::class) @Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE") - override suspend fun `sendLocation`(`body`: kotlin.String, `geoUri`: kotlin.String, `description`: kotlin.String?, `zoomLevel`: kotlin.UByte?, `assetType`: AssetType?) { + override suspend fun `sendLocation`(`body`: kotlin.String, `geoUri`: kotlin.String, `description`: kotlin.String?, `zoomLevel`: kotlin.UByte?, `assetType`: AssetType?, `replyParams`: ReplyParameters?) { return uniffiRustCallAsync( callWithPointer { thisPtr -> UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_method_timeline_send_location( thisPtr, - FfiConverterString.lower(`body`),FfiConverterString.lower(`geoUri`),FfiConverterOptionalString.lower(`description`),FfiConverterOptionalUByte.lower(`zoomLevel`),FfiConverterOptionalTypeAssetType.lower(`assetType`), + FfiConverterString.lower(`body`),FfiConverterString.lower(`geoUri`),FfiConverterOptionalString.lower(`description`),FfiConverterOptionalUByte.lower(`zoomLevel`),FfiConverterOptionalTypeAssetType.lower(`assetType`),FfiConverterOptionalTypeReplyParameters.lower(`replyParams`), ) }, { future, callback, continuation -> UniffiLib.INSTANCE.ffi_matrix_sdk_ffi_rust_future_poll_void(future, callback, continuation) }, @@ -23732,7 +24483,7 @@ open class Timeline: Disposable, AutoCloseable, TimelineInterface { Unit }, // Error FFI converter - UniffiNullRustCallStatusErrorHandler, + ClientException.ErrorHandler, ) } @@ -26726,72 +27477,6 @@ public object FfiConverterTypeCreateRoomParameters: FfiConverterRustBuffer { - override fun read(buf: ByteBuffer): ElementCallWellKnown { - return ElementCallWellKnown( - FfiConverterString.read(buf), - ) - } - - override fun allocationSize(value: ElementCallWellKnown) = ( - FfiConverterString.allocationSize(value.`widgetUrl`) - ) - - override fun write(value: ElementCallWellKnown, buf: ByteBuffer) { - FfiConverterString.write(value.`widgetUrl`, buf) - } -} - - - -/** - * Element specific well-known settings - */ -data class ElementWellKnown ( - var `call`: ElementCallWellKnown?, - var `registrationHelperUrl`: kotlin.String? -) { - - companion object -} - -/** - * @suppress - */ -public object FfiConverterTypeElementWellKnown: FfiConverterRustBuffer { - override fun read(buf: ByteBuffer): ElementWellKnown { - return ElementWellKnown( - FfiConverterOptionalTypeElementCallWellKnown.read(buf), - FfiConverterOptionalString.read(buf), - ) - } - - override fun allocationSize(value: ElementWellKnown) = ( - FfiConverterOptionalTypeElementCallWellKnown.allocationSize(value.`call`) + - FfiConverterOptionalString.allocationSize(value.`registrationHelperUrl`) - ) - - override fun write(value: ElementWellKnown, buf: ByteBuffer) { - FfiConverterOptionalTypeElementCallWellKnown.write(value.`call`, buf) - FfiConverterOptionalString.write(value.`registrationHelperUrl`, buf) - } -} - - - data class EmoteMessageContent ( var `body`: kotlin.String, var `formatted`: FormattedBody? @@ -28118,11 +28803,11 @@ data class NotificationRoomInfo ( var `displayName`: kotlin.String, var `avatarUrl`: kotlin.String?, var `canonicalAlias`: kotlin.String?, + var `topic`: kotlin.String?, var `joinRule`: JoinRule?, var `joinedMembersCount`: kotlin.ULong, var `isEncrypted`: kotlin.Boolean?, - var `isDirect`: kotlin.Boolean, - var `isPublic`: kotlin.Boolean + var `isDirect`: kotlin.Boolean ) { companion object @@ -28137,11 +28822,11 @@ public object FfiConverterTypeNotificationRoomInfo: FfiConverterRustBuffer, var `highlightCount`: kotlin.ULong, var `notificationCount`: kotlin.ULong, var `cachedUserDefinedNotificationMode`: RoomNotificationMode?, @@ -29104,8 +29794,54 @@ data class RoomInfo ( /** * The history visibility for this room, if known. */ - var `historyVisibility`: RoomHistoryVisibility -) { + var `historyVisibility`: RoomHistoryVisibility, + /** + * This room's current power levels. + * + * Can be missing if the room power levels event is missing from the store. + */ + var `powerLevels`: RoomPowerLevels? +) : Disposable { + + @Suppress("UNNECESSARY_SAFE_CALL") // codegen is much simpler if we unconditionally emit safe calls here + override fun destroy() { + + Disposable.destroy( + this.`id`, + this.`encryptionState`, + this.`creator`, + this.`displayName`, + this.`rawName`, + this.`topic`, + this.`avatarUrl`, + this.`isDirect`, + this.`isPublic`, + this.`isSpace`, + this.`successorRoom`, + this.`isFavourite`, + this.`canonicalAlias`, + this.`alternativeAliases`, + this.`membership`, + this.`inviter`, + this.`heroes`, + this.`activeMembersCount`, + this.`invitedMembersCount`, + this.`joinedMembersCount`, + this.`highlightCount`, + this.`notificationCount`, + this.`cachedUserDefinedNotificationMode`, + this.`hasRoomCall`, + this.`activeRoomCallParticipants`, + this.`isMarkedUnread`, + this.`numUnreadMessages`, + this.`numUnreadNotifications`, + this.`numUnreadMentions`, + this.`pinnedEventIds`, + this.`joinRule`, + this.`historyVisibility`, + this.`powerLevels` + ) + } companion object } @@ -29124,7 +29860,7 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterOptionalString.read(buf), FfiConverterOptionalString.read(buf), FfiConverterBoolean.read(buf), - FfiConverterBoolean.read(buf), + FfiConverterOptionalBoolean.read(buf), FfiConverterBoolean.read(buf), FfiConverterOptionalTypeSuccessorRoom.read(buf), FfiConverterBoolean.read(buf), @@ -29136,7 +29872,6 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterULong.read(buf), FfiConverterULong.read(buf), FfiConverterULong.read(buf), - FfiConverterMapStringLong.read(buf), FfiConverterULong.read(buf), FfiConverterULong.read(buf), FfiConverterOptionalTypeRoomNotificationMode.read(buf), @@ -29149,6 +29884,7 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterSequenceString.read(buf), FfiConverterOptionalTypeJoinRule.read(buf), FfiConverterTypeRoomHistoryVisibility.read(buf), + FfiConverterOptionalTypeRoomPowerLevels.read(buf), ) } @@ -29161,7 +29897,7 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterOptionalString.allocationSize(value.`topic`) + FfiConverterOptionalString.allocationSize(value.`avatarUrl`) + FfiConverterBoolean.allocationSize(value.`isDirect`) + - FfiConverterBoolean.allocationSize(value.`isPublic`) + + FfiConverterOptionalBoolean.allocationSize(value.`isPublic`) + FfiConverterBoolean.allocationSize(value.`isSpace`) + FfiConverterOptionalTypeSuccessorRoom.allocationSize(value.`successorRoom`) + FfiConverterBoolean.allocationSize(value.`isFavourite`) + @@ -29173,7 +29909,6 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterULong.allocationSize(value.`activeMembersCount`) + FfiConverterULong.allocationSize(value.`invitedMembersCount`) + FfiConverterULong.allocationSize(value.`joinedMembersCount`) + - FfiConverterMapStringLong.allocationSize(value.`userPowerLevels`) + FfiConverterULong.allocationSize(value.`highlightCount`) + FfiConverterULong.allocationSize(value.`notificationCount`) + FfiConverterOptionalTypeRoomNotificationMode.allocationSize(value.`cachedUserDefinedNotificationMode`) + @@ -29185,7 +29920,8 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterULong.allocationSize(value.`numUnreadMentions`) + FfiConverterSequenceString.allocationSize(value.`pinnedEventIds`) + FfiConverterOptionalTypeJoinRule.allocationSize(value.`joinRule`) + - FfiConverterTypeRoomHistoryVisibility.allocationSize(value.`historyVisibility`) + FfiConverterTypeRoomHistoryVisibility.allocationSize(value.`historyVisibility`) + + FfiConverterOptionalTypeRoomPowerLevels.allocationSize(value.`powerLevels`) ) override fun write(value: RoomInfo, buf: ByteBuffer) { @@ -29197,7 +29933,7 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterOptionalString.write(value.`topic`, buf) FfiConverterOptionalString.write(value.`avatarUrl`, buf) FfiConverterBoolean.write(value.`isDirect`, buf) - FfiConverterBoolean.write(value.`isPublic`, buf) + FfiConverterOptionalBoolean.write(value.`isPublic`, buf) FfiConverterBoolean.write(value.`isSpace`, buf) FfiConverterOptionalTypeSuccessorRoom.write(value.`successorRoom`, buf) FfiConverterBoolean.write(value.`isFavourite`, buf) @@ -29209,7 +29945,6 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterULong.write(value.`activeMembersCount`, buf) FfiConverterULong.write(value.`invitedMembersCount`, buf) FfiConverterULong.write(value.`joinedMembersCount`, buf) - FfiConverterMapStringLong.write(value.`userPowerLevels`, buf) FfiConverterULong.write(value.`highlightCount`, buf) FfiConverterULong.write(value.`notificationCount`, buf) FfiConverterOptionalTypeRoomNotificationMode.write(value.`cachedUserDefinedNotificationMode`, buf) @@ -29222,6 +29957,7 @@ public object FfiConverterTypeRoomInfo: FfiConverterRustBuffer { FfiConverterSequenceString.write(value.`pinnedEventIds`, buf) FfiConverterOptionalTypeJoinRule.write(value.`joinRule`, buf) FfiConverterTypeRoomHistoryVisibility.write(value.`historyVisibility`, buf) + FfiConverterOptionalTypeRoomPowerLevels.write(value.`powerLevels`, buf) } } @@ -29416,7 +30152,11 @@ public object FfiConverterTypeRoomNotificationSettings: FfiConverterRustBuffer { - override fun read(buf: ByteBuffer): RoomPowerLevels { - return RoomPowerLevels( +public object FfiConverterTypeRoomPowerLevelsValues: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): RoomPowerLevelsValues { + return RoomPowerLevelsValues( FfiConverterLong.read(buf), FfiConverterLong.read(buf), FfiConverterLong.read(buf), @@ -29481,7 +30221,7 @@ public object FfiConverterTypeRoomPowerLevels: FfiConverterRustBuffer, , - */ - var `elementCallUrl`: kotlin.String, - /** - * The widget id. - */ - var `widgetId`: kotlin.String, - /** - * The url that is used as the target for the PostMessages sent - * by the widget (to the client). - * - * For a web app client this is the client url. In case of using other - * platforms the client most likely is setup up to listen to - * postmessages in the same webview the widget is hosted. In this case - * the `parent_url` is set to the url of the webview with the widget. Be - * aware that this means that the widget will receive its own postmessage - * messages. The `matrix-widget-api` (js) ignores those so this works but - * it might break custom implementations. - * - * Defaults to `element_call_url` for the non-iframe (dedicated webview) - * usecase. - */ - var `parentUrl`: kotlin.String?, - /** - * Whether the branding header of Element call should be hidden. - * - * Default: `true` - */ - var `hideHeader`: kotlin.Boolean?, - /** - * If set, the lobby will be skipped and the widget will join the - * call on the `io.element.join` action. - * - * Default: `false` - */ - var `preload`: kotlin.Boolean?, - /** - * The font scale which will be used inside element call. - * - * Default: `1` - */ - var `fontScale`: kotlin.Double?, - /** - * Whether element call should prompt the user to open in the browser or - * the app. - * - * Default: `false` - */ - var `appPrompt`: kotlin.Boolean?, - /** - * Make it not possible to get to the calls list in the webview. - * - * Default: `true` - */ - var `confineToRoom`: kotlin.Boolean?, - /** - * The font to use, to adapt to the system font. - */ - var `font`: kotlin.String?, - /** - * The encryption system to use. - * - * Use `EncryptionSystem::Unencrypted` to disable encryption. - */ - var `encryption`: EncryptionSystem, - /** - * The intent of showing the call. - * If the user wants to start a call or join an existing one. - * Controls if the lobby is skipped or not. - */ - var `intent`: Intent?, - /** - * Do not show the screenshare button. - */ - var `hideScreensharing`: kotlin.Boolean, - /** - * Can be used to pass a PostHog id to element call. - */ - var `posthogUserId`: kotlin.String?, - /** - * The host of the posthog api. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - var `posthogApiHost`: kotlin.String?, - /** - * The key for the posthog api. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - var `posthogApiKey`: kotlin.String?, - /** - * The url to use for submitting rageshakes. - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - var `rageshakeSubmitUrl`: kotlin.String?, - /** - * Sentry [DSN](https://docs.sentry.io/concepts/key-terms/dsn-explainer/) - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - var `sentryDsn`: kotlin.String?, - /** - * Sentry [environment](https://docs.sentry.io/concepts/key-terms/key-terms/) - * Supported since Element Call v0.9.0. Only used by the embedded package. - */ - var `sentryEnvironment`: kotlin.String?, - /** - * - `false`: the webview shows a a list of devices injected by the - * client. (used on ios & android) - */ - var `controlledMediaDevices`: kotlin.Boolean -) { - - companion object -} - -/** - * @suppress - */ -public object FfiConverterTypeVirtualElementCallWidgetOptions: FfiConverterRustBuffer { - override fun read(buf: ByteBuffer): VirtualElementCallWidgetOptions { - return VirtualElementCallWidgetOptions( - FfiConverterString.read(buf), - FfiConverterString.read(buf), - FfiConverterOptionalString.read(buf), - FfiConverterOptionalBoolean.read(buf), - FfiConverterOptionalBoolean.read(buf), - FfiConverterOptionalDouble.read(buf), - FfiConverterOptionalBoolean.read(buf), - FfiConverterOptionalBoolean.read(buf), - FfiConverterOptionalString.read(buf), - FfiConverterTypeEncryptionSystem.read(buf), - FfiConverterOptionalTypeIntent.read(buf), - FfiConverterBoolean.read(buf), - FfiConverterOptionalString.read(buf), - FfiConverterOptionalString.read(buf), - FfiConverterOptionalString.read(buf), - FfiConverterOptionalString.read(buf), - FfiConverterOptionalString.read(buf), - FfiConverterOptionalString.read(buf), - FfiConverterBoolean.read(buf), - ) - } - - override fun allocationSize(value: VirtualElementCallWidgetOptions) = ( - FfiConverterString.allocationSize(value.`elementCallUrl`) + - FfiConverterString.allocationSize(value.`widgetId`) + - FfiConverterOptionalString.allocationSize(value.`parentUrl`) + - FfiConverterOptionalBoolean.allocationSize(value.`hideHeader`) + - FfiConverterOptionalBoolean.allocationSize(value.`preload`) + - FfiConverterOptionalDouble.allocationSize(value.`fontScale`) + - FfiConverterOptionalBoolean.allocationSize(value.`appPrompt`) + - FfiConverterOptionalBoolean.allocationSize(value.`confineToRoom`) + - FfiConverterOptionalString.allocationSize(value.`font`) + - FfiConverterTypeEncryptionSystem.allocationSize(value.`encryption`) + - FfiConverterOptionalTypeIntent.allocationSize(value.`intent`) + - FfiConverterBoolean.allocationSize(value.`hideScreensharing`) + - FfiConverterOptionalString.allocationSize(value.`posthogUserId`) + - FfiConverterOptionalString.allocationSize(value.`posthogApiHost`) + - FfiConverterOptionalString.allocationSize(value.`posthogApiKey`) + - FfiConverterOptionalString.allocationSize(value.`rageshakeSubmitUrl`) + - FfiConverterOptionalString.allocationSize(value.`sentryDsn`) + - FfiConverterOptionalString.allocationSize(value.`sentryEnvironment`) + - FfiConverterBoolean.allocationSize(value.`controlledMediaDevices`) - ) - - override fun write(value: VirtualElementCallWidgetOptions, buf: ByteBuffer) { - FfiConverterString.write(value.`elementCallUrl`, buf) - FfiConverterString.write(value.`widgetId`, buf) - FfiConverterOptionalString.write(value.`parentUrl`, buf) - FfiConverterOptionalBoolean.write(value.`hideHeader`, buf) - FfiConverterOptionalBoolean.write(value.`preload`, buf) - FfiConverterOptionalDouble.write(value.`fontScale`, buf) - FfiConverterOptionalBoolean.write(value.`appPrompt`, buf) - FfiConverterOptionalBoolean.write(value.`confineToRoom`, buf) - FfiConverterOptionalString.write(value.`font`, buf) - FfiConverterTypeEncryptionSystem.write(value.`encryption`, buf) - FfiConverterOptionalTypeIntent.write(value.`intent`, buf) - FfiConverterBoolean.write(value.`hideScreensharing`, buf) - FfiConverterOptionalString.write(value.`posthogUserId`, buf) - FfiConverterOptionalString.write(value.`posthogApiHost`, buf) - FfiConverterOptionalString.write(value.`posthogApiKey`, buf) - FfiConverterOptionalString.write(value.`rageshakeSubmitUrl`, buf) - FfiConverterOptionalString.write(value.`sentryDsn`, buf) - FfiConverterOptionalString.write(value.`sentryEnvironment`, buf) - FfiConverterBoolean.write(value.`controlledMediaDevices`, buf) - } -} - - - /** * Capabilities that a widget can request from a client. */ @@ -32085,6 +32622,105 @@ public object FfiConverterTypeBackupUploadState : FfiConverterRustBuffer { + + Disposable.destroy( + this.`status` + ) + + } + is BatchNotificationResult.Error -> { + + Disposable.destroy( + this.`message` + ) + + } + }.let { /* this makes the `when` an expression, which ensures it is exhaustive */ } + } + + companion object +} + +/** + * @suppress + */ +public object FfiConverterTypeBatchNotificationResult : FfiConverterRustBuffer{ + override fun read(buf: ByteBuffer): BatchNotificationResult { + return when(buf.getInt()) { + 1 -> BatchNotificationResult.Ok( + FfiConverterTypeNotificationStatus.read(buf), + ) + 2 -> BatchNotificationResult.Error( + FfiConverterString.read(buf), + ) + else -> throw RuntimeException("invalid enum value, something is very wrong!!") + } + } + + override fun allocationSize(value: BatchNotificationResult) = when(value) { + is BatchNotificationResult.Ok -> { + // Add the size for the Int that specifies the variant plus the size needed for all fields + ( + 4UL + + FfiConverterTypeNotificationStatus.allocationSize(value.`status`) + ) + } + is BatchNotificationResult.Error -> { + // Add the size for the Int that specifies the variant plus the size needed for all fields + ( + 4UL + + FfiConverterString.allocationSize(value.`message`) + ) + } + } + + override fun write(value: BatchNotificationResult, buf: ByteBuffer) { + when(value) { + is BatchNotificationResult.Ok -> { + buf.putInt(1) + FfiConverterTypeNotificationStatus.write(value.`status`, buf) + Unit + } + is BatchNotificationResult.Error -> { + buf.putInt(2) + FfiConverterString.write(value.`message`, buf) + Unit + } + }.let { /* this makes the `when` an expression, which ensures it is exhaustive */ } + } +} + + + + + sealed class ClientBuildException(message: String): kotlin.Exception(message) { @@ -32672,7 +33308,9 @@ sealed class EmbeddedEventDetails: Disposable { data class Ready( val `content`: TimelineItemContent, val `sender`: kotlin.String, - val `senderProfile`: ProfileDetails) : EmbeddedEventDetails() { + val `senderProfile`: ProfileDetails, + val `timestamp`: Timestamp, + val `eventOrTransactionId`: EventOrTransactionId) : EmbeddedEventDetails() { companion object } @@ -32695,7 +33333,9 @@ sealed class EmbeddedEventDetails: Disposable { Disposable.destroy( this.`content`, this.`sender`, - this.`senderProfile` + this.`senderProfile`, + this.`timestamp`, + this.`eventOrTransactionId` ) } @@ -32724,6 +33364,8 @@ public object FfiConverterTypeEmbeddedEventDetails : FfiConverterRustBuffer EmbeddedEventDetails.Error( FfiConverterString.read(buf), @@ -32752,6 +33394,8 @@ public object FfiConverterTypeEmbeddedEventDetails : FfiConverterRustBuffer { @@ -32778,6 +33422,8 @@ public object FfiConverterTypeEmbeddedEventDetails : FfiConverterRustBuffer { @@ -33021,103 +33667,6 @@ public object FfiConverterTypeEncryptedMessage : FfiConverterRustBuffer{ - override fun read(buf: ByteBuffer): EncryptionSystem { - return when(buf.getInt()) { - 1 -> EncryptionSystem.Unencrypted - 2 -> EncryptionSystem.PerParticipantKeys - 3 -> EncryptionSystem.SharedSecret( - FfiConverterString.read(buf), - ) - else -> throw RuntimeException("invalid enum value, something is very wrong!!") - } - } - - override fun allocationSize(value: EncryptionSystem) = when(value) { - is EncryptionSystem.Unencrypted -> { - // Add the size for the Int that specifies the variant plus the size needed for all fields - ( - 4UL - ) - } - is EncryptionSystem.PerParticipantKeys -> { - // Add the size for the Int that specifies the variant plus the size needed for all fields - ( - 4UL - ) - } - is EncryptionSystem.SharedSecret -> { - // Add the size for the Int that specifies the variant plus the size needed for all fields - ( - 4UL - + FfiConverterString.allocationSize(value.`secret`) - ) - } - } - - override fun write(value: EncryptionSystem, buf: ByteBuffer) { - when(value) { - is EncryptionSystem.Unencrypted -> { - buf.putInt(1) - Unit - } - is EncryptionSystem.PerParticipantKeys -> { - buf.putInt(2) - Unit - } - is EncryptionSystem.SharedSecret -> { - buf.putInt(3) - FfiConverterString.write(value.`secret`, buf) - Unit - } - }.let { /* this makes the `when` an expression, which ensures it is exhaustive */ } - } -} - - - - - sealed class ErrorKind { /** @@ -35135,47 +35684,6 @@ public object FfiConverterTypeHumanQrLoginError : FfiConverterRustBuffer { - override fun read(buf: ByteBuffer) = try { - Intent.values()[buf.getInt() - 1] - } catch (e: IndexOutOfBoundsException) { - throw RuntimeException("invalid enum value, something is very wrong!!", e) - } - - override fun allocationSize(value: Intent) = 4UL - - override fun write(value: Intent, buf: ByteBuffer) { - buf.putInt(value.ordinal + 1) - } -} - - - - - /** * The policy that decides if avatars should be shown in invite requests. */ @@ -37430,6 +37938,112 @@ public object FfiConverterTypeNotificationSettingsError : FfiConverterRustBuffer +sealed class NotificationStatus: Disposable { + + /** + * The event has been found and was not filtered out. + */ + data class Event( + val `item`: NotificationItem) : NotificationStatus() { + companion object + } + + /** + * The event couldn't be found in the network queries used to find it. + */ + object EventNotFound : NotificationStatus() + + + /** + * The event has been filtered out, either because of the user's push + * rules, or because the user which triggered it is ignored by the + * current user. + */ + object EventFilteredOut : NotificationStatus() + + + + + @Suppress("UNNECESSARY_SAFE_CALL") // codegen is much simpler if we unconditionally emit safe calls here + override fun destroy() { + when(this) { + is NotificationStatus.Event -> { + + Disposable.destroy( + this.`item` + ) + + } + is NotificationStatus.EventNotFound -> {// Nothing to destroy + } + is NotificationStatus.EventFilteredOut -> {// Nothing to destroy + } + }.let { /* this makes the `when` an expression, which ensures it is exhaustive */ } + } + + companion object +} + +/** + * @suppress + */ +public object FfiConverterTypeNotificationStatus : FfiConverterRustBuffer{ + override fun read(buf: ByteBuffer): NotificationStatus { + return when(buf.getInt()) { + 1 -> NotificationStatus.Event( + FfiConverterTypeNotificationItem.read(buf), + ) + 2 -> NotificationStatus.EventNotFound + 3 -> NotificationStatus.EventFilteredOut + else -> throw RuntimeException("invalid enum value, something is very wrong!!") + } + } + + override fun allocationSize(value: NotificationStatus) = when(value) { + is NotificationStatus.Event -> { + // Add the size for the Int that specifies the variant plus the size needed for all fields + ( + 4UL + + FfiConverterTypeNotificationItem.allocationSize(value.`item`) + ) + } + is NotificationStatus.EventNotFound -> { + // Add the size for the Int that specifies the variant plus the size needed for all fields + ( + 4UL + ) + } + is NotificationStatus.EventFilteredOut -> { + // Add the size for the Int that specifies the variant plus the size needed for all fields + ( + 4UL + ) + } + } + + override fun write(value: NotificationStatus, buf: ByteBuffer) { + when(value) { + is NotificationStatus.Event -> { + buf.putInt(1) + FfiConverterTypeNotificationItem.write(value.`item`, buf) + Unit + } + is NotificationStatus.EventNotFound -> { + buf.putInt(2) + Unit + } + is NotificationStatus.EventFilteredOut -> { + buf.putInt(3) + Unit + } + }.let { /* this makes the `when` an expression, which ensures it is exhaustive */ } + } +} + + + + + enum class NotifyType { @@ -42424,8 +43038,7 @@ sealed class TimelineFocus { /** * The thread root event ID to focus on. */ - val `rootEventId`: kotlin.String, - val `numEvents`: kotlin.UShort) : TimelineFocus() { + val `rootEventId`: kotlin.String) : TimelineFocus() { companion object } @@ -42456,7 +43069,6 @@ public object FfiConverterTypeTimelineFocus : FfiConverterRustBuffer TimelineFocus.Thread( FfiConverterString.read(buf), - FfiConverterUShort.read(buf), ) 4 -> TimelineFocus.PinnedEvents( FfiConverterUShort.read(buf), @@ -42488,7 +43100,6 @@ public object FfiConverterTypeTimelineFocus : FfiConverterRustBuffer { @@ -42518,7 +43129,6 @@ public object FfiConverterTypeTimelineFocus : FfiConverterRustBuffer { buf.putInt(3) FfiConverterString.write(value.`rootEventId`, buf) - FfiConverterUShort.write(value.`numEvents`, buf) Unit } is TimelineFocus.PinnedEvents -> { @@ -42833,7 +43443,11 @@ enum class TraceLogPacks { /** * Enables all the logs relevant to the timeline. */ - TIMELINE; + TIMELINE, + /** + * Enables all the logs relevant to the notification client. + */ + NOTIFICATION_CLIENT; companion object } @@ -45572,6 +46186,38 @@ public object FfiConverterOptionalTypeRoomMessageEventContentWithoutRelation: Ff +/** + * @suppress + */ +public object FfiConverterOptionalTypeRoomPowerLevels: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): RoomPowerLevels? { + if (buf.get().toInt() == 0) { + return null + } + return FfiConverterTypeRoomPowerLevels.read(buf) + } + + override fun allocationSize(value: RoomPowerLevels?): ULong { + if (value == null) { + return 1UL + } else { + return 1UL + FfiConverterTypeRoomPowerLevels.allocationSize(value) + } + } + + override fun write(value: RoomPowerLevels?, buf: ByteBuffer) { + if (value == null) { + buf.put(0) + } else { + buf.put(1) + FfiConverterTypeRoomPowerLevels.write(value, buf) + } + } +} + + + + /** * @suppress */ @@ -45604,6 +46250,38 @@ public object FfiConverterOptionalTypeSendHandle: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): SyncService? { + if (buf.get().toInt() == 0) { + return null + } + return FfiConverterTypeSyncService.read(buf) + } + + override fun allocationSize(value: SyncService?): ULong { + if (value == null) { + return 1UL + } else { + return 1UL + FfiConverterTypeSyncService.allocationSize(value) + } + } + + override fun write(value: SyncService?, buf: ByteBuffer) { + if (value == null) { + buf.put(0) + } else { + buf.put(1) + FfiConverterTypeSyncService.write(value, buf) + } + } +} + + + + /** * @suppress */ @@ -45796,38 +46474,6 @@ public object FfiConverterOptionalTypeComposerDraft: FfiConverterRustBuffer { - override fun read(buf: ByteBuffer): ElementCallWellKnown? { - if (buf.get().toInt() == 0) { - return null - } - return FfiConverterTypeElementCallWellKnown.read(buf) - } - - override fun allocationSize(value: ElementCallWellKnown?): ULong { - if (value == null) { - return 1UL - } else { - return 1UL + FfiConverterTypeElementCallWellKnown.allocationSize(value) - } - } - - override fun write(value: ElementCallWellKnown?, buf: ByteBuffer) { - if (value == null) { - buf.put(0) - } else { - buf.put(1) - FfiConverterTypeElementCallWellKnown.write(value, buf) - } - } -} - - - - /** * @suppress */ @@ -46084,38 +46730,6 @@ public object FfiConverterOptionalTypeMentions: FfiConverterRustBuffer { - override fun read(buf: ByteBuffer): NotificationItem? { - if (buf.get().toInt() == 0) { - return null - } - return FfiConverterTypeNotificationItem.read(buf) - } - - override fun allocationSize(value: NotificationItem?): ULong { - if (value == null) { - return 1UL - } else { - return 1UL + FfiConverterTypeNotificationItem.allocationSize(value) - } - } - - override fun write(value: NotificationItem?, buf: ByteBuffer) { - if (value == null) { - buf.put(0) - } else { - buf.put(1) - FfiConverterTypeNotificationItem.write(value, buf) - } - } -} - - - - /** * @suppress */ @@ -46724,38 +47338,6 @@ public object FfiConverterOptionalTypeEventSendState: FfiConverterRustBuffer { - override fun read(buf: ByteBuffer): Intent? { - if (buf.get().toInt() == 0) { - return null - } - return FfiConverterTypeIntent.read(buf) - } - - override fun allocationSize(value: Intent?): ULong { - if (value == null) { - return 1UL - } else { - return 1UL + FfiConverterTypeIntent.allocationSize(value) - } - } - - override fun write(value: Intent?, buf: ByteBuffer) { - if (value == null) { - buf.put(0) - } else { - buf.put(1) - FfiConverterTypeIntent.write(value, buf) - } - } -} - - - - /** * @suppress */ @@ -48719,35 +49301,35 @@ public object FfiConverterMapStringTypeIgnoredUser: FfiConverterRustBuffer> { - override fun read(buf: ByteBuffer): Map { +public object FfiConverterMapStringTypeReceipt: FfiConverterRustBuffer> { + override fun read(buf: ByteBuffer): Map { val len = buf.getInt() - return buildMap(len) { + return buildMap(len) { repeat(len) { val k = FfiConverterString.read(buf) - val v = FfiConverterTypeNotificationItem.read(buf) + val v = FfiConverterTypeReceipt.read(buf) this[k] = v } } } - override fun allocationSize(value: Map): ULong { + override fun allocationSize(value: Map): ULong { val spaceForMapSize = 4UL val spaceForChildren = value.map { (k, v) -> FfiConverterString.allocationSize(k) + - FfiConverterTypeNotificationItem.allocationSize(v) + FfiConverterTypeReceipt.allocationSize(v) }.sum() return spaceForMapSize + spaceForChildren } - override fun write(value: Map, buf: ByteBuffer) { + override fun write(value: Map, buf: ByteBuffer) { buf.putInt(value.size) // The parens on `(k, v)` here ensure we're calling the right method, // which is important for compatibility with older android devices. // Ref https://blog.danlew.net/2017/03/16/kotlin-puzzler-whose-line-is-it-anyways/ value.forEach { (k, v) -> FfiConverterString.write(k, buf) - FfiConverterTypeNotificationItem.write(v, buf) + FfiConverterTypeReceipt.write(v, buf) } } } @@ -48758,35 +49340,35 @@ public object FfiConverterMapStringTypeNotificationItem: FfiConverterRustBuffer< /** * @suppress */ -public object FfiConverterMapStringTypeReceipt: FfiConverterRustBuffer> { - override fun read(buf: ByteBuffer): Map { +public object FfiConverterMapStringTypeBatchNotificationResult: FfiConverterRustBuffer> { + override fun read(buf: ByteBuffer): Map { val len = buf.getInt() - return buildMap(len) { + return buildMap(len) { repeat(len) { val k = FfiConverterString.read(buf) - val v = FfiConverterTypeReceipt.read(buf) + val v = FfiConverterTypeBatchNotificationResult.read(buf) this[k] = v } } } - override fun allocationSize(value: Map): ULong { + override fun allocationSize(value: Map): ULong { val spaceForMapSize = 4UL val spaceForChildren = value.map { (k, v) -> FfiConverterString.allocationSize(k) + - FfiConverterTypeReceipt.allocationSize(v) + FfiConverterTypeBatchNotificationResult.allocationSize(v) }.sum() return spaceForMapSize + spaceForChildren } - override fun write(value: Map, buf: ByteBuffer) { + override fun write(value: Map, buf: ByteBuffer) { buf.putInt(value.size) // The parens on `(k, v)` here ensure we're calling the right method, // which is important for compatibility with older android devices. // Ref https://blog.danlew.net/2017/03/16/kotlin-puzzler-whose-line-is-it-anyways/ value.forEach { (k, v) -> FfiConverterString.write(k, buf) - FfiConverterTypeReceipt.write(v, buf) + FfiConverterTypeBatchNotificationResult.write(v, buf) } } } @@ -48911,6 +49493,8 @@ public typealias FfiConverterTypeTimestamp = FfiConverterULong + + @@ -48942,18 +49526,6 @@ public typealias FfiConverterTypeTimestamp = FfiConverterULong ) } - - /** - * Set the global enablement level for the Sentry layer (after the logs have - * been set up). - */ fun `enableSentryLogging`(`enabled`: kotlin.Boolean) - = - uniffiRustCall() { _status -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_func_enable_sentry_logging( - FfiConverterBoolean.lower(`enabled`),_status) -} - - fun `genTransactionId`(): kotlin.String { return FfiConverterString.lift( uniffiRustCall() { _status -> @@ -49049,7 +49621,7 @@ public typealias FfiConverterTypeTimestamp = FfiConverterULong * Log an event. * * The target should be something like a module path, and can be referenced in - * the filter string given to `setup_tracing`. `level` and `target` for a + * the filter string given to `init_platform`. `level` and `target` for a * callsite are fixed at the first `log_event` call for that callsite and can * not be changed afterwards, i.e. the level and target passed for second and * following `log_event`s with the same callsite will be ignored. @@ -49067,19 +49639,6 @@ public typealias FfiConverterTypeTimestamp = FfiConverterULong - /** - * Helper function to parse a string into a ElementWellKnown struct - */ - @Throws(ClientException::class) fun `makeElementWellKnown`(`string`: kotlin.String): ElementWellKnown { - return FfiConverterTypeElementWellKnown.lift( - uniffiRustCallWithError(ClientException) { _status -> - UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_func_make_element_well_known( - FfiConverterString.lower(`string`),_status) -} - ) - } - - @Throws(ParseException::class) fun `makeWidgetDriver`(`settings`: WidgetSettings): WidgetDriverAndHandle { return FfiConverterTypeWidgetDriverAndHandle.lift( uniffiRustCallWithError(ParseException) { _status -> @@ -49200,6 +49759,22 @@ public typealias FfiConverterTypeTimestamp = FfiConverterULong } + /** + * Updates the tracing subscriber with a new file writer based on the provided + * configuration. + * + * This method will throw if `init_platform` hasn't been called, or if it was + * called with `write_to_files` set to `None`. + */ + @Throws(ClientException::class) fun `reloadTracingFileWriter`(`configuration`: TracingFileConfiguration) + = + uniffiRustCallWithError(ClientException) { _status -> + UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_func_reload_tracing_file_writer( + FfiConverterTypeTracingFileConfiguration.lower(`configuration`),_status) +} + + + /** * Transforms a Room's display name into a valid room alias name. */ fun `roomAliasNameFromRoomDisplayName`(`roomName`: kotlin.String): kotlin.String { diff --git a/android/src/main/java/uniffi/matrix_sdk/matrix_sdk.kt b/android/src/main/java/uniffi/matrix_sdk/matrix_sdk.kt index 086136e..f872efb 100644 --- a/android/src/main/java/uniffi/matrix_sdk/matrix_sdk.kt +++ b/android/src/main/java/uniffi/matrix_sdk/matrix_sdk.kt @@ -1083,6 +1083,29 @@ public object FfiConverterLong: FfiConverter { } } +/** + * @suppress + */ +public object FfiConverterDouble: FfiConverter { + override fun lift(value: Double): Double { + return value + } + + override fun read(buf: ByteBuffer): Double { + return buf.getDouble() + } + + override fun lower(value: Double): Double { + return value + } + + override fun allocationSize(value: Double) = 8UL + + override fun write(value: Double, buf: ByteBuffer) { + buf.putDouble(value) + } +} + /** * @suppress */ @@ -1512,6 +1535,212 @@ public object FfiConverterTypeRoomPowerLevelChanges: FfiConverterRustBuffer, , + */ + var `elementCallUrl`: kotlin.String, + /** + * The widget id. + */ + var `widgetId`: kotlin.String, + /** + * The url that is used as the target for the PostMessages sent + * by the widget (to the client). + * + * For a web app client this is the client url. In case of using other + * platforms the client most likely is setup up to listen to + * postmessages in the same webview the widget is hosted. In this case + * the `parent_url` is set to the url of the webview with the widget. Be + * aware that this means that the widget will receive its own postmessage + * messages. The `matrix-widget-api` (js) ignores those so this works but + * it might break custom implementations. + * + * Defaults to `element_call_url` for the non-iframe (dedicated webview) + * usecase. + */ + var `parentUrl`: kotlin.String?, + /** + * Whether the branding header of Element call should be shown or if a + * mobile header navbar should be render. + * + * Default: [`HeaderStyle::Standard`] + */ + var `header`: HeaderStyle?, + /** + * Whether the branding header of Element call should be hidden. + * + * Default: `true` + */ + var `hideHeader`: kotlin.Boolean?, + /** + * If set, the lobby will be skipped and the widget will join the + * call on the `io.element.join` action. + * + * Default: `false` + */ + var `preload`: kotlin.Boolean?, + /** + * The font scale which will be used inside element call. + * + * Default: `1` + */ + var `fontScale`: kotlin.Double?, + /** + * Whether element call should prompt the user to open in the browser or + * the app. + * + * Default: `false` + */ + var `appPrompt`: kotlin.Boolean?, + /** + * Make it not possible to get to the calls list in the webview. + * + * Default: `true` + */ + var `confineToRoom`: kotlin.Boolean?, + /** + * The font to use, to adapt to the system font. + */ + var `font`: kotlin.String?, + /** + * The encryption system to use. + * + * Use `EncryptionSystem::Unencrypted` to disable encryption. + */ + var `encryption`: EncryptionSystem, + /** + * The intent of showing the call. + * If the user wants to start a call or join an existing one. + * Controls if the lobby is skipped or not. + */ + var `intent`: Intent?, + /** + * Do not show the screenshare button. + */ + var `hideScreensharing`: kotlin.Boolean, + /** + * Can be used to pass a PostHog id to element call. + */ + var `posthogUserId`: kotlin.String?, + /** + * The host of the posthog api. + * This is only used by the embedded package of Element Call. + */ + var `posthogApiHost`: kotlin.String?, + /** + * The key for the posthog api. + * This is only used by the embedded package of Element Call. + */ + var `posthogApiKey`: kotlin.String?, + /** + * The url to use for submitting rageshakes. + * This is only used by the embedded package of Element Call. + */ + var `rageshakeSubmitUrl`: kotlin.String?, + /** + * Sentry [DSN](https://docs.sentry.io/concepts/key-terms/dsn-explainer/) + * This is only used by the embedded package of Element Call. + */ + var `sentryDsn`: kotlin.String?, + /** + * Sentry [environment](https://docs.sentry.io/concepts/key-terms/key-terms/) + * This is only used by the embedded package of Element Call. + */ + var `sentryEnvironment`: kotlin.String?, + /** + * - `false`: the webview shows a a list of devices injected by the + * client. (used on ios & android) + */ + var `controlledMediaDevices`: kotlin.Boolean +) { + + companion object +} + +/** + * @suppress + */ +public object FfiConverterTypeVirtualElementCallWidgetOptions: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): VirtualElementCallWidgetOptions { + return VirtualElementCallWidgetOptions( + FfiConverterString.read(buf), + FfiConverterString.read(buf), + FfiConverterOptionalString.read(buf), + FfiConverterOptionalTypeHeaderStyle.read(buf), + FfiConverterOptionalBoolean.read(buf), + FfiConverterOptionalBoolean.read(buf), + FfiConverterOptionalDouble.read(buf), + FfiConverterOptionalBoolean.read(buf), + FfiConverterOptionalBoolean.read(buf), + FfiConverterOptionalString.read(buf), + FfiConverterTypeEncryptionSystem.read(buf), + FfiConverterOptionalTypeIntent.read(buf), + FfiConverterBoolean.read(buf), + FfiConverterOptionalString.read(buf), + FfiConverterOptionalString.read(buf), + FfiConverterOptionalString.read(buf), + FfiConverterOptionalString.read(buf), + FfiConverterOptionalString.read(buf), + FfiConverterOptionalString.read(buf), + FfiConverterBoolean.read(buf), + ) + } + + override fun allocationSize(value: VirtualElementCallWidgetOptions) = ( + FfiConverterString.allocationSize(value.`elementCallUrl`) + + FfiConverterString.allocationSize(value.`widgetId`) + + FfiConverterOptionalString.allocationSize(value.`parentUrl`) + + FfiConverterOptionalTypeHeaderStyle.allocationSize(value.`header`) + + FfiConverterOptionalBoolean.allocationSize(value.`hideHeader`) + + FfiConverterOptionalBoolean.allocationSize(value.`preload`) + + FfiConverterOptionalDouble.allocationSize(value.`fontScale`) + + FfiConverterOptionalBoolean.allocationSize(value.`appPrompt`) + + FfiConverterOptionalBoolean.allocationSize(value.`confineToRoom`) + + FfiConverterOptionalString.allocationSize(value.`font`) + + FfiConverterTypeEncryptionSystem.allocationSize(value.`encryption`) + + FfiConverterOptionalTypeIntent.allocationSize(value.`intent`) + + FfiConverterBoolean.allocationSize(value.`hideScreensharing`) + + FfiConverterOptionalString.allocationSize(value.`posthogUserId`) + + FfiConverterOptionalString.allocationSize(value.`posthogApiHost`) + + FfiConverterOptionalString.allocationSize(value.`posthogApiKey`) + + FfiConverterOptionalString.allocationSize(value.`rageshakeSubmitUrl`) + + FfiConverterOptionalString.allocationSize(value.`sentryDsn`) + + FfiConverterOptionalString.allocationSize(value.`sentryEnvironment`) + + FfiConverterBoolean.allocationSize(value.`controlledMediaDevices`) + ) + + override fun write(value: VirtualElementCallWidgetOptions, buf: ByteBuffer) { + FfiConverterString.write(value.`elementCallUrl`, buf) + FfiConverterString.write(value.`widgetId`, buf) + FfiConverterOptionalString.write(value.`parentUrl`, buf) + FfiConverterOptionalTypeHeaderStyle.write(value.`header`, buf) + FfiConverterOptionalBoolean.write(value.`hideHeader`, buf) + FfiConverterOptionalBoolean.write(value.`preload`, buf) + FfiConverterOptionalDouble.write(value.`fontScale`, buf) + FfiConverterOptionalBoolean.write(value.`appPrompt`, buf) + FfiConverterOptionalBoolean.write(value.`confineToRoom`, buf) + FfiConverterOptionalString.write(value.`font`, buf) + FfiConverterTypeEncryptionSystem.write(value.`encryption`, buf) + FfiConverterOptionalTypeIntent.write(value.`intent`, buf) + FfiConverterBoolean.write(value.`hideScreensharing`, buf) + FfiConverterOptionalString.write(value.`posthogUserId`, buf) + FfiConverterOptionalString.write(value.`posthogApiHost`, buf) + FfiConverterOptionalString.write(value.`posthogApiKey`, buf) + FfiConverterOptionalString.write(value.`rageshakeSubmitUrl`, buf) + FfiConverterOptionalString.write(value.`sentryDsn`, buf) + FfiConverterOptionalString.write(value.`sentryEnvironment`, buf) + FfiConverterBoolean.write(value.`controlledMediaDevices`, buf) + } +} + + + /** * Settings for end-to-end encryption features. */ @@ -1567,6 +1796,188 @@ public object FfiConverterTypeBackupDownloadStrategy: FfiConverterRustBuffer{ + override fun read(buf: ByteBuffer): EncryptionSystem { + return when(buf.getInt()) { + 1 -> EncryptionSystem.Unencrypted + 2 -> EncryptionSystem.PerParticipantKeys + 3 -> EncryptionSystem.SharedSecret( + FfiConverterString.read(buf), + ) + else -> throw RuntimeException("invalid enum value, something is very wrong!!") + } + } + + override fun allocationSize(value: EncryptionSystem) = when(value) { + is EncryptionSystem.Unencrypted -> { + // Add the size for the Int that specifies the variant plus the size needed for all fields + ( + 4UL + ) + } + is EncryptionSystem.PerParticipantKeys -> { + // Add the size for the Int that specifies the variant plus the size needed for all fields + ( + 4UL + ) + } + is EncryptionSystem.SharedSecret -> { + // Add the size for the Int that specifies the variant plus the size needed for all fields + ( + 4UL + + FfiConverterString.allocationSize(value.`secret`) + ) + } + } + + override fun write(value: EncryptionSystem, buf: ByteBuffer) { + when(value) { + is EncryptionSystem.Unencrypted -> { + buf.putInt(1) + Unit + } + is EncryptionSystem.PerParticipantKeys -> { + buf.putInt(2) + Unit + } + is EncryptionSystem.SharedSecret -> { + buf.putInt(3) + FfiConverterString.write(value.`secret`, buf) + Unit + } + }.let { /* this makes the `when` an expression, which ensures it is exhaustive */ } + } +} + + + + + +/** + * Defines how (if) element-call renders a header. + */ + +enum class HeaderStyle { + + /** + * The normal header with branding. + */ + STANDARD, + /** + * Render a header with a back button (useful on mobile platforms). + */ + APP_BAR, + /** + * No Header (useful for webapps). + */ + NONE; + companion object +} + + +/** + * @suppress + */ +public object FfiConverterTypeHeaderStyle: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer) = try { + HeaderStyle.values()[buf.getInt() - 1] + } catch (e: IndexOutOfBoundsException) { + throw RuntimeException("invalid enum value, something is very wrong!!", e) + } + + override fun allocationSize(value: HeaderStyle) = 4UL + + override fun write(value: HeaderStyle, buf: ByteBuffer) { + buf.putInt(value.ordinal + 1) + } +} + + + + + +/** + * Defines the intent of showing the call. + * + * This controls whether to show or skip the lobby. + */ + +enum class Intent { + + /** + * The user wants to start a call. + */ + START_CALL, + /** + * The user wants to join an existing call. + */ + JOIN_EXISTING; + companion object +} + + +/** + * @suppress + */ +public object FfiConverterTypeIntent: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer) = try { + Intent.values()[buf.getInt() - 1] + } catch (e: IndexOutOfBoundsException) { + throw RuntimeException("invalid enum value, something is very wrong!!", e) + } + + override fun allocationSize(value: Intent) = 4UL + + override fun write(value: Intent, buf: ByteBuffer) { + buf.putInt(value.ordinal + 1) + } +} + + + + + /** * Current state of a [`Paginator`]. */ @@ -1899,3 +2310,163 @@ public object FfiConverterOptionalLong: FfiConverterRustBuffer { } } + + + +/** + * @suppress + */ +public object FfiConverterOptionalDouble: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): kotlin.Double? { + if (buf.get().toInt() == 0) { + return null + } + return FfiConverterDouble.read(buf) + } + + override fun allocationSize(value: kotlin.Double?): ULong { + if (value == null) { + return 1UL + } else { + return 1UL + FfiConverterDouble.allocationSize(value) + } + } + + override fun write(value: kotlin.Double?, buf: ByteBuffer) { + if (value == null) { + buf.put(0) + } else { + buf.put(1) + FfiConverterDouble.write(value, buf) + } + } +} + + + + +/** + * @suppress + */ +public object FfiConverterOptionalBoolean: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): kotlin.Boolean? { + if (buf.get().toInt() == 0) { + return null + } + return FfiConverterBoolean.read(buf) + } + + override fun allocationSize(value: kotlin.Boolean?): ULong { + if (value == null) { + return 1UL + } else { + return 1UL + FfiConverterBoolean.allocationSize(value) + } + } + + override fun write(value: kotlin.Boolean?, buf: ByteBuffer) { + if (value == null) { + buf.put(0) + } else { + buf.put(1) + FfiConverterBoolean.write(value, buf) + } + } +} + + + + +/** + * @suppress + */ +public object FfiConverterOptionalString: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): kotlin.String? { + if (buf.get().toInt() == 0) { + return null + } + return FfiConverterString.read(buf) + } + + override fun allocationSize(value: kotlin.String?): ULong { + if (value == null) { + return 1UL + } else { + return 1UL + FfiConverterString.allocationSize(value) + } + } + + override fun write(value: kotlin.String?, buf: ByteBuffer) { + if (value == null) { + buf.put(0) + } else { + buf.put(1) + FfiConverterString.write(value, buf) + } + } +} + + + + +/** + * @suppress + */ +public object FfiConverterOptionalTypeHeaderStyle: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): HeaderStyle? { + if (buf.get().toInt() == 0) { + return null + } + return FfiConverterTypeHeaderStyle.read(buf) + } + + override fun allocationSize(value: HeaderStyle?): ULong { + if (value == null) { + return 1UL + } else { + return 1UL + FfiConverterTypeHeaderStyle.allocationSize(value) + } + } + + override fun write(value: HeaderStyle?, buf: ByteBuffer) { + if (value == null) { + buf.put(0) + } else { + buf.put(1) + FfiConverterTypeHeaderStyle.write(value, buf) + } + } +} + + + + +/** + * @suppress + */ +public object FfiConverterOptionalTypeIntent: FfiConverterRustBuffer { + override fun read(buf: ByteBuffer): Intent? { + if (buf.get().toInt() == 0) { + return null + } + return FfiConverterTypeIntent.read(buf) + } + + override fun allocationSize(value: Intent?): ULong { + if (value == null) { + return 1UL + } else { + return 1UL + FfiConverterTypeIntent.allocationSize(value) + } + } + + override fun write(value: Intent?, buf: ByteBuffer) { + if (value == null) { + buf.put(0) + } else { + buf.put(1) + FfiConverterTypeIntent.write(value, buf) + } + } +} + diff --git a/android/src/main/java/uniffi/matrix_sdk_common/matrix_sdk_common.kt b/android/src/main/java/uniffi/matrix_sdk_common/matrix_sdk_common.kt index 917d7d8..6badcb9 100644 --- a/android/src/main/java/uniffi/matrix_sdk_common/matrix_sdk_common.kt +++ b/android/src/main/java/uniffi/matrix_sdk_common/matrix_sdk_common.kt @@ -1064,7 +1064,12 @@ enum class ShieldStateCode { /** * The sender was previously verified but changed their identity. */ - VERIFICATION_VIOLATION; + VERIFICATION_VIOLATION, + /** + * The `sender` field on the event does not match the owner of the device + * that established the Megolm session. + */ + MISMATCHED_SENDER; companion object } diff --git a/swift/matrix_sdk_ffi.swift b/swift/matrix_sdk_ffi.swift index b83bb5e..c0ca201 100644 --- a/swift/matrix_sdk_ffi.swift +++ b/swift/matrix_sdk_ffi.swift @@ -43555,8 +43555,8 @@ private let initializationResult: InitializationResult = { uniffiCallbackInitVerificationStateListener() uniffiCallbackInitWidgetCapabilitiesProvider() uniffiEnsureMatrixSdkUiInitialized() - uniffiEnsureMatrixSdkInitialized() uniffiEnsureMatrixSdkCryptoInitialized() + uniffiEnsureMatrixSdkInitialized() uniffiEnsureMatrixSdkBaseInitialized() uniffiEnsureMatrixSdkCommonInitialized() return InitializationResult.ok