Replace AppSettings with UserSettings from the UserSessionFlow and below.

Remove some redundant injections when passed alongside a user session too.

# Conflicts:
#	ElementX/Sources/Screens/PinnedEventsTimelineScreen/View/PinnedEventsTimelineScreen.swift
#	ElementX/Sources/Screens/Timeline/TimelineViewModel.swift
This commit is contained in:
Doug
2026-09-25 13:51:33 +01:00
committed by Stefan Ceriu
parent 54cc1cba60
commit fccad5fc30
117 changed files with 554 additions and 594 deletions
@@ -13,7 +13,7 @@ struct JoinRoomScreenCoordinatorParameters {
let source: JoinRoomScreenSource
let userSession: UserSessionProtocol
let userIndicatorController: UserIndicatorControllerProtocol
let appSettings: AppSettings
let userSettings: UserSettings
}
enum JoinRoomScreenSource {
@@ -53,7 +53,7 @@ final class JoinRoomScreenCoordinator: CoordinatorProtocol {
init(parameters: JoinRoomScreenCoordinatorParameters) {
viewModel = JoinRoomScreenViewModel(source: parameters.source,
appSettings: parameters.appSettings,
userSettings: parameters.userSettings,
userSession: parameters.userSession,
userIndicatorController: parameters.userIndicatorController)
}
@@ -14,7 +14,7 @@ typealias JoinRoomScreenViewModelType = StateStoreViewModel<JoinRoomScreenViewSt
class JoinRoomScreenViewModel: JoinRoomScreenViewModelType, JoinRoomScreenViewModelProtocol {
private let source: JoinRoomScreenSource
private let appSettings: AppSettings
private let userSettings: UserSettings
private let clientProxy: ClientProxyProtocol
private let userIndicatorController: UserIndicatorControllerProtocol
@@ -30,11 +30,11 @@ class JoinRoomScreenViewModel: JoinRoomScreenViewModelType, JoinRoomScreenViewMo
}
init(source: JoinRoomScreenSource,
appSettings: AppSettings,
userSettings: UserSettings,
userSession: UserSessionProtocol,
userIndicatorController: UserIndicatorControllerProtocol) {
self.source = source
self.appSettings = appSettings
self.userSettings = userSettings
clientProxy = userSession.clientProxy
self.userIndicatorController = userIndicatorController
@@ -52,7 +52,7 @@ class JoinRoomScreenViewModel: JoinRoomScreenViewModelType, JoinRoomScreenViewMo
.sink { mode in
switch mode {
case .invited:
appSettings.seenInvites.insert(roomID)
userSettings.seenInvites.insert(roomID)
default:
break
}
@@ -350,7 +350,7 @@ class JoinRoomScreenViewModel: JoinRoomScreenViewModelType, JoinRoomScreenViewMo
guard !hasSentJoinAction else { return }
let roomID = state.roomID
appSettings.seenInvites.remove(roomID)
userSettings.seenInvites.remove(roomID)
guard state.roomDetails?.isSpace == true else {
hasSentJoinAction = true
@@ -464,7 +464,7 @@ class JoinRoomScreenViewModel: JoinRoomScreenViewModelType, JoinRoomScreenViewMo
return false
}
appSettings.seenInvites.remove(roomID)
userSettings.seenInvites.remove(roomID)
actionsSubject.send(.dismiss)
return true
@@ -402,7 +402,7 @@ struct JoinRoomScreenPreviewWrapper: Identifiable {
self.isSpace = isSpace
self.customPreviewName = customPreviewName
let appSettings = AppSettings.volatile()
let userSettings = UserSettings.volatile()
let clientProxy = ClientProxyMock(.init(hideInviteAvatars: hideInviteAvatars))
clientProxy.canJoinRoomWithReturnValue = canJoinRoom
@@ -455,7 +455,7 @@ struct JoinRoomScreenPreviewWrapper: Identifiable {
}
viewModel = JoinRoomScreenViewModel(source: source,
appSettings: appSettings,
userSettings: userSettings,
userSession: UserSessionMock(.init(clientProxy: clientProxy)),
userIndicatorController: UserIndicatorControllerMock())
}