Commit Graph

3637 Commits

Author SHA1 Message Date
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
Doug 3262fb4cab Fix the integration tests. (#4084)
* Fix logging/alerts during OIDC cancellation.

- Cancelling from within the web view wasn't being handled since moving the UserIndicatorController into the presenter.
- The WAS canceledLogin error code is also used when the system cancels the login. When the system cancels there's a failure reason included in the error.

* Allow UI tests to tap on any point within a view.

* Make the homeserver optional in integration tests.

* Dismiss the keyboard after entering a username to reveal the password text field.

Do the same after entering the password field too, just in case.

* Add a loop while waiting for the WAS prompt to be shown.
2025-05-01 12:07:04 +01:00
Doug d45b232072 Adopt StateStoreViewModelV2 in the authentication screens and some settings screens. (#4083)
* Add some tests for DeferredFulfillment with Observation.

* Use StateStoreViewModelV2 in AuthenticationStartScreen.

* Use StateStoreViewModelV2 in ServerConfirmationScreen.

* Use StateStoreViewModelV2 in ServerSelectionScreen.

* Use StateStoreViewModelV2 in SoftLogoutScreen.

* Use StateStoreViewModelV2 in SettingsScreen.

* Use StateStoreViewModelV2 in DeveloperOptionsScreen.

* Use StateStoreViewModelV2 in AdvancedSettingsScreen.
2025-05-01 09:35:59 +01:00
Doug 61a427b8e5 Update the template screen to use the new(ish) Observation framework. (#4077)
* Update the template screen to use the new(ish) Observation framework.

* Add a variant of deferFulfillment that supports observables.

* Update snapshot fulfilment to work with either a publisher or a stream.
2025-04-30 16:49:23 +01:00
Stefan Ceriu 7391da7fa2 Update the generated SDK mocks. 2025-04-30 12:33:20 +02:00
Mauro Romito 0f53ad6724 updated SDK and improved report flow
the report flow is now based on the matrix version and the new one will only be used if the SDK checks if the server supports it.
2025-04-30 11:41:19 +02:00
Stefan Ceriu cad21daeea Replace the old RoomInfoUpdateListener with the SDKListener 2025-04-29 19:45:55 +03:00
Stefan Ceriu 4e2e2649fc Set a total request max retry time for network requests originating in the notification service extension. 2025-04-29 19:45:55 +03:00
Stefan Ceriu 6c8cb2bbe5 Increase the duration after which a call notification is considered outdated. 2025-04-29 19:45:55 +03:00
Stefan Ceriu 0ff72fc5a1 Reduce the timeout for network requests originating in the notification service extension 2025-04-29 19:45:55 +03:00
Doug 58b982a8f8 Disable the composer when you don't have the power to post. (#4076) 2025-04-29 10:12:20 +01:00
Stefan Ceriu 41b18cfd52 Remove now unnecessary RoomListSummary lastMessageFormattedTimestamp 2025-04-28 18:51:13 +03:00
Stefan Ceriu 899c33a5ad Remove delivered notifications for rooms that have meantime become fully read and have messages newer than what's delivered
- this is a best effort solution to cleanup outdated notifications when using multiple clients and reading them elsewhere
2025-04-28 18:51:13 +03:00
Doug e14672e1f6 Dismiss room invite notifications when rejecting them from the home screen. (#4074) 2025-04-28 16:33:49 +01:00
Mauro Romito 8091d9c2a6 possible fix for flaky UI tests
- increased the time for the oidc selection alert check
- for the poll screen creation, in the test only we reduced the number of options to 10
2025-04-28 15:53:09 +02:00
Mauro Romito cbb509254b UI tests fix 2025-04-28 15:53:09 +02:00
Doug b14729cdd2 Show the kick/ban reason in the timeline. (#4071) 2025-04-28 12:17:45 +01:00
Doug dac1e62e14 Remove the Learn More URL for the sliding sync proxy. (#4070) 2025-04-28 12:17:20 +01:00
ElementRobot 6b50ed7982 Translations update (#4068)
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>
2025-04-28 09:28:36 +01:00
Doug d158e256db Remove the support email address from the OIDC configuration. (#4059)
The contacts property has been removed from the SDK.
2025-04-23 09:24:53 +01:00
ElementRobot 3d0accc4cf Translations update (#4047) 2025-04-22 12:27:11 +01:00
Mauro 7183b0fe19 Report room and decline & block screens tweaks (#4044)
* report rom and decline and block screens tweaks

- Use the copies: "Leave room" and "Report room" everywhere, also in DMs
- Report reason in report room is now mandatory.
- Report reason in decline and block is now mandatory if the report action is set to on.
- Generic alert for failure of main API in both report room and decline and block has been added

* report room and decline and block screen previews
2025-04-22 10:44:20 +01:00
Doug 5ff9072331 Tweak the size of the new bloom to match Figma better. (#4039)
Also increase the resolution to reduce banding.
2025-04-17 14:30:33 +01:00
Stefan Ceriu c33a164354 Remove unused removeDeliveredInviteNotifications NotificationManager method 2025-04-17 15:24:12 +03:00
Stefan Ceriu aaed6db0ea Extract NSE specific code out of the UNNotificationContent extension 2025-04-17 15:24:12 +03:00
Stefan Ceriu 5ad25d8492 Refactor the NSE so that the original notification content is preserved between all the different processing steps
- building brand new content is probably interfering with how iOS syncs up delivered and seen notifications between devices
- simplify all the various steps and make the flows easier to follow
2025-04-17 15:24:12 +03:00
Doug 7cf1d08b20 Fix a bug where your own emotes showed as '* You emoted'. (#4038) 2025-04-17 12:39:41 +01:00
Doug 4079549803 Update the 3rd-party acknowledgements. (#4037) 2025-04-17 11:43:54 +01:00
Doug 5ba070d4d0 Add the new bloom style under a feature flag. (#4033)
* Refactor the bloom into a modifier.

It currently depends on the home screen context but that will be removed in the future.

* Add an initial implementation of the new bloom using an image on the navigation item's appearance.

* Add a feature flag to control the new bloom.
2025-04-16 16:36:19 +01:00
Stefan Ceriu 806d676299 Introduce a TimelineItemThreadSummary object (#4032)
* Introduce a `TimelineItemThreadSummary` object to hold details about threads starting from that particular item

This patch introduces a thread summary object that will be available on main timeline messages that are the root for a given thread.
It currently provides the latest message content and sender for that thread but it will grow to provide info on the number of replies, unreads etc.

It also add a new UI component called `TimelineThreadSummaryView` that makes use of this data and is in turn used by the bubbled styler to render it in the timeline.

The rest of the PR is about refactoring on the `RoomTimelineItemFactory` so that replies and thread summaries use similar paths and builders.

* Add a feature flag for threads

* Address PR comments

* Converge on single implementation for message previews
2025-04-16 16:19:29 +03:00
Doug 8c9773e4de Refactor SecureBackupControllerListener into SDKListener and use it everywhere. (#4030) 2025-04-16 08:36:57 +01:00
Doug c5bb960234 Show internet connection warning when uploading keys on log out. (#4027)
* Show the key upload progress when waiting to log out.

Add some basic view model tests too.

* Show a network suggestion if key upload doesn't report any progress during logout.
2025-04-15 16:47:31 +01:00
Mauro Romito a6dadc1cf3 change: specific report copy for DMs 2025-04-14 15:35:08 +02:00
Doug 542dbd82b9 Prefix the user's own messages with 'You' in the room list. (#4022) 2025-04-14 14:00:19 +01:00
Mauro Romito 9d53b29902 sdk: update to 25.04.14 2025-04-14 14:15:42 +02:00
Doug 4f4729b8df Stop showing the canonical alias for invites in the room list. (#4020) 2025-04-14 10:42:21 +01:00
ElementRobot 8254aad579 Translations update (#4018)
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>
2025-04-14 08:40:03 +01:00
Doug a5d94a0219 Adopt the new start chat button design. (#4013)
* Update compound and handle plain to tertiary/textLink button style updates.

* Update the start chat button to use the right icon/style.

* Update preview snapshots.

* Fix remaining snapshots.
2025-04-11 17:09:57 +01:00
Doug 511c4d7bf7 Fix authentication activity indicators when the authentication server is being slow
* Fetch the OIDC login URL as part of the Server Confirmation screen.

The loading indicator would show and hide while configuring and then immediately show again while fetching the URL.

* Allow the OIDCAuthenticationPresenter to show its own errors.

We no longer need to present errors in the authentication flow coordinator.
2025-04-11 11:22:39 +01:00
Doug 1557054753 Simplify authentication logic
matrix.org now supports MAS so we don't need the web registration helper anymore.
2025-04-11 11:22:39 +01:00
Mauro Romito b2c647b1af change: decline and block design tweaks 2025-04-11 11:45:44 +02:00
Mauro Romito 88397792cf change: stricter private timeline media visibility 2025-04-11 10:12:25 +02:00
Mauro Romito 2990b7b890 external keyboard support for PIN input 2025-04-11 10:10:55 +02:00
Stefan Ceriu 83136af7c4 Bump the SDK and adopt the new MsgLike timeline item types (#4000)
* Bump the RustSDK to v25.04.09

* Adopt new MsgLike based timeline item structure.

* Move the `replyDetails` and `isThreaded` to the `RoomTimelineItemProperties`

* Restructure the TimelineItemFactory

* Fix line length warning

* Rename `msgLikeContent` to `messageLikeContent` wherever possible.

* Move the `EventTimelineItem` mocks to the SDK mocks folder.
2025-04-10 14:04:16 +03:00
Stefan Ceriu 4af5f7abfe Manually enable the event cache as the default enabling hasn't made it to the RustSDK yet 🤦‍♂️
- https://github.com/matrix-org/matrix-rust-sdk/pull/4308
2025-04-10 12:12:46 +03:00
Doug 9ba4048462 Only use the appGroupTemporaryDirectory to access a file from the share extension. (#4002)
… and switch back to the plain `URL.temporaryDirectory` for everything else.

* Fix documentation

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2025-04-10 09:56:25 +01:00
Mauro Romito 58a0709a1b bump to 25.04.2 and improved migration code 2025-04-09 18:55:34 +02:00
Mauro Romito e5e7fc6c55 updated preview tests 2025-04-09 18:55:34 +02:00
Mauro Romito bf875a23ce change: hiding timeline media has three options 2025-04-09 18:55:34 +02:00
Stefan Ceriu fe9cb2e2f0 Setup the client media retention policy 2025-04-09 16:54:32 +03:00