4476 Commits

Author SHA1 Message Date
Stefan Ceriu 54a4656469 Apply the logic from the previous commit and the JoinRoomProxy to the KnockedRoomProxy 2025-05-26 13:22:57 +03:00
Stefan Ceriu ae42540ec0 Bump the RustSDK to v25.05.26 and handle breaking changes
- the new sentry integration will be handled in #4145
2025-05-26 13:22:57 +03:00
Stefan Ceriu a7c4a32285 Pass the full room into the invited room proxy and stop automatically retrieving the preview
- this will help speed up leaving invites but also stop fetching previews twice in the join room screen
2025-05-26 13:22:57 +03:00
Stefan Ceriu 29cfcb0b85 Better document the various protocols and classes involved in dealing with room timelines. 2025-05-23 16:08:18 +03:00
Stefan Ceriu 972084aaf7 Rename the TimelineProvider to TimelineItemProvider 2025-05-23 16:08:18 +03:00
Stefan Ceriu d058e7cd25 Introduce a new SwiftUI TimelineView layer (wrapping the representable) to hold all the timeline specific bindings that are currently duplicated throughout the screens a timeline is used. 2025-05-23 16:08:18 +03:00
renovate[bot] 4bcdf58e3b Update codecov/test-results-action action to v1.1.1 2025-05-23 09:35:44 +03:00
Stefan Ceriu 250a7ed451 Move the pinned timeline in line with the other timeline creation methods and have it report errors just like the others 2025-05-22 18:14:55 +03:00
Stefan Ceriu 909aa086f2 Bump the SDK to 25.05.21 and adopt the new way of dealing with timelines and delegates.
The room list items no longer hold any timeline instances and they can now be created through the normal `room.timelineWithConfiguration` mechanism.
This also means that we can move the UTD hook away from the sync service and into the client itself but setting it is now fallible as it can only be set once.
2025-05-22 18:14:55 +03:00
Element CI 7e5f9f1e17 Prepare next release 2025-05-21 06:30:19 -07:00
Doug d76b76d041 Don't group timeline items if more than 5 minutes has passed. (#4138)
Matches the behaviour on web.
2025-05-21 10:34:22 +01:00
Stefan Ceriu de5dbdcdf8 Fix Type 'MXLog' has no member 'dev' CI error 2025-05-21 09:06:32 +03:00
Doug 5197e41928 Show an account provider picker on the server confirmation screen when required. (#4137)
* Add a picker mode to the ServerConfirmationScreen.

* Hook up the account provider picker in authentication the flow.

Simplify the authentication flow coordinator, removing the restricted state.

* UI/Snapshot tests.
2025-05-20 17:21:08 +01:00
Mauro Romito 18519c15dd integration tests: support for the bottom sheet 2025-05-20 17:39:12 +02:00
Velin92 a618f140ed Translations update 2025-05-20 13:01:35 +02:00
Doug 390553f5fe Allow the app to be configured to bypass the server selection screen. (#4131)
* Make account provider configuration more flexible.

- Change defaultHomeserverAddress to an array of providers (needs UI).
- Add allowOtherAccountProviders to prevent the user from manually entering a provider.

* Refactor QR code scan failures into a common type.

* Validate scanned QR codes against the allowed account providers.

* Hide the login flow on the QR code screen when restricted.
2025-05-20 11:09:50 +01:00
Stefan Ceriu 10fb2b5dda Add mechanism for opening up a threaded timeline 2025-05-20 12:18:55 +03:00
Hugh Nimmo-Smith 2f938d3cbf Send full user agent header to server during OIDC authentication and when viewing Account and Device management screens (#4106) 2025-05-19 15:09:11 +00:00
Mauro Romito 693d6130ad updated the SDK to 25.05.19 2025-05-19 16:34:37 +02:00
renovate[bot] ca3ac9b21c Update dependency jpsim/Yams to v6 (#4124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 15:24:24 +01:00
Mauro 9a8819ac26 Always open manage member sheet (#4110)
* always open manage member sheet

* Update ElementX/Sources/Screens/ManageRoomMemberSheet/ManageRoomMemberSheetModels.swift

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

* Update ElementX/Sources/Screens/ManageRoomMemberSheet/ManageRoomMemberSheetModels.swift

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

* pr suggestions and handled the buttons actions correctly

* Update ElementX/Sources/Screens/ManageRoomMemberSheet/View/ManageRoomMemberSheetView.swift

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

* fixed some compilation errors

* added some documentation

* using a struct instead of a protocol

* using arguments instead of a struct

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2025-05-19 14:17:57 +00:00
Mauro Romito 4f4b4b236d using stable 1.18.3 snapshot testing 2025-05-19 15:48:51 +02:00
Stefan Ceriu 35f615ddd1 Observe room info updates and automatically dismiss the room if meanwhile left or banned (#4122)
* Fix #3302 - Observe room info updates and automatically dismiss the room if meanwhile left or banned.
2025-05-16 12:55:33 +03:00
Doug f5089e8d81 Update the SDK. 2025-05-16 09:58:05 +03:00
Doug 927df0be2c Project tweaks (layout & docs) (#4121)
* Re-order the project groups.

* Update the instructions in FORKING.md.
2025-05-15 14:39:08 +01:00
renovate[bot] b2a37ec9d3 Update dependency jpsim/Yams to from: "5.4.0" 2025-05-14 08:30:49 +03:00
Stefan Ceriu 5af330cf6e Fix various small errors when running in the Swift 6 language mode (#4109)
* Fix various small errors when running in the Swift 6 language mode

* Make the `TargetConfiguration` run on the main actor.

* Fixed a comment

* Add a comment as to why we can't make the whole NSE a main actor.

* Fix the unit tests

* Fix `blankLinesAtStartOfScope` swiftformat error.
2025-05-13 11:43:47 +03:00
Stefan Ceriu e1984ccdc0 Fix room list heroes label format
- change from `Alice, Bob and Charlie` to `Alice, Bob, Charlie and 42 others` (when applicable)
2025-05-12 19:40:14 +03:00
Doug 876618d557 Add support for Account Provisioning links. (#4108)
* Add support for account provisioning links and route them to the authentication flow.

* Use the provisioning parameters to configure the authentication flow.

* Add UI tests for the provisioned authentication flow.

* Record new preview snapshots.

* Add unit tests.

* Make the domain configurable in the app settings.

* Use the loginHint in the login screen too.
2025-05-12 13:28:34 +01:00
Stefan Ceriu e795d07477 Stop generating the fastlane readme and delete the existing one 2025-05-12 15:07:46 +03:00
Stefan Ceriu 06e7919b56 Remove support for building Alpha/PR (adhoc) builds.
We've haven't really been using these and they're proving to be quite a chore to keep running.
Also, we recently needed an external demo build and we chose to go with custom build on top of testflight instead.

As such it's been decided that we can go ahead and remove them.
2025-05-12 15:07:46 +03:00
pixlwave bc1cd400c1 Translations update 2025-05-12 09:24:20 +03:00
Mauro Romito 36242bc271 added argument to voice over on the search bar automatically
- also removed the geomtry reader in favour of a `readWidth` function
2025-05-09 10:18:34 +02:00
Doug 489f784640 Add a state machine to the AuthenticationFlowCoordinator. (#4103) 2025-05-08 15:41:52 +01:00
Stefan Ceriu d77bad61dd Fixes #3484 - Correctly interpret application state transitions for the screen lock when running on the Mac 2025-05-08 17:40:21 +03:00
Element CI 08a7a50691 Prepare next release 2025-05-07 07:47:24 -07:00
Doug d47d1345cd Update the SDK. (#4100) 2025-05-07 15:31:15 +01:00
Mauro Romito 11cdbd801a updated enterprise 2025-05-07 12:23:21 +02:00
Mauro Romito 895210cde9 updated learn more link in identity confirmation 2025-05-07 11:42:13 +02:00
Element CI fb5f7c2b2f Prepare next release 2025-05-06 03:54:28 -07:00
Doug e7405a8520 Bump the version to 25.05. (#4093) 2025-05-06 10:42:37 +01:00
renovate[bot] 482aae1ddb Update dependency fastlane to v2.227.2 2025-05-06 08:15:27 +03:00
Doug 744ed83bae Add a tool (based on Periphery) that reports any unused strings. 2025-05-05 10:01:59 +03:00
stefanceriu 34f9538c9b Translations update 2025-05-05 10:01:43 +03:00
Stefan Ceriu 0c5be93a75 Move where the developer options are shown and store them in the app settings. 2025-05-02 15:13:59 +03:00
Doug eaa6dd9240 Run the UI & Integration tests once a day instead of twice with a 6 hour offset. (#4086) 2025-05-02 13:12:49 +01:00
Doug d47c802fec Fix the UI tests. (#4085)
* Compile errors 😬

* Update server selection snapshots.

The default footer string has changed.

* Remove the TemplateScreen UI tests.

We use preview tests for snapshots now, UI tests are for flow coordinators.

* Add the same looping on the OIDC UI test (but disable the test in the end).

* Run UI tests separately for iPhone and iPad.

GitHub runners don't seem to have enough memory to handle 2 simulators at once.
2025-05-02 12:47:31 +01:00
Stefan Ceriu 5053a37eea Always set the push notification badge, even if the unread count is missing. 2025-05-02 11:41:46 +03:00
Stefan Ceriu 2f5c447cc4 Fix compilation errors - make sure we update the push notification badge using the received, server-provided unread count. 2025-05-02 11:27:49 +03:00
Stefan Ceriu a625ad0ee6 Make sure we update the push notification badge using the received, server-provided unread count. 2025-05-02 11:18:10 +03:00