Commit Graph

257 Commits

Author SHA1 Message Date
Mauro
1196e0b013 Fix tap knockable room and custom keyboard did show scrolling (#3603)
* making knockable rooms tappable

* added a way to customise the keyboard scrolling

in case we want the focussed view/textview to display something outside its content

* better documentation
2024-12-11 16:09:52 +01:00
Stefan Ceriu
e75c930d8f Media gallery - part 1(#3588)
* Introduce a `MediaEventsTimelineFlowCoordinator`
* Update SDK API and architecture
* Add a feature flag, add translations
* Move the media events timeline presentation under the room flow coordinator state machine
* Rename `TimelineViewState.timelineViewState` of type `TimelineState` to `timelineState`
* Enabled SwiftLint's `trailing_closure` rule and fix the warnings.
2024-12-06 16:58:14 +02:00
Doug
9da03c03cf Wait until the sync has stopped before marking the task as complete. (#3564) 2024-11-28 17:30:07 +00:00
Doug
7980b4f464 Update the SDK. (#3565)
* Update the SDK.

* Add mockMXC URLs to fix all the crashes during tests.

* Refactor Voice Messages to not use a MediaSource for local files.
2024-11-28 08:34:38 +00:00
Mauro
1076588031 using roomPreview API for invited rooms (#3530)
* using roomPreview for invited rooms

* Update ElementX/Sources/Services/Room/RoomInfoProxy.swift

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

* improved code

* fix, but requires a SDK PR

* update sdk

* package resolved

* fixed the tests

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-11-19 19:23:06 +00:00
Mauro
019b4cdee8 Fix Rooms that user has knocked not displaying the request sent screen (#3513)
* fix knocked state

* pr suggestion

* code improvement
2024-11-14 13:43:40 +01:00
Stefan Ceriu
7aaeb0053e Bump the RustSDK to v1.0.67 (#3512)
* Bump the RustSDK to v1.0.67

* PR comments

---------

Co-authored-by: Doug <douglase@element.io>
2024-11-13 18:03:30 +00:00
Stefan Ceriu
07cf873484 Share extension (#3506)
* Setup simple share extension

* Switch the app url scheme to be the full bundle identifier

* Setup a share extension that show a SwiftUI view, uses rust tracing and redirects to the hosting aplication

* Move media as json through the custom scheme into the main app and deep link into the media upload preview screen

* Fix message forwarding and global search screen room summary provider filtering.

* Tweak the message forwarding and global search screen designs.

* Add a room selection screen to use after receiving a share request from the share extension

* Fix share extension entitlements

* Share the temporary directory between the main app and the extensions; rename the caches one.

* Remove the no longer needed notification avatar flipping fix.

* Extract the placeholder avatar image generator from the NSE

* Nest `AvatarSize` within the new `Avatars` enum

* Donate an `INSendMessageIntent` to the system every time we send a message so they appear as share suggestions

* Support suggestions in the share extension itself

* Improve sharing animations and fix presentation when room already on the stack

* Clear all routes when sharing without a preselected room.

* Fix broken unit tests

* Various initial tweaks following code review.

* Correctly clean up and dismiss the share extension for all paths.

* Move the share extension path to a constants enum

* Rename UserSessionFlowCoordinator specific share extension states and events

* Add UserSession and Room flow coordinator share route tests

* Tweak the share extension logic.
2024-11-13 14:02:47 +02:00
Mauro
eb686b37c1 Fix for creating a knocking room (#3499)
* fix for join rule override in knocking rooms.

* improved some copies
2024-11-08 16:55:32 +00:00
Mauro
6457647afc Add alias to public room creation (#3450)
* added the address section

* updated code and strings

* syncing name and address

* improved code

* added a way to reset the state

* better documentation

* update strings

* handling the alias

* alias error state

* update strings

* error handling

* improved the error handling

* new preview tests, even if they do not work well

* improved tests

* unit tests

* pr comments and using the correct value

* fix

* pr comments

* to improve safety and control of the FF

* fixed a test

* updated tests

* update SDK
2024-11-08 15:49:20 +01:00
Mauro Romito
46a7dbf41e update sdk 2024-11-06 18:24:06 +01:00
Stefan Ceriu
cb47cb810e Fix race condition when setting up session verification controller subscriptions. 2024-11-05 18:50:29 +02:00
Doug
5ef8cb7246 Stop the sync loop after each background app refresh. (#3481) 2024-11-04 17:21:54 +00:00
Stefan Ceriu
2881d77bbc Incoming session verification support (#3428)
* Fixes #1227 - Add support for receiving and interacting with incoming session verification requests.
* Fix a couple of random small warnings
* Move static view config to the view state
* Update snapshots
2024-10-29 15:21:17 +02:00
Doug
94daf13135 Replace individual RoomProxy properties with a stored RoomInfo. (#3445)
* Store RoomInfo updates in JoinedRoomProxy and read from them directly.

* Remove all RoomProxy properties that were reading from the RoomInfo.
2024-10-28 12:29:31 +00:00
Mauro
d85240ae3f Knocked Preview implementation (#3426)
* JoinRoomScreen ui for knocking

* code improvement

* updated previews

* added knocked state with tests

* send knock request

* Apply suggestions from code review

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

* pr comments

* update tests

* new API

* knock implementation and cancel knock

* update strings

* added a knocked cell in the home screen

* design update

* updated SDK

* simplified the invite case code

* pr comments

* updated previews

* added message as reason

* updated strings

* fixing tests

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-10-24 17:23:06 +02:00
Doug
9d555e2d21 Fix a bug where the room state wouldn't indicate when a call was in progress. (#3442)
* Fix breaking changes on decryption errors and sending failures.

* Update SDK and analytics events.

* Add extra UTD strings.

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2024-10-24 12:54:52 +01:00
Stefan Ceriu
009d88078d Adopt the changes introduced in matrix-org/matrix-rust-sdk/pull/4159 2024-10-23 12:15:05 +03:00
Doug
901777dcc3 Show a verification badge on the Room Member/User Profile screens. (#3427)
* Add a badge for verified users/room members.

* Reorder subviews.

* Add a (disabled) button to verify other users.

* PR comments.

* Update the SDK.

* Adopt the SDK changes introduced in matrix-rust-sdk/pull/4100

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2024-10-21 16:07:19 +01:00
Mauro
69d32502fd Knock and knocked state for the join room screen (#3424)
* JoinRoomScreen ui for knocking

* code improvement

* updated previews

* added knocked state with tests

* send knock request

* Apply suggestions from code review

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

* pr comments

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-10-17 14:00:51 +00:00
Doug
4cc186be0c Fix some warnings. (#3416) 2024-10-16 08:54:34 +01:00
Doug
a0159aac6b Update the SDK. (#3407)
Fixes a bug where we couldn't open images sent by EXA with a mimetype of image/*
2024-10-14 14:59:09 +02:00
Mauro
5648a87b7a Create Room with knock rule (#3397)
* create knock room implementation (without SDK)

* Apply suggestions from code review

pr suggestions

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

* pr suggestions

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-10-14 11:52:38 +02:00
Doug
09a6febc71 Update the SDK and use media filename and caption internally. (#3375)
Doesn't render captions (other than in fallback places).
2024-10-08 11:00:58 +01:00
Stefan Ceriu
7655b33f5d Fixes element-hq/element-meta/issues/2525 - Display a warning when a user's pinned identity changes 2024-10-07 20:47:31 +03:00
Mauro
98d7654a1d Remove message pinning FF (#3318) 2024-09-30 12:32:35 +00:00
Mauro
d32135137f Await for room sync only for push notification invites (#3307) 2024-09-19 13:42:58 +00:00
Stefan Ceriu
0870367ca6 Stop delaying subscriptions until after startup (#3294)
- reverts b03ed608cc
- relies on https://github.com/matrix-org/matrix-rust-sdk/pull/3981
2024-09-18 12:16:46 +02:00
Doug
54b126b8e0 Add support for account deactivation when not using OIDC. (#3295) 2024-09-17 20:08:35 +01:00
Doug
700b740a48 Add a WebRegistrationScreen (not included in the flow yet). (#3281) 2024-09-16 11:03:29 +01:00
Stefan Ceriu
3082ef7a62 Replace client side room awaiting with the SDKs new awaitRoomRemoteEcho method 2024-09-13 15:25:17 +03:00
Stefan Ceriu
5c9e13b200 Fixes #3147 - Remove the sliding sync proxy wait list 2024-09-09 12:41:28 +03:00
Stefan Ceriu
89eae00479 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
b03ed608cc Delay setting up subscriptions until the RoomListService is running in order to avoid cancelling in flight initial sync requests 2024-09-05 17:26:11 +03:00
Jorge Martín
8dbca39ed7 Make pinned events required state in SlidingSync
This is needed to always have the pinned events of a room as soon as we open it.
2024-09-03 18:24:05 +03:00
Doug
ef2fd1e0d2 Adopt sliding sync versions for client Restoration. 2024-08-30 14:45:54 +03:00
Stefan Ceriu
f88957a71e Fixes problems processing invites, build rooms differently based on their membership 2024-08-21 18:02:40 +03:00
Stefan Ceriu
34eb596c1a Introduce a new RoomProxyType and treat rooms differently based on their membership state 2024-08-21 12:24:20 +03:00
Stefan Ceriu
c48d99218a Switch the new bulk room subscription API 2024-08-09 13:57:04 +03:00
Mauro
f3ac5c7f91 state events for pinning and unpinning (#3123) 2024-08-06 17:30:42 +02:00
Mauro
28bfa3f5dc Pinned items timeline implementation for the banner (#3099) 2024-08-05 14:09:05 +02:00
Stefan Ceriu
9a28682a35 Crypto identity reset (#3107)
* Add EncryptionReset password entry screen

* Expose client proxy identity reset method

* Update the IdentityConfirmationScreen to the latest designs

* Replace the old recovery key reset screen with a new EncryptionReset one

* Fixes #3102 - Add support for resetting the user's whole crypto identity

* Address review comments

* Bump the SDK to v1.0.30
2024-08-05 09:35:18 +03:00
Doug
f6bd60e3c0 Fix a crash when the ClientProxy is freed. (#3090) 2024-07-26 10:05:48 +00:00
Stefan Ceriu
7fd97d4426 Fixes #3078 - Trim number of resolved alias vias and always default to a join button in the room preview screen 2024-07-24 16:44:27 +03:00
Mauro
fee3d3c8c0 Pinning items Feature Flag (#3063) 2024-07-18 18:28:30 +02:00
Doug
84d76a8dde Use the same UI as Android when tapping a link to a private room. (#3044)
* Use the same UI as Android when tapping a link to a private room.

* Fix preview of knocking.

* Fix snapshots.
2024-07-18 15:58:17 +01:00
Doug
8922fa0ab3 Replace old visible rooms range with subscriptions in the room list. (#3014)
* Add a SubscriptionTracker actor to RoomProxy.

* Request subscriptions when scrolling rooms.

* Stop unsubscribing in preparation for Simplified Sliding Sync.
2024-07-08 14:32:13 +01:00
Stefan Ceriu
bc7c76cf3a Use local room list sorting from Rust. (#2978)
* Switch to the new local room list sorting API

* Get rid of the RoomSummary enum, replace it by the inner RoomSummaryDetails

* And finally, rename RoomSummaryDetails to RoomSummary

* Fix a bunch of warnings

* Small tidy up post rebase/review.

- Remove unused invalidated property.
- Rename some RoomSummary instances to summary instead of details.
- Fix tests with missing roomListItem's.

* Update snapshots

---------

Co-authored-by: Doug <douglase@element.io>
2024-07-05 10:10:53 +01:00
Doug
c0c98ef542 Add a missing scheme when getting the Element .well-known file. (#2995) 2024-07-02 11:27:07 +01:00
Stefan Ceriu
1bf13aadb2 Make Element Call widget URL configurable (#2971) 2024-07-02 08:35:05 +00:00