* replace NavigationStack with ElementNavigationStack to allow the content to be rendered without a NavigationStack in a11y tests
* fix a11y tests
* update xcodeproject
* swiftformat fix
* use iOS 26.1 for CI
* use a wrapper to solve the issue for a11y tests
* ElementNavigationStack only uses the trick in DEBUG mode, and added a swiftlint rule to prevent the usage of NavigationStack
As we're using an overlay for the presentation (to keep the web view alive when minimized), we need to make sure to hide everything behind the overlay from VoiceOver.
* Remove incorrect message send call and fix typo.
* Add overlay coordinator presentation to the NavigationRootCoordinator.
* Remove GenericCallLinkCoordinator, merging it into CallScreen.
This will allow for picture in picture on call links when available.
* Revert back to creating a new flow when re-selecting the same room.
Fix the composer bug by adding IDs to the all of the module AnyViews.
* Don't show the live timeline when starting with a focussed event.
* Improve integration test timings and alert handing
* Add missing `receive(on: DispatchQueue.main` on the invites screen
* Wait for photo library to load
* Disable the preferForLoop swiftformat rule and fix a couple of new warnings
* Delay invites screen snapshotting after dispatch main queue addition
* #748 - Implement methods for processing various media types and preparing them for upload
* Various tweaks following code review:
- added blurhash generation
- changed thumbnails to jpeg
- throwing if file size cannot be retrieved
- move MediaProvider files to separate folder so they can cleanly be imported in the NSE
- added audio file processing
- switched all image resizing methods to ImageIO
- various renames
* Fix blurhash formatting issues, `swift-format-ignore-file` doesn't work
* Processing all media within unique folders to avoid conflicts
* Fix various warnings
* Rename `sizeForItemAt(_ url: URL)` to `sizeForItem(at url: URL)`
* Remove unnecessary resizeImage(UIImage) method, start by copying not moving the file to the unique location
* Add back warning for roomDetails.avatarURL
* created the row in the view and the alert, and added the new function to the RoomProxy
* fixed an issue with the alert function
* handling the navigation
* fixed a bug with the detail coordinators being dismissed incorrectly when inside a stack
* implementation completed
* replaced UI screenshots
* added a test for the fixed bug of the coordinators
* trying to increase the wait time for the expectation
* improved the test
* improved the buttons UI
* uploading artifacts for unit tests
* added result bundle true
* improved the tests
* added a new test
* pr suggestions
* updating mock
* PR suggestions
* improved tests
* fixed UI tests
* pr should be ready now
* removed testing code
* reduced complexity
* fixed test
* added a an assert to the new test case
* more tests and messages cases
* pr comments addressed
* completed
* Fix navigationStackCoordinator getting torn down when being reset on the navigationSplitCoordinator, added unit tests for it
* Guard against using the same coordinator more than once
* Correctly tear down the user session on signing out
* Fix session verification <-> user session retain cycle, visible range debouncer leak
* Manually clean up coordinators retained within SwiftUI's NavigationStacks
* Slightly refactor the timeline content menu builder and prevent it from retaining the view model. Cleanup now unnecessarily optional RoomScreenCoordinator instance vars
* Move coordinator dismissal logic to the navigation modules
* Add the message delivery status to the plain timeline styler and display it outside of the main content
* Fix glitchy timeline scroll to bottom button
* Fixed bubbled reactions padding
* Simplified the emoji picker, double tapping a timeline item directly opens it now and added a context menu option. Linked it to rust side reaction sending
* Fix the sliding sync cold cache: treat invalidated rooms as filled
* Make splash screen view full screen
* Fix the offline indicator popping up when first setting up the network monitor
* Expose presentationDetents on the NavigationStackCoordinator and start using them for the EmojiPicker
* Fix link tint color
* Linked TimelineReactionsView reaction sending
* Remove now unused/unnecessary classes
* Add changelog
* Fix formatting issue
Rename navigation components: SplitScreenCoordinator -> NavigationSplitCoordinator, StackScreenCoordinator -> NavigationStackCoordinator and SingleScreenCoordinator -> NavigationRootCoordinator
[0c161039] Tweak navigation logging
[826c19cf] Move the navigation dismissal callbacks to the NavigationModule, add SingleScreenCoordinator tests
[b8830d9c] Add tests
[252ad119] Merge the StackScreenCoordinator and SplitScreenCoordinators into a single file and stop publicly exposing their internal workings. Add more documentation.
[37671699] Cleanup navigation logging
[51406184] Use the parent SplitScreenCoordinator to present embedded StackScreenCoordinator sheets
[b94b04c9] Retract the room "syncing" indicator when dismissing a room
[1467b0ac] Correctly move to the no room selected state when popping in compact layouts
[10bf2ad8] Allow nilling root coordinators, replace present/dismiss sheet with setSheetCoordinator(?)
[33716784] Add single screen coordinator fade transition animation
[3cbe65e7] Prevent the timeline table view from being reused between different rooms
[9c94c50b] Move files around
[c10b6bc5] Adapt the user session state machine to the split layout
[7115a319] Fix unit and UI tests
[1ece59e8] Fix login flows
[6884dc3b] Use modules everywhere the underlying object is a NavigationModule
[ab08d44c] Rename navigation components to: SingleScreenCoordinator, SplitScreenCoordinator and StackScreenCoordinator
[ada2be57] Add SplitNavigationController
* Remove the navigationRootCoordinator from the UserSessionFlowCoordinator