* Implement the save action on the media preview.
* Update Compound and use the correct icon.
Also fixes an icon that has been renamed.
* Update the add to photo library usage description to match the designs.
* PR comments.
* WIP RequestToJoin struct
* implemented the logic to display the cells
* knock request banner accept flow
* mark all knocks as seen implemented
* details logic
* implemented accept, decline and ban in the list
* added a loader and modified the stacked view
of the banner
* pr suggestions
* updated naming and loading strings
* added the initial loading state
improved code and the tests
* updated a string that has changed
* code improvement
* tests for the room screen view model
* room details tests
and improved the knock requests tests for the room screen
* knock requests list tests
* added error state alerts with retry
* struct has been renamed on the sdk
so I renamed it also on the app side
* update SDK
* 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.
* Use a Date for the timestamp in all timeline items.
* UI test snapshots.
* Update snapshots
---------
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
* Add a composer to the MediaUploadPreviewScreen.
And send it's content to the media upload's caption.
* Use the new compound SendButton (updating relative padding in the toolbar).
* Update snapshots.
* Add unit tests for sending a caption.
* 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.
* 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
* Manage the secure backup screens with flow coordinators.
* Add UI tests for the EncryptionSettingsFlowCoordinator.
* Realise that the settings flow can't reset anymore and remove the sub-flow 🤦♂️
* Add UI tests for the EncryptionResetFlowCoordinator.
* 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
* 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>
* Adopt new reaction toggling API introduced in matrix-org/matrix-rust-sdk/pull/4127
* Adopt the changes introduced in matrix-org/matrix-rust-sdk/pull/4111: use the new `TimelineUniqueId` type instead of `String` for unique timeline identifiers.
* Bump the RustSDK to v1.0.58.
* Fix unit tests
* Don't query the homeserver until confirming it (or selecting a different one).
* Setup the infrastructure to test AuthenticationService.
Implement basic tests for configuration & password login.
* Use the real AuthenticationService with a mock Client in all of the tests.
* Add tests for the ServerConfirmationScreenViewModel.
* Remove redundant view state and test for it.
* Fixes#2508 - Offer user to transition to SSS
* Rename `HomeScreenBannerMode.shown` to `HomeScreenBannerMode.show`
* Generate and use preview tests for the migration banner
* Bump the RustSDK to v1.0.46
* Address PR review comment