1375 Commits

Author SHA1 Message Date
Mauro Romito 4f4b4b236d using stable 1.18.3 snapshot testing 2025-05-19 15:48:51 +02: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
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
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
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
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 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 0620bd45fc Flatten out the NSE file structure and switch room fetching to the notificationClient instead of the base one
- the notification client uses its internal in-memory store backed client which has up to date data after running the sliding sync loop
- see https://github.com/matrix-org/matrix-rust-sdk/pull/4991 for more details
2025-04-30 12:33:20 +02:00
Mauro Romito c333e264e3 update SDK to 25.04.30 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 690ff3caa6 Rely on the room's info to decide whether a call ringing notification is outdated and should be ignored as opposed to a time based approach. 2025-04-29 19:45:55 +03:00
Element CI cdcdb1bfb1 Prepare next release 2025-04-22 04:43:32 -07:00
Mauro 4179f56633 support for UI tests on Xcode 16.3 2025-04-17 15:18:37 +02:00
Stefan Ceriu 308d7bad30 Introduce a NotificationHandler object to split out notification content handling from the rest of the NSE core logic. 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
Mauro 85a7172986 Xcode16.3 support (#4029)
* Xcode16.3 support + updated unit and preview test
2025-04-16 19:12:31 +02: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 5b0038563d Add the new emoji from iOS 18.4 to the reaction picker. (#4023)
As we're still running tests on 18.1 the snapshots look slightly wrong but it's fine when running on 18.4.
2025-04-14 14:35:58 +01: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 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 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
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
Element CI aaea51e3f1 Prepare next release 2025-04-10 03:35:08 -07:00
Element CI ccac0be3ae Prepare next release 2025-04-10 02:41:05 -07:00
Mauro Romito 58a0709a1b bump to 25.04.2 and improved migration code 2025-04-09 18:55:34 +02:00
Mauro Romito 0e7533145a refactor: manage member sheet in timeline
better implementation

updated tests

Update ElementX/Sources/Screens/Timeline/TimelineViewModel.swift

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

fix
2025-04-09 15:03:54 +02:00
Element CI 6fca1508cb Prepare next release 2025-04-08 04:23:38 -07:00
Doug f7d574291d Prepare for version 25.04.x. (#3994) 2025-04-08 11:05:13 +01:00
Stefan Ceriu c9dc7e63c5 Bump the RustSDK to v25.04.08, fix breaking changes 2025-04-08 12:23:37 +03:00
Mauro Romito d92fecdc7e feat: decline and block screen
fix

improvement

fix conflict

fix tests

tests
2025-04-07 18:52:56 +02:00
Mauro Romito 2ee5c1b403 feat: report a room
updated tests

updated tests

added a feature flag to report room

removed delay

rename
2025-04-07 17:17:08 +02:00
Doug 806816be8a Add a Compound hook. (#3979)
* Rename AppHooksProtocol.configure() to .setUp().

* Add a CompoundHook.
2025-04-04 17:46:31 +01:00
Stefan Ceriu 62636d8378 Bump the RustSDK to v25.04.02 2025-04-03 18:08:34 +03:00
Mauro Romito 620616da63 updated EC to 0.9.0 2025-04-01 16:34:41 +02:00
Stefan Ceriu 901c833c40 Bump the RustSDK to v25.03.31
- adopt new async throwing methods
- use the sdk side TimelineStart virtual timeline item
- remove async from `directRoomForUserID` as it's not async on the rust side
- remove async from `retryDecryption` as it's spawning not blocking on the rust side
2025-04-01 13:12:29 +03:00
Doug 5e50823223 Allow the services that are configured by secrets to be disabled. (#3961)
* Make the map tiler key optional.

* Make the bug report URL optional.

* Make the sentry URL optional.

* Make the analytics configuration optional and handle consent taking Sentry into account.

* Stop prompting users to report crashes when Sentry is disabled.
2025-04-01 09:24:12 +01:00
Mauro Romito 96abaf7226 fix: update compound to fix pickers and toggles
in list forms
2025-03-28 10:12:18 +01:00
Element CI 089d1faaec Prepare next release 2025-03-27 06:53:19 -07:00
Doug 51886b0c78 Refactor the MapTiler configuration into a single place. (#3944)
* Refactor the MapTiler configuration into a single place.

* Merge the MapAssets catalog into the normal one.
2025-03-26 14:39:09 +00:00
Element CI e0edafc48e Prepare next release 2025-03-26 05:47:53 -07:00
Mauro Romito 98a95342d0 EC update and improvements
Use .startCall intent, and always pass rageshakeURL to the widget

Updated EC to 0.9.0-rc.4

rageshakeURL is now a parameter
2025-03-26 13:13:28 +01:00
Element CI 0f353447b5 Prepare next release 2025-03-25 09:46:52 -07:00