* Add support for space rooms to JoinRoomScreenModel.
* Make a single wrapper type for JoinRoomScreen previews to simplify instantiation.
* Add previews for JoinRoomScreen for spaces.
* Add support for joining rooms from a space.
Doesn't yet handle the Join button 🤔
* Handle the join button for both rooms and spaces.
Also refactor more instances of spaceRoom to spaceRoomProxy.
* Update compound and handle plain to tertiary/textLink button style updates.
* Update the start chat button to use the right icon/style.
* Update preview snapshots.
* Fix remaining snapshots.
This affects:
- Invited room preview inviter avatar
- Invited room preview room avatar
- Invited room cell inviter avatar in the room list
- Invited room cell room avatar in the room list
- Push notification for an invite
* added the banned room proxy
and a way to have a consistent loading + a retry alert
* trailing closure
* indent a comment
* push package.resolved
* updated test case
* improved implementation of the unknown state
* forget button in the banned state
* error handling for forbidden access
* added the forget function
fixed DMs, and updated preview tests
* removed banned room proxy
* code polishing and test improvement
- expose the full RoomPreview and RoomMembershipDetails through their own proxies
- implement standard mocks for all the different combinations
- converge on a single room info provider
- rebuild all the previews
- prioritise the preview data over the room one.
* Retrofit `deferFulfillment` onto snapshot tests.
* Convert a bunch of preview tests to the new fulfillment publisher
* Convert more tests
* Remove unneeded delays from the remaining tests
* Remove snapshotting delay option.
* updated the order of the room details
also...
- removed the bloom bg from the join room screen
- now DMs do not necessarily need to be encrypted rooms
- changed bg of the knock banner
* removed unnecessary disabled
* updated join room screen tests
* making knockable rooms tappable
* added a way to customise the keyboard scrolling
in case we want the focussed view/textview to display something outside its content
* better documentation
* 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.
* Replace Prefire with a very similar but simpler and more direct approach
* Move PreviewTest snapshots to their new location (snapshotting default, mirrors UITests)
* Update acknowledgements
* Switch snapshot configuration extensions to a custom version
* Exclude snapshots from the PreviewTests target
* Fix acknowledgements
* Rename snapshotting preference keys
* Remove `skipPackagePluginValidation`
* 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
* Add inviter property to RoomProxyProtocol.
* Extract the room cell inviter label into it's own view.
* Use the new RoomInviterLabel in the JoinRoomScreen.
* Fix bug with invite to a public room.
* Remove the invites button when room list invites are enabled
* element-hq/element-x-ios/issues/2632 - Handle room permalinks based on their membership state and show the according room joining screens:
- modify the room flow coordinator to only take a roomID and be able to decide its own room flows (especially for unjoined rooms)
- add support for the new room preview API
- have RoomDirectorySearch go through the same paths