relays: keep in sync with user relay list
Still need to figure out how to ensure new bootstrap relays are added... Changelog-Changed: Ensure contact relay list is kept in sync with internal relay pool
This commit is contained in:
@@ -41,13 +41,9 @@ struct ConfigView: View {
|
||||
var body: some View {
|
||||
ZStack(alignment: .leading) {
|
||||
Form {
|
||||
if let ev = state.contacts.event {
|
||||
Section("Relays") {
|
||||
if let relays = decode_json_relays(ev.content) {
|
||||
List(Array(relays.keys.sorted()), id: \.self) { relay in
|
||||
RelayView(state: state, ev: ev, relay: relay)
|
||||
}
|
||||
}
|
||||
Section("Relays") {
|
||||
List(Array(state.pool.relays), id: \.descriptor.url) { relay in
|
||||
RelayView(state: state, relay: relay.descriptor.url.absoluteString)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +109,6 @@ struct ConfigView: View {
|
||||
}
|
||||
.sheet(isPresented: $show_add_relay) {
|
||||
AddRelayView(show_add_relay: $show_add_relay, relay: $new_relay) { m_relay in
|
||||
|
||||
guard let relay = m_relay else {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ import SwiftUI
|
||||
|
||||
struct RelayView: View {
|
||||
let state: DamusState
|
||||
let ev: NostrEvent
|
||||
let relay: String
|
||||
|
||||
let timer = Timer.publish(every: 2, on: .main, in: .common).autoconnect()
|
||||
@@ -46,7 +45,12 @@ struct RelayView: View {
|
||||
.swipeActions {
|
||||
if let privkey = state.keypair.privkey {
|
||||
Button {
|
||||
guard let new_ev = remove_relay( ev: ev, privkey: privkey, relay: relay) else {
|
||||
guard let ev = state.contacts.event else {
|
||||
return
|
||||
}
|
||||
|
||||
let descriptors = state.pool.descriptors
|
||||
guard let new_ev = remove_relay( ev: ev, current_relays: descriptors, privkey: privkey, relay: relay) else {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -64,6 +68,6 @@ struct RelayView: View {
|
||||
|
||||
struct RelayView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
RelayView(state: test_damus_state(), ev: NostrEvent(content: "content", pubkey: "pk"), relay: "wss://relay.damus.io", conn_color: .red)
|
||||
RelayView(state: test_damus_state(), relay: "wss://relay.damus.io", conn_color: .red)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user