Enable the User Status feature on supported homeservers. (#6059)

* Remove the user status feature flag.

* Handle User Status in tests.
This commit is contained in:
Doug
2026-08-24 11:00:31 +01:00
committed by GitHub
parent 1ba090b914
commit 84556c0672
16 changed files with 32 additions and 41 deletions
@@ -36,7 +36,7 @@ enum SettingsScreenSecuritySectionMode {
struct SettingsScreenViewState: BindableState {
var deviceID: String?
var userProfile: UserProfile
var showUserStatus = false
var showUserStatusInput = false
var showLinkNewDeviceButton: Bool
var accountProfileURL: URL?
var showAccountDeactivation: Bool
@@ -85,8 +85,8 @@ class SettingsScreenViewModel: SettingsScreenViewModelType, SettingsScreenViewMo
.store(in: &cancellables)
Task {
if appSettings.userStatusEnabled, case .success(true) = await userSession.clientProxy.isUserStatusSupported() {
state.showUserStatus = true
if case .success(true) = await userSession.clientProxy.isUserStatusSupported() {
state.showUserStatusInput = true
}
await userSession.clientProxy.loadUserProfileIfNeeded()
}
@@ -23,7 +23,7 @@ struct SettingsScreen: View {
Form {
userSection
if context.viewState.showUserStatus {
if context.viewState.showUserStatusInput {
userStatusSection
}
@@ -291,12 +291,16 @@ struct SettingsScreen_Previews: PreviewProvider, TestablePreview {
SettingsScreen(context: viewModel.context)
}
.snapshotPreferences(expect: viewModel.context.observe(\.viewState.accountProfileURL).map { $0 != nil })
.frame(height: 1100)
.previewLayout(.sizeThatFits)
.previewDisplayName("Default")
ElementNavigationStack {
SettingsScreen(context: bugReportDisabledViewModel.context)
}
.snapshotPreferences(expect: bugReportDisabledViewModel.context.observe(\.viewState.accountProfileURL).map { $0 != nil })
.frame(height: 1050)
.previewLayout(.sizeThatFits)
.previewDisplayName("Bug report disabled")
}