ui: fix channel creation with relays of disabled operator (#6841)

This commit is contained in:
spaced4ndy
2026-04-20 10:58:59 +00:00
committed by GitHub
parent 2eb25d124f
commit 260bd676cc
2 changed files with 4 additions and 0 deletions

View File

@@ -222,6 +222,7 @@ struct AddChannelView: View {
var operatorGroups: [[UserChatRelay]] = []
var customRelays: [UserChatRelay] = []
for op in servers {
guard op.operator?.enabled ?? true else { continue }
let relays = op.chatRelays.filter { $0.enabled && !$0.deleted && $0.chatRelayId != nil }
guard !relays.isEmpty else { continue }
if op.operator != nil {
@@ -256,6 +257,7 @@ struct AddChannelView: View {
private func checkHasRelays() async -> Bool {
guard let servers = try? await getUserServers() else { return false }
return servers.contains { op in
(op.operator?.enabled ?? true) &&
op.chatRelays.contains { $0.enabled && !$0.deleted && $0.chatRelayId != nil }
}
}

View File

@@ -180,6 +180,7 @@ private suspend fun chooseRandomRelays(): List<UserChatRelay> {
val operatorGroups = mutableListOf<List<UserChatRelay>>()
var customRelays = mutableListOf<UserChatRelay>()
for (op in servers) {
if (op.operator?.enabled == false) continue
val relays = op.chatRelays.filter { it.enabled && !it.deleted && it.chatRelayId != null }
if (relays.isEmpty()) continue
if (op.operator != null) {
@@ -212,6 +213,7 @@ private suspend fun chooseRandomRelays(): List<UserChatRelay> {
private suspend fun checkHasRelays(): Boolean {
val servers = try { getUserServers(rh = null) } catch (_: Exception) { null } ?: return false
return servers.any { op ->
(op.operator?.enabled ?: true) &&
op.chatRelays.any { it.enabled && !it.deleted && it.chatRelayId != null }
}
}