code clean-up: @discardableResult, unused params, simplify getting specific relays from pool

Closes: #635
This commit is contained in:
Bryan Montz
2023-02-17 06:58:53 -06:00
committed by William Casarin
parent a1a89dc98e
commit 193e922c9c
11 changed files with 21 additions and 36 deletions

View File

@@ -328,7 +328,7 @@ struct ContentView: View {
PostView(replying_to: nil, references: [], damus_state: damus_state!) PostView(replying_to: nil, references: [], damus_state: damus_state!)
case .reply(let event): case .reply(let event):
ReplyView(replying_to: event, damus: damus_state!) ReplyView(replying_to: event, damus: damus_state!)
case .event(let event): case .event:
EventDetailView() EventDetailView()
case .filter: case .filter:
let timeline = selected_timeline ?? .home let timeline = selected_timeline ?? .home

View File

@@ -471,12 +471,11 @@ class HomeModel: ObservableObject {
} }
} }
func insert_home_event(_ ev: NostrEvent) -> Bool { func insert_home_event(_ ev: NostrEvent) {
let ok = insert_uniq_sorted_event(events: &self.events, new_ev: ev, cmp: { $0.created_at > $1.created_at }) let ok = insert_uniq_sorted_event(events: &self.events, new_ev: ev, cmp: { $0.created_at > $1.created_at })
if ok { if ok {
handle_last_event(ev: ev, timeline: .home) handle_last_event(ev: ev, timeline: .home)
} }
return ok
} }
func handle_text_event(sub_id: String, _ ev: NostrEvent) { func handle_text_event(sub_id: String, _ ev: NostrEvent) {
@@ -485,7 +484,7 @@ class HomeModel: ObservableObject {
} }
if sub_id == home_subid { if sub_id == home_subid {
let _ = insert_home_event(ev) insert_home_event(ev)
} else if sub_id == notifications_subid { } else if sub_id == notifications_subid {
handle_notification(ev: ev) handle_notification(ev: ev)
} }
@@ -657,14 +656,14 @@ func process_metadata_event(our_pubkey: String, profiles: Profiles, ev: NostrEve
// load pfps asap // load pfps asap
let picture = tprof.profile.picture ?? robohash(ev.pubkey) let picture = tprof.profile.picture ?? robohash(ev.pubkey)
if let _ = URL(string: picture) { if URL(string: picture) != nil {
DispatchQueue.main.async { DispatchQueue.main.async {
notify(.profile_updated, ProfileUpdate(pubkey: ev.pubkey, profile: profile)) notify(.profile_updated, ProfileUpdate(pubkey: ev.pubkey, profile: profile))
} }
} }
let banner = tprof.profile.banner ?? "" let banner = tprof.profile.banner ?? ""
if let _ = URL(string: banner) { if URL(string: banner) != nil {
DispatchQueue.main.async { DispatchQueue.main.async {
notify(.profile_updated, ProfileUpdate(pubkey: ev.pubkey, profile: profile)) notify(.profile_updated, ProfileUpdate(pubkey: ev.pubkey, profile: profile))
} }

View File

@@ -111,7 +111,7 @@ class ProfileModel: ObservableObject, Equatable {
return return
} }
if ev.is_textlike || ev.known_kind == .boost { if ev.is_textlike || ev.known_kind == .boost {
let _ = insert_uniq_sorted_event(events: &self.events, new_ev: ev, cmp: { $0.created_at > $1.created_at}) insert_uniq_sorted_event(events: &self.events, new_ev: ev, cmp: { $0.created_at > $1.created_at})
} else if ev.known_kind == .contacts { } else if ev.known_kind == .contacts {
handle_profile_contact_event(ev) handle_profile_contact_event(ev)
} else if ev.known_kind == .metadata { } else if ev.known_kind == .metadata {

View File

@@ -61,7 +61,7 @@ class SearchHomeModel: ObservableObject {
} }
seen_pubkey.insert(ev.pubkey) seen_pubkey.insert(ev.pubkey)
let _ = insert_uniq_sorted_event(events: &events, new_ev: ev) { insert_uniq_sorted_event(events: &events, new_ev: ev) {
$0.created_at > $1.created_at $0.created_at > $1.created_at
} }
} }

View File

@@ -72,7 +72,7 @@ func char_to_hex(_ c: UInt8) -> UInt8?
return nil; return nil;
} }
@discardableResult
func hex_decode(_ str: String) -> [UInt8]? func hex_decode(_ str: String) -> [UInt8]?
{ {
if str.count == 0 { if str.count == 0 {

View File

@@ -195,27 +195,13 @@ class RelayPool {
relay.connection.send(req) relay.connection.send(req)
} }
} }
func get_relays(_ ids: [String]) -> [Relay] { func get_relays(_ ids: [String]) -> [Relay] {
var relays: [Relay] = [] relays.filter { ids.contains($0.id) }
for id in ids {
if let relay = get_relay(id) {
relays.append(relay)
}
}
return relays
} }
func get_relay(_ id: String) -> Relay? { func get_relay(_ id: String) -> Relay? {
for relay in relays { relays.first(where: { $0.id == id })
if relay.id == id {
return relay
}
}
return nil
} }
func record_last_pong(relay_id: String, event: NostrConnectionEvent) { func record_last_pong(relay_id: String, event: NostrConnectionEvent) {

View File

@@ -143,6 +143,7 @@ func eightToFiveBits(_ input: [UInt8]) -> [UInt8] {
} }
/// Decode Bech32 string /// Decode Bech32 string
@discardableResult
public func bech32_decode(_ str: String) throws -> (hrp: String, data: Data)? { public func bech32_decode(_ str: String) throws -> (hrp: String, data: Data)? {
guard let strBytes = str.data(using: .utf8) else { guard let strBytes = str.data(using: .utf8) else {
throw Bech32Error.nonUTF8String throw Bech32Error.nonUTF8String

View File

@@ -38,6 +38,7 @@ func insert_uniq_by_pubkey(events: inout [NostrEvent], new_ev: NostrEvent, cmp:
return true return true
} }
@discardableResult
func insert_uniq_sorted_zap(zaps: inout [Zap], new_zap: Zap) -> Bool { func insert_uniq_sorted_zap(zaps: inout [Zap], new_zap: Zap) -> Bool {
var i: Int = 0 var i: Int = 0
@@ -58,6 +59,7 @@ func insert_uniq_sorted_zap(zaps: inout [Zap], new_zap: Zap) -> Bool {
return true return true
} }
@discardableResult
func insert_uniq_sorted_event(events: inout [NostrEvent], new_ev: NostrEvent, cmp: (NostrEvent, NostrEvent) -> Bool) -> Bool { func insert_uniq_sorted_event(events: inout [NostrEvent], new_ev: NostrEvent, cmp: (NostrEvent, NostrEvent) -> Bool) -> Bool {
var i: Int = 0 var i: Int = 0

View File

@@ -36,7 +36,7 @@ class Zaps {
if our_zaps[note_target.note_id] == nil { if our_zaps[note_target.note_id] == nil {
our_zaps[note_target.note_id] = [zap] our_zaps[note_target.note_id] = [zap]
} else { } else {
let _ = insert_uniq_sorted_zap(zaps: &(our_zaps[note_target.note_id]!), new_zap: zap) insert_uniq_sorted_zap(zaps: &(our_zaps[note_target.note_id]!), new_zap: zap)
} }
case .profile(_): case .profile(_):
break break
@@ -61,7 +61,5 @@ class Zaps {
event_totals[id] = event_totals[id]! + zap.invoice.amount event_totals[id] = event_totals[id]! + zap.invoice.amount
notify(.update_stats, zap.target.id) notify(.update_stats, zap.target.id)
return
} }
} }

View File

@@ -22,9 +22,8 @@ struct RelayConfigView: View {
var recommended: [RelayDescriptor] { var recommended: [RelayDescriptor] {
let rs: [RelayDescriptor] = [] let rs: [RelayDescriptor] = []
return BOOTSTRAP_RELAYS.reduce(into: rs) { (xs, x) in return BOOTSTRAP_RELAYS.reduce(into: rs) { xs, x in
if let _ = state.pool.get_relay(x) { if state.pool.get_relay(x) == nil {
} else {
xs.append(RelayDescriptor(url: URL(string: x)!, info: .rw)) xs.append(RelayDescriptor(url: URL(string: x)!, info: .rw))
} }
} }

View File

@@ -95,20 +95,20 @@ struct SearchResultsView: View {
return return
} }
if let _ = hex_decode(new), new.count == 64 { if hex_decode(new) != nil, new.count == 64 {
self.result = .hex(new) self.result = .hex(new)
return return
} }
if new.starts(with: "npub") { if new.starts(with: "npub") {
if let _ = try? bech32_decode(new) { if (try? bech32_decode(new)) != nil {
self.result = .profile(new) self.result = .profile(new)
return return
} }
} }
if new.starts(with: "note") { if new.starts(with: "note") {
if let _ = try? bech32_decode(new) { if (try? bech32_decode(new)) != nil {
self.result = .note(new) self.result = .note(new)
return return
} }