code clean-up: @discardableResult, unused params, simplify getting specific relays from pool
Closes: #635
This commit is contained in:
committed by
William Casarin
parent
a1a89dc98e
commit
193e922c9c
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user