Commit Graph

2887 Commits

Author SHA1 Message Date
Stefan Ceriu
44712d8c62 Fix multiple server confirmation request crashes and show a modal indicator sooner 2026-02-10 12:17:16 +02:00
Stefan Ceriu
b49bf20c2c Make the PassthroughWindow work correctly on iOS 26
As opposed to passing through all the touches; as per https://stackoverflow.com/a/79768998/730924
2026-02-10 12:17:16 +02:00
ElementRobot
4bf29f4d4f Translations update 2026-02-09 19:16:15 +01:00
Mauro Romito
ff6df211d6 renamed function to resetRoomList 2026-02-09 18:22:41 +01:00
Mauro Romito
ac86d4cfbc 1. Updated the space selection UI 2. Paginate spaces after room creation 3. Pre-selected space creation defaults to space members access. 2026-02-09 18:22:41 +01:00
Doug
6e42071cbe Automatically dismiss UserDetailsEditScreen when saving changes. (#5073) 2026-02-09 15:07:50 +00:00
Stefan Ceriu
33dc0aacaa Show the empty room list state when filtering by a space that has no children. 2026-02-09 15:35:18 +02:00
Hugh Nimmo-Smith
90800440d7 Treat NotFound error as expired in Sign in with QR/Link new device 2026-02-09 14:22:27 +02:00
Doug
94220bf40e Space tweaks. (#5068) 2026-02-09 11:54:41 +00:00
Stefan Ceriu
74f5ab18e9 Fix a retain cycle in the SecureBackupController remoteBackupStateTask
Try to prevent closure crashes we've been seeing in sentry
2026-02-09 11:04:31 +02:00
Doug
9b6324b295 Add boot detection in the NSE and use this to inform the user that there may be more notifications. (#5054)
* Add an initial implementation of the receivedWhileOfflineNotification.

* Only deliver a single receivedWhileOffline notification per boot and clarify the API.

* Add a 15-minute threshold for the receiveWhileOfflineNotification.
2026-02-06 15:18:09 +00:00
Doug
77496934ce Use our own JoinRule type which doesn't include the reserved .private case. (#5056)
* Stop using Rust's JoinRule.private in mocks.

It isn't used anywhere else (see MSC4413 for more context).

* Use our own JoinRule (and AllowRule) types.

* Update ElementX/Sources/Services/Room/JoinRule.swift

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2026-02-06 13:54:53 +00:00
Stefan Ceriu
d480014304 Bump the RustSDK to v26.02.03 (#5051)
Bump the RustSDK to v26.02.03
Fix breaking changes and add support for the new background task error reporting delegate and the new room invite latest event.
2026-02-06 12:08:44 +02:00
Stefan Ceriu
7347c75ba3 Hide the space filters button when not part of any spaces
Also automatically dismiss a selected filter if no longer available i.e. the space has been left.
2026-02-06 10:06:08 +02:00
Stefan Ceriu
a7650786fc Try to prevent timelineProvider timing crashes on update listeners. 2026-02-05 09:22:56 +02:00
Doug
e4b2c235de Fix the bug report size check and a bad swiftlint command. (#5045) 2026-02-03 13:10:49 +00:00
Stefan Ceriu
0b994002cc Prevent crashes when tapping multiple space children in the spaces tab
Also introduce logs for SpaceFlowCoordinator state machine transitions
2026-02-03 14:22:15 +02:00
Stefan Ceriu
2b967a59aa Fix #4853 - Unable to open rooms because of missing bug reporting completion handling. 2026-02-03 13:06:42 +02:00
Doug
dd8f51e065 Fix notification delivery after powering on a device. (#5035)
* Debugging with Notifications.

* Don't run the NSE until the device is unlocked.

* Let the NSE run long enough to deliver the default notification content.

Turns out that exit(0) results in the notification be discarded when you have the notification filtering entitlement.

* Remove debugging notifications.

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2026-02-03 11:04:32 +00:00
Stefan Ceriu
9c256d4598 Fix call service completion handler calls. (#5026)
* Rewrite the CallService's incoming push handling to async

* Revert "Rewrite the CallService's incoming push handling to async"

* Make sure to call the completion blocks on all branches after delivering incoming pushes

Fixes `Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push` crashes
Initially tried replacing the callback based API with the async one but notifications stopped coming in. See associated PR for commits and details.
2026-02-02 17:43:03 +02:00
Stefan Ceriu
53e1cf4ad5 Fix a couple of warnings 2026-02-02 10:37:21 +02:00
ElementRobot
6184312b07 Translations update 2026-02-02 10:37:21 +02:00
Mauro Romito
64009b499f Updated compound icons to match ios 26 designs 2026-01-30 17:33:24 +01:00
Stefan Ceriu
15ff4e497b Add a search bar to the space filters screen 2026-01-30 17:17:49 +02:00
Skye Elliot
fdcf14f282 Display an icon in the room header for rooms with shared history (#5016)
* feat: Display an icon in the room header for rooms with shared history

* fix: Apply suggestions from code review

- Simplifies `isRoomHistoryShared` expressions using type inferrence.
- Adds failure messages to unit test.

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* fix: Remove extension method in favour of field on configuration.

* fix: Distinguish between `shared` and `worldReadable` icons.

* refactor: Use `RoomHistorySharingState` enum with extension methods

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2026-01-30 13:11:10 +00:00
Stefan Ceriu
3d56166da0 Allow redacting the collocutor's messages in DMs (again)
This reverts https://github.com/element-hq/element-x-ios/pull/2368 as the behavior didn't make it to any of our other clients.
2026-01-30 15:07:44 +02:00
Stefan Ceriu
fcee23d519 Clean up the Signposter implementation and align on new metrics 2026-01-30 13:19:05 +02:00
Stefan Ceriu
290721ad90 Align with android on sentry settings. 2026-01-30 13:19:05 +02:00
Doug
633bd65177 Fix a bug where the app wouldn't retry when the server rate-limits its requests. (#5022)
Change the retry limit to 3.

Without this the SDK immediately fails when rate-limited instead of waiting and trying again.
2026-01-30 10:37:23 +00:00
Doug
8ef06cd2f4 Tidy-up FormattedBodyText and MessageBubbleLayout. (#5019)
* Tidy-up FormattedBodyText.

* Switch TimelineBubbleLayout.Priority from .layoutPriority to .layoutValue.

* Rename TimelineBubbleLayout.Priority to TimelineBubbleLayout.Size
2026-01-30 10:26:36 +00:00
Stefan Ceriu
76b2b9cdc9 Reduce the default number of room list items to 100
.. because really, that's more than enough.
2026-01-29 21:10:27 +02:00
Doug
3f35a3c197 Don't bother compressing really large log files just to throw them away. (#5021) 2026-01-29 12:20:31 +00:00
Mauro Romito
be81e03721 pr suggestions 2026-01-28 15:42:17 +01:00
Mauro Romito
d2fa71c37f refactored the flows to use a state and an event for the transfer ownership screen 2026-01-28 15:42:17 +01:00
Mauro Romito
b3a4929243 implemented the presentation of transfer ownership screen from the space flow and update UI and preview tests 2026-01-28 15:42:17 +01:00
Mauro Romito
ff4e90465e implemented the logic to transfer ownership from a space 2026-01-28 15:42:17 +01:00
Doug
97048b750a Fix inline code being rendered as blocks. (#5017)
* Fix inline code being rendered as blocks.

And make blocks non-greedy as well as only scrolling when needed.

* Rename the bubble layout priorities.

* Add an InlineCode attribute so that the builder also strips links from these too.

* Split up the snapshot tests into individual cases.

This should make it much easier to see *what* has changed when regenerating.
2026-01-28 11:46:13 +00:00
Doug
76f4f5f35f Update the crypto strings. (#5009) 2026-01-27 11:32:52 +00:00
Stefan Ceriu
04053ae69b Update files following swiftformat upgrade 2026-01-27 12:50:57 +02:00
Stefan Ceriu
b08da80e18 Fix incorrect empty lines in doc comments 2026-01-27 12:50:57 +02:00
Skye Elliot
67497408b4 Remove "history may be shared banner" (#4999)
* Revert "Do not show history visible banner when the user cannot send messages. (#4892)"

This reverts commit 6117ee3a2b.

* Revert "Add a banner to encrypted rooms with visible history. (#4851)"

This reverts commit ae38dc54d4.
2026-01-26 14:59:48 +00:00
Stefan Ceriu
11af2bb0ca Horizontally scrollable code blocks (#5001)
* Remove attributed string backed codeblock background color

* Add code block support to attributed string componentization

* Render code blocks within their own custom horizontal scroll view within the timeline

* Update preview test snapshots

* Introduce a attributed string component type instead of a 2 different booleans.
2026-01-26 12:39:55 +02:00
ElementRobot
184dd5cf7f Translations update (#5008) 2026-01-26 09:54:00 +00:00
Doug
cdf615ae5f Remove the protocol for SpaceServiceRoom given its a struct type. (#5000)
* Remove the protocol for SpaceServiceRoom given its a struct type.

* Fix a few missed mocks in the unit tests.
2026-01-26 09:45:46 +00:00
Doug
06e1a71098 Make sure the selected/available rooms are updated when adding space children fails part way through. (#4997)
* Make sure the available rooms are updated if adding space children fails part way through.

* Additionally handle the case where removing rooms fails part way through.
2026-01-23 17:36:26 +00:00
Mauro Romito
80227edb04 updated the SDK and included the fix for leaving a space when the last owner of a non empty space 2026-01-23 17:49:07 +01:00
Mauro Romito
a14214b3f6 pr suggestions 2026-01-23 15:18:55 +01:00
Mauro Romito
8090c4a078 added the create button in the empty state of the space screen and refactored some code 2026-01-23 15:18:55 +01:00
Mauro Romito
2fdc37ce72 implemented the flow to create room in a selected space 2026-01-23 15:18:55 +01:00
Mauro Romito
ac302f1b57 Implemented adding the room to the space after selection, and the editableSpace proxied API. Also updated and added tests. 2026-01-23 15:18:55 +01:00