734 Commits

Author SHA1 Message Date
Doug cc4942fb78 Require acknowledgement to send to verified users who have unsigned devices or have changed their identity. (#3215)
* Refactor HeroImage style.

* Add a screen to resolve (crypto-related) timeline item send failures.

* Refactor send failures.

* Update the SDK.
2024-09-10 09:56:11 +01:00
Mauro Romito 1a3378f6d3 tweaks for the RC 2024-09-09 18:01:16 +02:00
Stefan Ceriu a4166de502 Add support for showing media playback controls on the lock screen 2024-09-09 14:42:32 +03:00
Stefan Ceriu a5fe629790 Fix message composer presendCallback warnings 2024-09-09 14:42:32 +03:00
Stefan Ceriu 664e87fe87 Switch license to AGPL (#3237)
* Switch license file to AGPL

* Update file copyright headers

* Update the default project file header
2024-09-06 16:34:30 +03:00
Stefan Ceriu bf127f441f Fixes #3217 - Force room title headers to layout on one single line 2024-09-04 09:39:46 +03:00
Stefan Ceriu 062811cac4 Accept current autocorrection/suggestion before sending a message (#3219)
* Fixes #3216 - Accept current autocorrection/suggestion before sending a message.

* Switch from a temporary textField to `inputDelegate` selection changes
2024-09-02 16:33:40 +03:00
Mauro 993fe8cd36 TimelineKind refactor (#3193) 2024-08-22 18:33:21 +00:00
Mauro 4eb1ed5d09 Pinned Events Timeline actions and differentiation (#3182) 2024-08-22 17:35:44 +02:00
Doug 304070e8cc Use native video call picture in picture! (#3190)
* Use native video call picture in picture!

* Handle isSupported, isPossible and web view errors.

* Use new canEnterPip method.

* Hide a room's Call button when already joined to the call.

* Tweak feature flag description.

* PR comments.
2024-08-21 17:48:57 +01:00
Stefan Ceriu e281a3f242 Introduce a new RoomProxyType and treat rooms differently based on their membership state 2024-08-21 12:24:20 +03:00
Doug ebf7c00eeb Navigation support for upcoming Element Call Picture in Picture mode. (#3174) 2024-08-16 11:25:36 +01:00
Stefan Ceriu f89c3e54b4 Automatically try reloading failed images on network changes (#3170)
* Add the networkMonitor to the NSE and delete the old MockMediaLoader

* Generate a MediaLoaderMock through AutoMockable and use it in the MediaProviderTests

* Implement an ImageProvider mechanism that automatically tries reloading images when connectivity is established again and use it for LoadableImages

* Merge the ImageProvider protocol back into the MediaProvider

* Address PR review comments

* Provide a default sdk client request configuration

* Address tasks not automatically cancelling themselves when views get deallocated
2024-08-15 18:20:19 +03:00
Mauro 0bbdb05220 RoomScreenViewModel refactor part 2 (#3169) 2024-08-14 18:03:46 +02:00
Mauro c71da91d54 PinnedBanner is now managed by the RoomScreenViewModel (#3163) 2024-08-14 12:38:10 +02:00
Mauro 1ad361a6e8 RoomScreenViewModel is now TimelineViewModel (#3157)
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2024-08-13 13:36:40 +02:00
Mauro c62c12397b Remove links from pinned events banner (#3153) 2024-08-12 10:43:30 +02:00
Mauro b84c436551 Fix for a memory leak (#3143) 2024-08-08 19:04:02 +02:00
Mauro ed7d3b0b13 Navigate to the Pinned events timeline (#3139) 2024-08-08 18:29:39 +02:00
Stefan Ceriu 0c47ea7231 Delete more unnecessary logs 2024-08-07 17:53:10 +03:00
Mauro 91a42538ac Pinned events banner goes backwards (#3128) 2024-08-07 14:01:01 +00:00
Doug 3d112a5683 Make sure the whole room header is tappable. (#3125)
The space between the avatar and the label wasn't.
2024-08-07 09:39:18 +01:00
Doug e2712f6b0a Finalise strings/icons for EncryptionAuthenticity. (#3121) 2024-08-06 15:03:11 +01:00
Mauro 08347e15a5 Pinned events banner loading state (#3118) 2024-08-06 15:46:56 +02:00
Doug e667be0f43 Add Encryption Authenticity explanations. (#3116) 2024-08-06 10:45:46 +01:00
Doug 6a45ffc939 Fix a bug where moving a new line in the composer could move the caret. (#3114) 2024-08-05 14:46:40 +01:00
Mauro ff2c42d53b Pinned items timeline implementation for the banner (#3099) 2024-08-05 14:09:05 +02:00
Valere a11faeb131 Show Encryption Authenticity warnings on messages in the timeline. (#3051)
* Initial implementation.

* Add developer option for showing timeline item authenticity.

* Refactor code to use new SendInfo.Status.

---------

Co-authored-by: Doug <douglase@element.io>
2024-08-05 11:15:38 +00:00
Doug a2ea9c4a06 Refactor TimelineItemSendInfo out of the styler. (#3100)
* Reorder some properties.

No code changes.

* Refactor TimelineItemSendInfo out of the styler.

* Add (unused) examples of encryption shields.

* Rename file.
2024-07-30 09:43:17 +01:00
Mauro 0da2d4917b Pin/Unpin Logic (#3084) 2024-07-26 20:41:00 +02:00
Mauro 37786b8fad Hide/Show pin banner based on scroll direction (#3080) 2024-07-24 12:15:36 +02:00
Mauro 5cb44ee60c Pinned Items Banner UI (#3072) 2024-07-22 12:57:04 +00:00
Mauro d437e1f3ed Pinning items Feature Flag (#3063) 2024-07-18 18:28:30 +02:00
Doug 6339fe2bf0 Fix a potential race condition when redacting a message. (#3061)
* Refactor the timeline item menu action provider.

- Move it into its own struct.
- Use an item, not an ID so it doesn't randomly change.
- Move permissions into the room screen view model.

* Use the stable ID when redacting/editing/forwarding a message.

Just like we do when fetching the item in the actions menu.
2024-07-18 15:14:38 +01:00
Mauro dbdea337ca Restore Mentions in plain text mode (#3018) 2024-07-09 13:02:46 +02:00
Mauro b07d85cd06 FIX: saving draft did not save the pill markdown content (#3003) 2024-07-08 15:55:13 +02:00
Mauro 94f98345b0 Volatile draft to restore the composer after an edit. (#2996) 2024-07-02 14:48:50 +00:00
Stefan Ceriu 3c500887ab Setup Sentry instrumentation on top of the existing Signposter (#2985)
* Move Sentry setup outside of the BugReportService

* Setup Sentry SwiftUI tracing for the homeScreen and roomScreen roots

* Setup Sentry instrumentation on top of the existing Signposter

* Various tweaks
2024-06-28 18:15:57 +03:00
Stefan Ceriu b7fcb76094 Remove redundant remove failed sent message menu 2024-06-28 14:28:33 +03:00
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
Doug d977efdf31 Stop the timeline from requesting back pagination whilst loading existing items. (#2969)
* Handle Rust error "can't subscribe to the back-pagination status on a focused timeline"

* Fix a bug where the timeline was attempting to paginate before adding the items.

* Stop the timeline from paginating whilst loading existing items.
2024-06-27 14:20:44 +01:00
Mauro 342cfc0d3f Hide timeline style selection (#2968) 2024-06-26 12:42:12 +02:00
Mauro 6655833719 Enable draft restore (#2943) 2024-06-19 16:05:38 +02: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 63524bff62 Bring back failed message state rendering and a redaction option. Bump the RustSDK to 1.0.15 2024-06-18 13:07:16 +03:00
Stefan Ceriu 0967bb43b4 Avoid passing the whole unsafe display name to the rich text editor for generating mention pill permalinks 2024-06-14 17:33:22 +03:00
Stefan Ceriu 2dccfff3e8 Fixes #2924 - Allow timeline messages text selection on both the Mac and on iOS (not on long press but a double tap)
- remove double tap to show the emoji picker as it clashes with the selection and was introduced before the rich timeline item menu was introduced
2024-06-14 17:33:11 +03:00
Mauro cefa38049f Store and restore drafts (#2898) 2024-06-13 12:19:38 +00:00
Stefan Ceriu a2faae20c2 Allow showing the developer options on any build type by tapping the settings screen version footer 7 times (a la android) 2024-06-12 13:07:00 +03:00