Commit Graph

1457 Commits

Author SHA1 Message Date
Stefan Ceriu 89927f1357 Fix #2652 - Room list looping and fighting scrolling after filtering
- also fixes filtering empty state vertical centering
2024-04-23 12:18:00 +03:00
Stefan Ceriu 23d5089287 Fix broken iPhone room push animation after disabling root fading for the iPad 2024-04-23 10:36:52 +03:00
Stefan Ceriu 69ffd3be46 Handle alias room permalinks 2024-04-23 08:01:30 +03:00
Stefan Ceriu 8ba544bc44 Cleanup following the AppMediator introduction (#2723)
- stop using multiple background task, the appCoordinator sync one is enough for the whole app
- move the AppMeditor to the MainActor
- expose the WindowManager through the AppMediator
- hide sensitive WindowManager API behind a different protocol
- remove the now unnecessary `BackgroundTaskService`
2024-04-22 18:10:24 +03:00
Doug 5f98fdba44 Update strings with API breaks. (#2720) 2024-04-22 10:52:29 +01:00
Stefan Ceriu c738d57af1 Setup animations for navigation root and split detail and sidebar module changes. 2024-04-22 10:17:13 +03:00
Stefan Ceriu 1e810f91ff Fixes #2707 - Prevent the app from locking while recording a voice message 2024-04-20 15:38:58 +03:00
Stefan Ceriu effe3b6a9b Membership aware room routes (#2709)
* Remove the invites button when room list invites are enabled

* element-hq/element-x-ios/issues/2632 - Handle room permalinks based on their membership state and show the according room joining screens:
- modify the room flow coordinator to only take a roomID and be able to decide its own room flows (especially for unjoined rooms)
- add support for the new room preview API
- have RoomDirectorySearch go through the same paths
2024-04-19 17:04:18 +03:00
Stefan Ceriu 9a172df7fd Introduce an AppMediator which will:
- combine multiple services to handle app wide requests
- remove direct UIApplication access from everywhere
- fix #2703 by combining UIApplication.applicationState with the WindowManager's main window appearance
- leave the door open for more app control in the future (especiall for the mac)
2024-04-19 15:43:56 +03:00
Doug b5f1d5947b Add missing image provider to RoomChangeRolesScreenViewModel. (#2715)
* Add an assertion for a missing image provider.

* Pass an image provider to RoomChangeRolesScreenViewModel.

* Update snapshots.
2024-04-19 11:56:41 +01:00
Stefan Ceriu 8ef6fee95f Guard against rooms prematurely unsubscribing from sliding sync:
- with the advent of permalinks the same room can be now pushed multiple times onto the stack which means multiple calls to `subscribeForUpdates`
- the reverse doesn't hold and one call to `unsubscribeFromUpdates` will unsubscribe all the rooms at the same time
- we guard against that by tracking the number of subscriptions and calling the underlying `roomListItem.unsubscribe()` when the count goes back to zero
2024-04-19 11:14:48 +03:00
Stefan Ceriu 20d57e4998 Bump the RustSDK to v1.1.59, regenerated the SDK mocks 2024-04-18 15:01:31 +03:00
Stefan Ceriu 195a7c0e5f Fix broken cancel button on the enter recovery key screen
- regressed in https://github.com/element-hq/element-x-ios/pull/2648/files#diff-4420a80fe4e4d99cac174f0dcf86413535a34bd6dc303670d11bca25105d1ae6L55
2024-04-17 16:28:24 +03:00
Stefan Ceriu ee7b1de1c8 With date separators not longer duplicated switch back to using their timestamps (formatted even) as stable identifiers 2024-04-16 19:27:45 +03:00
Stefan Ceriu 83c620d685 element-hq/element-x-ios/issues/2636 - Expose paths for focusing replied-to timeline items by tapping on an in-reply-to message bubble 2024-04-16 15:01:48 +03:00
Stefan Ceriu 43c132720d Bring back the original native MessageComposerTextField, use it whe… (#2696)
* Bring back the original native `MessageComposerTextField`, use it when the Rich Text Editor one is disabled (advanced settings)
- this basically reverts parts of https://github.com/element-hq/element-x-ios/pull/1703
2024-04-15 15:41:34 +00:00
Doug e7af7fb59c Handle external links to a user. (#2690) 2024-04-15 11:08:00 +01:00
Doug d6b5c07ee6 Always encrypt the db for new users. (#2692) 2024-04-12 18:00:49 +01:00
Stefan Ceriu 4d513f9ed1 Stop relying on the NotificationCenter for removing delivered push notifications:
- this will improve the architecture but more importantly will remove some very flakey unit tests
2024-04-12 19:18:00 +03:00
Stefan Ceriu 891315ef04 Remove now unused room and event matrix entity regexes 2024-04-12 18:04:41 +03:00
Stefan Ceriu fcc25dd441 Adop the new SDK permalink detector and user builder 2024-04-12 18:04:41 +03:00
Doug f8920d4d11 Initial implementation of the JoinRoomScreen. (#2684)
* Update Compound and use super button for room directory.
2024-04-12 13:13:22 +01:00
Doug cc95c6a0f2 Fix a bug where the view state is being modified during an update. (#2686) 2024-04-12 10:45:29 +01:00
Mauro fc1310d7ad QR Code, verification code views (#2685) 2024-04-12 09:29:14 +00:00
Doug 5c9d0975ce Add a UserProfileScreen for profiles of non-members. (#2687) 2024-04-12 09:54:14 +01:00
Mauro 9bc24e2038 QR Code error views (#2678)
Co-authored-by: Doug <douglase@element.io>
2024-04-11 08:32:56 +00:00
Doug eda7d59518 Update strings and add productionAppName value for the new placeholder. (#2677)
* Update strings and add productionAppName value for the new placeholder.

* Fix snapshots.

* Fix more snapshots.
2024-04-10 16:58:00 +01:00
Stefan Ceriu 7645971812 Attempt to improve unit test reliability:
- synchronize mock properties on the main queue
- sleep for longer when processing routes
- finish encoding before deallocating the keyed archiver
- wait for NotificationCenter notifications to be delivered
- change were we process remote notification permissions
2024-04-10 17:40:47 +03:00
Doug da598302df Add more flexible background support to FullscreenDialog (#2675)
Hide the background when the main content extends underneath the bottom content.
2024-04-10 14:56:41 +01:00
Mauro bcd7e2254c QR Code scan view (#2674) 2024-04-10 10:47:23 +00:00
Stefan Ceriu 064626fbbe element-hq/element-x-ios/issues/2670 - Show invites as part of the room list 2024-04-09 18:18:11 +03:00
Doug 0856891733 Final design for pending members when changing roles. (#2668)
* Final design for pending users when changing role.

* Remove room moderation feature flag.

* Fix tests.

* Run periphery.

* Update snapshots.
2024-04-09 12:00:11 +01:00
Mauro c61135f88c QR Code Login Initial view state (#2667) 2024-04-09 12:21:14 +02:00
Doug bc75fe1cf8 Fix child presentation of the same room. (#2669) 2024-04-09 11:11:14 +01:00
Doug 761824fa0d Tweak internal/external deeplink handling (#2664)
* Add a childRoom AppRoute.

* Add a tests for child room routes.
2024-04-08 16:44:03 +01:00
Stefan Ceriu 446aab58de Fixes ELEMENT-97277 - Be less aggressive on recovery key states 2024-04-08 18:30:16 +03:00
Stefan Ceriu 1ff4c02782 Tone down new onboarding flow recovery fatal error after a lot of crash reports on sentry 2024-04-08 18:30:16 +03:00
Stefan Ceriu 1ffc718cec element-hq/element-x-ios/issues/2395 - Slightly tweak the unread invites logic, add more logs 2024-04-08 14:56:02 +03:00
Stefan Ceriu d996c69a66 Small recently visited room tweaks following PR review 2024-04-08 14:56:02 +03:00
Velin92 eddc650f68 Translations update 2024-04-08 08:04:11 +03:00
Doug 181753e43d Update appearance of admins when changing moderators. (#2654) 2024-04-05 12:19:46 +01:00
Mauro 023b7fc608 Reset Recovery Key Screen (#2648)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-04-04 16:14:22 +00:00
Stefan Ceriu 97d9189077 Fixes #2624, fixes #2625 - Add user suggestions in the create room flows. 2024-04-04 16:45:10 +03:00
Stefan Ceriu c85c1593ee Cleanup proxy errors
- proxy errors have been getting repetitive and not particularly useful
- differentiate between sdk and client errors and keep what provides value
- add error logs everywhere a failure occurs
2024-04-04 14:22:56 +03:00
Doug 3418d24557 Allow RoomFlowCoordinator to start a child flow. (#2644) 2024-04-04 11:30:38 +01:00
Mauro df242e3f1c FF for QR code login + Login with qr code button (#2643) 2024-04-04 08:37:42 +00:00
Stefan Ceriu 3fea635d67 Attempt to fix the test on CI 2024-04-03 20:31:29 +03:00
Mauro b4d96004fe Prevent crashes when mentioning users on macOS (#2630)
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2024-04-03 12:18:43 +02:00
Stefan Ceriu cb585eef5f Fixes #2618 - Allow dashes in room identifiers 2024-04-02 14:19:35 +03:00
Stefan Ceriu 834a830952 Use RustSDK permalink builders:
- replace event permalinks on the room screen interaction handler
- replace the one use don the room details screen
- deprecate previous AttributedStringBuilder methods
- there's more work required on the AttributedStringBuilder mentions handler before we can completely drop the iOS implementations
2024-04-02 14:19:35 +03:00