* Add the More menu to SpaceScreen.
And a simple way to leave a space for testing.
* Start a space flow when accepting a space invite from the room flow.
* Minimise the tab bar on iOS 26 when scrolling down.
* Enable spaces by default!
* Use the SDK's offline state to drive the offline indicator.
* Only use network reachability for restarting the sync loop, use the homeserver reachability for requests.
* Add a separate indicator to distinguish when the server is unreachable but the device is online.
Make the tab bar hide when pushing screens on iPhone as requested by the designs.
Annoyingly we couldn't simply add a second call to .toolbar(.hidden, for:.tabBar) on the pushed screens, but this way is automatic and there's still an override so it's good enough for now.
* Remove the huge conditional compilation block on AppSettings.
It is still required for the ElementCallBaseURL however.
* Add a feature flag for spaces.
* Add the basis for a state machine to UserSessionFlowCoordinator.
* Move the Settings flow from the Chats flow to UserSession flow.
It now works from the Spaces tab.
* Add a StateMachineFactory and use it to publish the state in the tests.
* Add a SpaceExplorerFlowCoordinator.
* Project tweaks
- iOS 17.5 so that we can use the simulator.
- Make a Spaces group for common Space related views.
- Fix the tab bar badge colour on iPhone landscape and iPadOS 17 (18 is still wrong 😒)
* Allow MediaPickerScreen users to select the media selection mode (single or multiple)
* Fix cancellation
* Add support for multiple media URLs on the MediaUploadPreviewScreen.
* Support processing more URLs on the `MediaUploadingPreprocessor` and sending more on the `MediaUploadPreviewScreen`
* Add feature flag for `multipleAttachmentUploadEnabled`
* Add a label showing the current preview item index in the MediaUploadPreviewScreen
* Add support for dragging and dropping or pasting multiple items at the same time.
* Support sharing more than one file through the share extension.
* Limit the number of items that can be shared in one go to 5.
* Fix unit tests
* Fix incorrect fatal error when dealing with single selection media pickers.
* Document the `multipleAttachmentUploadEnabled` usage in the context of the MediaPicker.
* Use a task group for processing selected media in the photo library picker.
* Use a task group for processing multiple selected media in the MediaUploadingPreprocessor
* Switch the maximum number of items that can be shared to 10.
* Allow multiple items to be pasted at the same time.
* Replace deprecated URL methods.
* Start putting log files in Library/Logs (moving existing files with a migration.)
* Make Tracing.deleteLogFiles aware of the legacy logs location.
* Allow the logs to be collected from a different directory.
* Move the rageshakeURL configuration from the BugReportService to AppSettings.
* Refactor Target to return a handle when configuring.
This helps with reconfiguration and removes the @MainActor constraint.
* Merge the AuthenticationServer with the QRCodeLoginService.
* Merge AuthenticationClientBuilderFactory and AuthenticationClientBuilder into AuthenticationClientFactory
The separation is no longer needed now that password/OIDC login and QR code login have a similar API shape.