* added a way to render the room and the message
pills, but is WIP
* permalinks now get converted into pills!
* fixed an issue where room address mentions
were not adding a URL properly but a string
* updated tests
* c
* Revert "c"
This reverts commit 5c80252fa23dba7e4d44f2a07fbf1e9500e37c82.
* updated tests
* more tests
* created APIs to get a specific RoomSummary
given the id or the alias
* small mention builder improvement
* pr suggestions
* Introduce a `UserIdentityProxy` and have it combine upstream methods into an easy to digest `UserIdentityVerificationState`. Use it in a dedicated `VerificationBadge` UI component
* Show a DMs counterpart verification state in the room header
* Show a warning on the room details `People` entry when there are identity verification state violations on any of the members.
* Show verification badges in the room member list
* Show a withdraw verification section on the room member details for users that have pinning violations.
* Remove the verification section from the profile screen as there's no reliable way to keep it up to date
- the underlying Rust SDK Olm Machine can be rebuilt without notice which would break any existing user identity change streams.
* Update preview test snapshots
* Use the new TimelineMediaPreview modifier on the room and pinned timeline screens.
* Use the same presentation logic for all timeline media previews.
* Fix a bug with the detection of the timeline end.
* Send pagination requests from the media preview screen.
* Add SwiftLint to the Danger workflow (it is no longer installed on the runner).
* Put SwiftLint back on all of the GitHub runners too.
* Set the function_parameter_count lint rule to 10.
* Make sure to clean-up any previews when the coordinator is done.
* Handle the viewInRoomTimeline action more appropriately.
* Add the timeline controller factory to the timeline view model.
In preparation for building a timeline to swipe through media in QuickLook.
* Refactor RoomTimelineControllerFactory.
* Refactor RoomTimelineController.
* Refactor RoomTimelineProvider.
* Overlay a progress indicator for downloads instead of using a toast indicator.
* Update the SDK.
* Remove the feature flag for the media browser.
* Remove the media captions feature flag too.
* Add unit test cases for download failure and swiping between items.
* Snapshots (with the media browser visible in the screen).
* Embed the media preview quick look inside a full screen cover
With a zoom transition on iOS 18.
* Use a the representable coordinator properly.
* Fix a bug with the toolbar appearance.
* Format
* Try prevent the zoom transition being upside down.
* Fix the snapshot test configuration.
* 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 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.
* 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
* 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.
* 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
* 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
* 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