* Rename PaginationState.timelineEndReached to PaginationState.endReached.
* Rename PaginationState to TimelinePaginationState.
Also renames PaginationStatus to PaginationState so that a TimelinePaginationState consists of the forward and backward pagination states.
* Add the empty state to SpaceScreen.
Only has 1 of the 2 buttons for now.
* Add support for SpaceFilters on the SpaceServiceProxy level and a screen that renders them
* Add aliases to a couple of space room mocks
* Update translations and related snapshots
* Add a feature flag for space filters
* Add a new room summary provider filter that takes a list of room identifiers next to the normal state filters
This will take the SpaceFilter's descendants and combine it with the normal filters to reduce the rooms shown
* Add a new space filter button to the home screen and link it to the SpaceFiltersScreen and the actual RoomSummaryProvider room list filters
* Bump the RustSDK to v26.01.20-2 for SpaceFilter support.
* Add a cancellation button to the space filters screen
* Make the filter presentation mode liquidy, move the sheet to within the home screen.
* Address PR comments
* Expand the space flow UI tests to include the add rooms screen.
Also fixes some failures in these tests due to the room/space title now being a button.
* Expand the space flow UI tests to include the space members screen.
* Reset AppSettings before running preview tests.
* Add the menu entries to add/remove rooms to/from a space.
* Add a user indicator to SpaceAddRoomsScreen.
* Reset the SpaceRoomListProxy after adding/removing any children.
* Calm the animations down a bit when entering EditMode on the SpaceScreen.
* Update proxies ready for adding rooms to a space.
- ClientProxy.recentlyVisitedRooms to take a filter and to return room proxies.
- Expose SpaceServiceProxy.addChildToSpace.
* Implement the SpaceAddRoomsScreen.
* Fix the designs of the selected carousels.
Add more snapshot tests for inviting users.
* Fix for screen using wrong avatar size.
* Replace GrantLoginWithQrCodeHandlerSDKMock with LinkNewDeviceServiceMock.
Add tests for all initial states on the QRCodeLoginScreen.
* Add tests for linking both mobile and desktop devices.
* Add UI tests for linking a new device.
* Don't show the Link Desktop Computer button when running on macOS.
This mirrors the decision to hide the Sign In With QR Code button on the start screen.
* Adds the remaining parts for showing/scanning a QR code to link a new device.
* Refactor the QRCodeLoginService to work the same way as the LinkNewDeviceService.
* Add a LinkNewDeviceService that exposes the SDK's grant QR code login methods.
* Add a flow coordinator for linking a new device.
Changes the presentation too.
* Add an alert to Discard or Save when there are unsaved changes on the RoomDetailsEditScreen.
* Add an alert to Discard or Save when there are unsaved changes on the UserDetailsEditScreen.
* Add an alert to Discard or Save when there are unsaved changes on the SecurityAndPrivacyScreen.
* Update strings.
* Listen to call decline to stop ringing when declined from other device
* MSC4075 Use expirationTS to define the call ringing window
* Implement ElementCallService tests.
* Update acknowledgements.
* Only offer to verify if a cross-signed device is available
* Wait until we know which verification options are available before showing them.
---------
Co-authored-by: Hubert Chathi <hubertc@matrix.org>
* Update SDK mocks for UniFFI 0.30.0
* Update the SDK.
* Update the SDK again
Includes a temporary workaround that patches the SDK's generated Swift files so that our tests don't crash:
3f0075fb8a
* Introduce a basic StartChatFlowCoordinator.
* Move the rest of the start chat flow from the screen coordinator into the flow coordinator.
* Add a UI test for the entire start chat flow.
* Refactor CreateRoom… to CreateRoomScreen…
Also removes an unused `parent` parameter that was missed when removing the parent name and includes some regenerated snapshots that were missed in the last PR.