Handle media previews and invite avatars through the account data (#4142)

* added account data media display policy handling to NSE

* pr suggestions

* update compound

* code improvement
This commit is contained in:
Mauro
2025-05-28 19:51:34 +02:00
committed by GitHub
parent 256292c5a9
commit aef91b5bc9
24 changed files with 626 additions and 61 deletions
@@ -88,7 +88,7 @@ class TimelineViewModel: TimelineViewModelType, TimelineViewModelProtocol {
timelineControllerFactory: timelineControllerFactory,
clientProxy: clientProxy)
let hideTimelineMedia = switch appSettings.timelineMediaVisibility {
let hideTimelineMedia = switch clientProxy.timelineMediaVisibilityPublisher.value {
case .always:
false
case .privateOnly:
@@ -525,7 +525,7 @@ class TimelineViewModel: TimelineViewModelType, TimelineViewModelProtocol {
.weakAssign(to: \.state.isViewSourceEnabled, on: self)
.store(in: &cancellables)
appSettings.$timelineMediaVisibility
clientProxy.timelineMediaVisibilityPublisher
.removeDuplicates()
.flatMap { [weak self] timelineMediaVisibility -> AnyPublisher<Bool, Never> in
switch timelineMediaVisibility {
@@ -538,10 +538,10 @@ class TimelineViewModel: TimelineViewModelType, TimelineViewModelProtocol {
return roomProxy.infoPublisher
.map { !$0.isPrivate }
.removeDuplicates()
.receive(on: DispatchQueue.main)
.eraseToAnyPublisher()
}
}
.receive(on: DispatchQueue.main)
.weakAssign(to: \.state.hideTimelineMedia, on: self)
.store(in: &cancellables)
}