mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 19:44:05 +00:00
Automatically try reloading failed images on network changes (#3170)
* 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
This commit is contained in:
@@ -82,7 +82,7 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr
|
||||
joinedMembersCount: roomProxy.joinedMembersCount,
|
||||
notificationSettingsState: .loading,
|
||||
bindings: .init()),
|
||||
imageProvider: mediaProvider)
|
||||
mediaProvider: mediaProvider)
|
||||
|
||||
appSettings.$pinningEnabled
|
||||
.weakAssign(to: \.state.isPinningEnabled, on: self)
|
||||
|
||||
@@ -74,7 +74,7 @@ struct RoomDetailsScreen: View {
|
||||
private var normalRoomHeaderSection: some View {
|
||||
AvatarHeaderView(room: context.viewState.details,
|
||||
avatarSize: .room(on: .details),
|
||||
imageProvider: context.imageProvider) {
|
||||
mediaProvider: context.mediaProvider) {
|
||||
context.send(viewAction: .displayAvatar)
|
||||
} footer: {
|
||||
if !context.viewState.shortcuts.isEmpty {
|
||||
@@ -87,7 +87,7 @@ struct RoomDetailsScreen: View {
|
||||
private func dmHeaderSection(accountOwner: RoomMemberDetails, recipient: RoomMemberDetails) -> some View {
|
||||
AvatarHeaderView(accountOwner: accountOwner,
|
||||
dmRecipient: recipient,
|
||||
imageProvider: context.imageProvider) {
|
||||
mediaProvider: context.mediaProvider) {
|
||||
context.send(viewAction: .displayAvatar)
|
||||
} footer: {
|
||||
if !context.viewState.shortcuts.isEmpty {
|
||||
|
||||
Reference in New Issue
Block a user