* 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 timeline item action for copying a media caption.
* Fix the action colours when long pressing a timeline item.
Nice side effect: Reasonable sized buttons when button shapes are enabled.
* Re-arrange the Timeline Item Menu.
* Add timeline item menu snapshots for media items.
* Update the File/Audio captions layout to match Figma.
* Fix caption sizing issues.
The send info label was being added incorrectly.
* Update icon size and regenerate snapshots.
* Fix a regression in the location timeline item layout.
* created the basic navigation and files
* updated the logic
so that the buttons that do not have permissions won't show
* added the empty state
* progress in making the list UI
* update tests
* UI improvements
* fixed an issue with media provider
* update button style
* fixed a navigation bug
* pr suggestions
* pr suggestions
* 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.
* Enable local echoes for media uploads on development builds.
* Use media sizes when loading timeline items so they can take advantage of the cached local echo data.
* 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
* Enable the Optimised Media Uploads feature.
(Well move the toggle from Developer Options to Advanced Settings)
* Add OptimizeMediaUploads analytics.
* Final strings.
* Upload reduced quality media by default 😢
Move the setting out of the feature flags section in the file.
* Fix unit tests now the default has changed.
* Pull in updated string, fix snapshots.
* Update the banner strings for out of sync key storage.
* Update string on SecureBackupScreen.
* Update snapshots
* Update an alert string we weren't using on iOS, and use it at the same place as Android.
* Refactor RoundedLabelItem into the Compound VisualListItem component.
* Update the design of SecureBackupKeyBackupScreen.
* Add a hint to the key storage toggle when disabled.
* 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>