536 Commits

Author SHA1 Message Date
Mauro
b7345aafca
Remove layout styling abstraction (#2982) 2024-06-27 18:25:25 +02:00
Mauro
064b1bf224
Remove plain style layout (#2980) 2024-06-27 16:53:19 +02:00
Stefan Ceriu
41d40d8de0
Cleanup how we setup the CallKit provider and have it be used for outgoing calls as well (#2967)
- tear down ElementCall screens when ending the call from the CXCallController
- make the call UI available in the task manager and lock screen
- Fix broken hang up widget message format
2024-06-27 14:07:44 +03:00
Stefan Ceriu
bbf5b91675 Ignore punctuation characters at the end of detected links
- fixes permalink handling when that's the case
- prevents deep linking loops between nightly and the main app
2024-06-19 16:10:31 +03:00
Stefan Ceriu
4a9de65030 Fixes #2679 - Timestamps in room list inconsistently use absolute and relative formatting 2024-06-19 14:38:00 +03:00
Doug
834260c144
Use the room heroes when computing a DM avatar. (#2900)
* Use room heroes for DM avatar content ID.

* Use RoomAvatar.heroes for the DM Details stack.
2024-06-19 10:27:10 +00:00
Stefan Ceriu
5f9310e943 Fix ComposerToolbarViewModel user suggestion selection unit test 2024-06-17 09:31:33 +03:00
Mauro
cefa38049f
Store and restore drafts (#2898) 2024-06-13 12:19:38 +00:00
Stefan Ceriu
b8dea8ac4e Handle multithreaded access crashes on unit tests using generated mocks
- always dispatch receivedInvocations mutations on the main queue
2024-06-13 14:38:33 +03:00
Stefan Ceriu
b2afa04832 Cleanup dead code after Periphery run 2024-06-11 14:38:08 +03:00
Doug
2487895207
Adopt Rust's new sessionPath that replaces the basePath (#2903) 2024-06-06 18:35:57 +01:00
Stefan Ceriu
6c1647b851 Fixes #2842, fixes #2841 - Adopt new message sending queue API
- automatically retry failed requests as soon as the network is availble again
- remove manual retry options
2024-06-06 12:59:03 +03:00
Stefan Ceriu
53fc5df55b Generate mocks for all SDK classes and introduce a simple TimelineItemFactory test to try them out 2024-06-05 17:51:45 +03:00
Doug
c51593476c
SwiftLint fixes. (#2899)
non_optional_string_data_conversion and static_over_final_class

* Revert Data -> String changes for upcoming rule change.
2024-06-05 07:31:49 +01:00
Doug
6deedb593b
Add a flag to disable hidden profiles for ignored users. (#2892) 2024-05-31 13:37:59 +01:00
Stefan Ceriu
a4c9135b58 Decouple the bug report service from the analytics one 2024-05-30 15:42:26 +03:00
Mauro
bd1c7a4008
removed useless qr logs (#2886) 2024-05-29 17:22:28 +02:00
Mauro
4e23f7be22
QR Code Login Flow (#2767)
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
2024-05-29 17:07:17 +02:00
Stefan Ceriu
3a904ebc9d Replace the old MockUserSession with the generated UserSessionMock 2024-05-27 17:05:01 +03:00
Stefan Ceriu
f8d094516d Fixes #2878 - Retain cycles on the ElementCall webView and correctly tear down the call on dismissal. 2024-05-24 15:32:56 +03:00
Valere
f0ac0a63fb
Add device keys to rageshakes (#2838) 2024-05-21 09:54:16 +01:00
Mauro
545b5c31cc
Bump SDK (#2857)
Co-authored-by: Doug <douglase@element.io>
2024-05-20 14:37:45 +02:00
Doug
b7d492c206
Add Forgot PIN button to AppLockSetupPINScreen. (#2833) 2024-05-13 15:41:35 +01:00
Doug
a62a9a964a Fix compile error in unit tests. 2024-05-13 15:37:57 +03:00
Doug
1e0a6d76ae Make sure we pass the via parameters with all the routes.
Put the event ID first.

Fix tests.

Bump the SDK.
2024-05-13 15:37:57 +03:00
Doug
6984afd6c0
Support tapping Matrix URIs in messages. (#2828) 2024-05-10 15:22:22 +01:00
Stefan Ceriu
099b69d2f2 Prevent links from showing up in color within code blocks, simplify foreground color stripping 2024-05-10 14:07:43 +03:00
Stefan Ceriu
a401976b2b Enable room list invites by default and remove old code paths 2024-05-09 19:01:57 +03:00
Stefan Ceriu
77f92ad068 Fixes #2807 - Stop inserting string attributes to code blocks. 2024-05-09 18:48:51 +03:00
Stefan Ceriu
905b21e0a8
Fixes #2808 - Switch the message sending failure options from a dialog to an alert
* Fixes #2808 - Switch the message sending failure options from a dialog to an alert
- this prevents it from showing up as a popup on the room list on an iPad
- it used to be set on the timeline and not on the timeline item because of our use of a UITableView
* Cleanup room screen action names
2024-05-09 14:35:47 +03:00
Doug
d97f912df7
Only register for notifications when the setting is enabled. (#2819) 2024-05-08 16:10:35 +01:00
Stefan Ceriu
636274df74
Seamlessly switch for the RichTextEditor based message composer to the… (#2753)
* Seemlesly switch for the RichTextEditor based message composer to the plain one depending on whether formatting options are enabled or not.

* Address PR comments

* Fixes #2803 - Add extra padding at the bottom of the composer suggestions list

* Update preview test snapshots

* Update UI test snapshots
2024-05-08 17:57:32 +03:00
Valere
bd4fae6086
Posthog: report SessionSecurityState (#2795)
* Posthog: report SessionSecurityState

* Review quick change

---------

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2024-05-07 14:31:12 +00:00
Doug
e829a3ded6
Move message forwarding out of the flow coordinator. (#2738) 2024-05-07 15:04:11 +01:00
Stefan Ceriu
3017100e5e Fixes #2792 - Use the right room context in the plain composer 2024-05-07 14:38:37 +03:00
Valere
0eb1fb257c
Posthog: use correct API for user properties (#2793) 2024-05-07 12:08:56 +02:00
Valere
176abd5841
Bump posthog SDK version to 3.2.0 (#2788)
Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2024-05-06 15:07:05 +00:00
Doug
11557e4879
Update the SDK. (#2776)
Handle async FFI changes.

Fix flakey unit test.
2024-05-03 12:00:05 +01:00
Stefan Ceriu
38416dbb5c
Plain composer suggestions and pills (#2751)
* Move ComposerToolbar files to withing the RoomScreen folder (as it's not a screen on its own)

* Switch the plain composer to NSAttributedStrings

* Enable suggestions on the plain composer

* Introduce a new `MatrixUserDisplayName` attributed string attributed and use it for mention building

* Implement mention pill rendering and sending on the plain message composer

* Fix plain composer snapshot tests

* Fix broken formatting options layout

* Add clarifying comment.
2024-05-03 10:06:16 +01:00
Doug
d067e844da
Permalink polish (#2771)
* Fix unbalanced padding.

* Animate the scroll to an event when it is already loaded.

* Perform the timeline clearance immediately before replacing the items.
Hides the empty timeline that was briefly shown.

* Make switching timeline more resilient.
2024-05-02 17:51:38 +01:00
Valere
ec19b5a0c4
Support for posthog super properties (#2774)
* Support for posthog super properties

* Use typed SuperProperties and add tests

* update superProperty in AppCoordinator
2024-05-02 16:21:09 +01:00
Doug
f688d2eda4
Permalink Tweaks (#2768)
* Revert back to creating a new flow when re-selecting the same room.

Fix the composer bug by adding IDs to the all of the module AnyViews.

* Don't show the live timeline when starting with a focussed event.
2024-04-30 17:25:32 +01:00
Doug
7c94ed98a5
Permalink Tweaks 2 (#2766)
* Missing changelog.

* Parse bare room aliases as permalinks.

Update the SDK.

* Fix tapping the same permalink twice.

Add a test.

Don't clear the focussed item when reaching the bottom of the timeline.

* Make sure sending a message returns to live.
2024-04-29 17:32:16 +01:00
Doug
76e7de40b5
Prepare for event focus and forward pagination (#2745)
Neither are available yet.
2024-04-25 18:32:33 +01:00
Stefan Ceriu
d949b17448 dd support for deeplinking/navigating into the same room multiple times
- fix bugs around the view <-> view models going out of sync
- unwind the stack if the room is already presented
2024-04-24 11:29:54 +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
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