* running all the tests
* setting up CI
* fixed the workflow
* workflow on pull request, just to make it appear
* removed the test to run var
* fix archived tests name
* improved the tests, by filtering out some noise
* pr suggestions and added an improvement to the filtering
* improved the interrupt handler
* improved the UI interruption monitor handler
* some more refinement to handle the interruptor + false positive for non human readable labels
* reverted wrong commit
* ready for review, removed the on pull request check
* pr suggestions
* Try fix the flakey preview tests with a low priority task…
* Try RunLoop.current.perform
* Revert #4321: Use a dispatch queue again. Also fixes the concurrency warning with a Mutex.
The Mutex package is only required for iOS 17, we can remove it when we set the minimum deployment target to iOS 18.
* 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.
When debugging in, sometimes the value hadn't been set after dispatching, whereas it has with a Task. Not sure I fully understand why and it's annoying that there aren't any observation APIs for didSet.
* Forward JoinedRoomProxy.markAsRead to the timeline
The room version was building a fresh timeline even though we already had one.
* Run swiftformat 0.57.0.
* Update Compound.
* Add some snapshot tests for PillView on a bubble background.
Version 5.0.0 of compound-design-tokens changed the pill colour but all our snapshots are on white so we didn't notice the difference in contrast. This doesn't fix anything, it purely adds the snapshots.
* Use StateStoreViewModelV2 in AnalyticsPromptScreen.
* Use StateStoreViewModelV2 in UserProfileScreen.
* Use StateStoreViewModelV2 in MediaUploadPreviewScreen.
* Use StateStoreViewModelV2 in the Roles & Permissions screens.
* Add the asyncStream variant of deferFailure.
* Use StateStoreViewModelV2 in BlockedUsersScreen.
* Use StateStoreViewModelV2 in ManageRoomMemberSheet.
* Use StateStoreViewModelV2 in ResolveVerifiedUserSendFailureScreen.
* Use StateStoreViewModelV2 in ReportContentScreen.
* Use StateStoreViewModelV2 in ReportRoomScreen.
* Use StateStoreViewModelV2 in StaticLocationScreen.
* Use StateStoreViewModelV2 in EmojiPickerScreen.
* Use StateStoreViewModelV2 in PollFormScreen.
* Use StateStoreViewModelV2 in DeclineAndBlockScreen.
* Use StateStoreViewModelV2 in RoomDetailsScreen.
* Fix a random compilation error that just popped up 🤷♂️
* Fix expectation message.
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.
This is required so that EC "thinks" there is a speaker and an earpiece. If this condition is not met it will not show the toggle button.
So this fixes showing the toggle button on EX for earpiece speaker toggle.