3309 Commits

Author SHA1 Message Date
Doug 5762e1c537 Stop showing the sliding sync proxy alert to any remaining users.
The session will simply fail to restore and the restoration token deleted.
2025-07-30 14:42:59 +01:00
Stefan Ceriu df335bd2b1 Multi file uploads (#4358)
* Allow MediaPickerScreen users to select the media selection mode (single or multiple)

* Fix cancellation

* Add support for multiple media URLs on the MediaUploadPreviewScreen.

* Support processing more URLs on the `MediaUploadingPreprocessor` and sending more on the `MediaUploadPreviewScreen`

* Add feature flag for `multipleAttachmentUploadEnabled`

* Add a label showing the current preview item index in the MediaUploadPreviewScreen

* Add support for dragging and dropping or pasting multiple items at the same time.

* Support sharing more than one file through the share extension.

* Limit the number of items that can be shared in one go to 5.

* Fix unit tests

* Fix incorrect fatal error when dealing with single selection media pickers.

* Document the `multipleAttachmentUploadEnabled` usage in the context of the MediaPicker.

* Use a task group for processing selected media in the photo library picker.

* Use a task group for processing multiple selected media in the MediaUploadingPreprocessor

* Switch the maximum number of items that can be shared to 10.

* Allow multiple items to be pasted at the same time.
2025-07-30 15:44:05 +03:00
Doug 01033cf53e Add support for Space avatars. (#4362) 2025-07-29 12:20:13 +01:00
Doug 75bc26d20b Use the maxUploadSize in the media upload screen. (#4359)
* Fix a bug where some files sizes were sent as 0.

* Make FileManger.sizeForItem(at:) a UInt.

The docs specifically say that FileAttributeKey.size returns an unsigned long long so I have no idea why we were returning a Double here…

* Add the maxMediaUploadSize property on ClientProxy.

* Use the maxUploadSize to set a target video size and to show a file too big error.

* Refactor media upload parameter order.
2025-07-29 12:18:53 +01:00
Stefan Ceriu 82c7dfe28d Update message composer design for unencrypted rooms (#4361)
* Update message composer design for unencrypted rooms.
* Move the encryption banner to the composer toolbar.
2025-07-28 19:21:13 +03:00
Doug 64978986f2 Add some logs to help debug waiting for rooms. (#4360) 2025-07-28 12:07:04 +00:00
ElementRobot 54bbd2e3ed Translations update (#4357) 2025-07-28 08:48:39 +01:00
Doug 0824fedd6e Re-enable share_pos persistance. (#4355) 2025-07-25 12:12:48 +00:00
Doug 095d927498 Refactor LoggingTests utilising Rust's new ability to redirect log files at runtime. (#4353) 2025-07-25 08:54:36 +01:00
Stefan Ceriu abc731e299 Flatten out element well known data fetching 2025-07-24 14:55:34 +03:00
Stefan Ceriu 1a7f58711b Have the EmojiPicker screen take in a TimelineController similar to all the other flows. 2025-07-24 14:55:34 +03:00
Stefan Ceriu c53e3ef18d Improve fatal error descriptions when missing room flow coordinator transition TimelineControllers. 2025-07-24 14:55:34 +03:00
Stefan Ceriu 128f4f2110 Improve attachment sending methods signatures 2025-07-24 14:55:34 +03:00
Stefan Ceriu 602a13fec8 Stop checking the report reason for empty. 2025-07-24 14:55:34 +03:00
Stefan Ceriu 43d3282d90 Bump the RustSDK to v25.07.23 2025-07-24 14:55:34 +03:00
Stefan Ceriu bfcb52ced0 Enable polls in threads as the SDK supports them now. 2025-07-24 14:55:34 +03:00
Stefan Ceriu bd49500fa1 Fix various new SDK breaking changes. 2025-07-24 14:55:34 +03:00
Stefan Ceriu ffe2f726e7 Interact with polls through the TimelineController as well (creation still disabled on threaded timeline as it's not yet supported by the SDK) 2025-07-24 14:55:34 +03:00
Stefan Ceriu 324a203086 Use the new TimelineController message sending methods for sending locations 2025-07-24 14:55:34 +03:00
Stefan Ceriu 60b8b04142 Fix incorrect expectations on TimelineController availability when processing room presentations. 2025-07-24 14:55:34 +03:00
Stefan Ceriu fb40bfd690 Use the new TimelineController message sending methods for media uploads. 2025-07-24 14:55:34 +03:00
Stefan Ceriu 35195abc35 Add message sending methods to the TimelineController that will automatically use the correct timeline proxy instance internally. 2025-07-24 14:55:34 +03:00
Stefan Ceriu a4c0b7f91c Reorder the TimelineController send methods 2025-07-24 14:55:34 +03:00
Stefan Ceriu cedb2936d0 Fix Cannot explicitly specialize instance method 'deferFulfillment(_:timeout:message:until:) warning 2025-07-24 14:55:34 +03:00
Stefan Ceriu 8bff9ecad3 Remove the threadRootEventID parameter from the actions the ThreadTimelineScreenCoordinator forwards 2025-07-24 14:55:34 +03:00
Stefan Ceriu 1fc15a220d Remove the threadRootEventID associated value from all the RoomFlowCoordinatorStateMachine states and replace them with a UserInfo passed TimelineController. 2025-07-24 14:55:34 +03:00
Stefan Ceriu 3fcbc8c60a Transition voice messages to the new in thread sending mechanism 2025-07-24 14:55:34 +03:00
Stefan Ceriu ed98f64a35 Remove threadRootEventID parameters from TimelineProxy send methods. This is now handled internally to the SDK as long as the right timeline instance is used. 2025-07-24 14:55:34 +03:00
Doug d6f7607538 Update the default logs directory and allow collection from elsewhere. (#4352)
* Replace deprecated URL methods.

* Start putting log files in Library/Logs (moving existing files with a migration.)

* Make Tracing.deleteLogFiles aware of the legacy logs location.

* Allow the logs to be collected from a different directory.
2025-07-24 09:49:29 +01:00
Doug 76e83462a8 Add a TracingHook. (#4345) 2025-07-23 14:29:31 +01:00
Doug 5e165be8c3 Make the remote settings hook usable within the app extensions. (#4342) 2025-07-22 17:09:53 +01:00
Doug 82c659f3da Refactor Rageshake URL and Target configuration. (#4337)
* Move the rageshakeURL configuration from the BugReportService to AppSettings.

* Refactor Target to return a handle when configuring.

This helps with reconfiguration and removes the @MainActor constraint.
2025-07-22 10:19:26 +01:00
Mauro Romito 97f517129f hit region issues were caused by dynamic type checks not working properly, so they have been removed 2025-07-21 20:11:18 +02:00
Mauro Romito 8a66cbad68 - improved detection of false positives for dynamic type size
- improved also a11y for the knock request message
- improved a11y for reply view
2025-07-21 20:11:18 +02:00
Mauro Romito dac4c985d6 tombstoned room a11y label 2025-07-21 20:11:18 +02:00
Mauro Romito 1064a9f908 improve threads summary view a11y 2025-07-21 20:11:18 +02:00
Mauro Romito 8845324e71 session verification request details is grouped and the avatar has its accessibility hidden 2025-07-21 20:11:18 +02:00
Mauro Romito 2074743eec hide accessibility for empty rectangles in RoomSelectionScreen 2025-07-21 20:11:18 +02:00
Mauro Romito 63ac589ded improve a11y in room change role selection screen 2025-07-21 20:11:18 +02:00
Mauro Romito f45a5f814e read receipt cell should be grouped and the avatar accessibility hidden 2025-07-21 20:11:18 +02:00
Mauro Romito e035947355 hide accessibility for info icon in notification settings screen 2025-07-21 20:11:18 +02:00
Mauro Romito 8f303e50d0 remove accessibility for hidden rectangles 2025-07-21 20:11:18 +02:00
Mauro Romito 5905bc1e76 increas hit area for the media preview upload warning, and hide accessibility for the avatar in the mention suggestions view 2025-07-21 20:11:18 +02:00
Mauro Romito a547782e94 hide accessibility for the avatar in the join room screen 2025-07-21 20:11:18 +02:00
Mauro Romito 5c030f6682 hide accessibility when the home screen cell is in placeholder mode 2025-07-21 20:11:18 +02:00
Mauro Romito 9c52334772 voice over can now read the screenshot in bug report screen 2025-07-21 20:11:18 +02:00
Mauro Romito 84ccf85441 increase hit area of the close button of the key recovery banner 2025-07-21 20:11:18 +02:00
Mauro Romito 8e2131b5ed added a placeholder to the pin text field to describe its content in voice over mode 2025-07-21 20:11:18 +02:00
Mauro Romito 20f897256c fixes 2025-07-21 20:11:18 +02:00
ElementRobot 57469fb8eb Translations update (#4334) 2025-07-21 09:55:32 +01:00