commit 475940aa01c6ba6beab5ef518eb8ab8d8e04cbb7 parent 28a06af534fc46a9b0928c23d25430323865155d Author: William Casarin <jb55@jb55.com> Date: Thu, 4 Apr 2024 20:47:25 +0100 Fix relay compile issue Signed-off-by: William Casarin <jb55@jb55.com> Diffstat:
7 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/damus/Features/Actions/ActionBar/Views/EventActionBar.swift b/damus/Features/Actions/ActionBar/Views/EventActionBar.swift @@ -218,13 +218,13 @@ struct EventActionBar: View { } } - var event_relay_url_strings: [String] { + var event_relay_url_strings: [RelayURL] { let relays = damus_state.nostrNetwork.relaysForEvent(event: event) if !relays.isEmpty { - return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0.absoluteString } + return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0 } } - return userProfile.getCappedRelayStrings() + return userProfile.getCappedRelays() } var body: some View { diff --git a/damus/Features/Actions/ActionBar/Views/ShareAction.swift b/damus/Features/Actions/ActionBar/Views/ShareAction.swift @@ -27,13 +27,13 @@ struct ShareAction: View { self._show_share = show_share } - var event_relay_url_strings: [String] { + var event_relay_url_strings: [RelayURL] { let relays = userProfile.damus.nostrNetwork.relaysForEvent(event: event) if !relays.isEmpty { - return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0.absoluteString } + return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0 } } - return userProfile.getCappedRelayStrings() + return userProfile.getCappedRelays() } var body: some View { @@ -49,7 +49,7 @@ struct ShareAction: View { ShareActionButton(img: "link", text: NSLocalizedString("Copy Link", comment: "Button to copy link to note")) { dismiss() - UIPasteboard.general.string = "https://damus.io/" + Bech32Object.encode(.nevent(NEvent(event: event, relays: event_relay_url_strings))) + UIPasteboard.general.string = "https://damus.io/" + Bech32Object.encode(.nevent(NEvent(noteid: event.id, relays: userProfile.getCappedRelays()))) } let bookmarkImg = isBookmarked ? "bookmark.fill" : "bookmark" diff --git a/damus/Features/Events/EventMenu.swift b/damus/Features/Events/EventMenu.swift @@ -64,13 +64,13 @@ struct MenuItems: View { self.profileModel = profileModel } - var event_relay_url_strings: [String] { + var event_relay_url_strings: [RelayURL] { let relays = damus_state.nostrNetwork.relaysForEvent(event: event) if !relays.isEmpty { - return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0.absoluteString } + return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0 } } - return profileModel.getCappedRelayStrings() + return profileModel.getCappedRelays() } var body: some View { @@ -82,7 +82,7 @@ struct MenuItems: View { } Button { - UIPasteboard.general.string = Bech32Object.encode(.nprofile(NProfile(author: target_pubkey, relays: profileModel.getCappedRelayStrings()))) + UIPasteboard.general.string = Bech32Object.encode(.nprofile(NProfile(author: target_pubkey, relays: profileModel.getCappedRelays()))) } label: { Label(NSLocalizedString("Copy user public key", comment: "Context menu option for copying the ID of the user who created the note."), image: "user") } diff --git a/damus/Features/Posting/Views/PostView.swift b/damus/Features/Posting/Views/PostView.swift @@ -920,7 +920,7 @@ func build_post(state: DamusState, post: NSAttributedString, action: PostAction, case .quoting(let ev): let relay_urls = state.nostrNetwork.relaysForEvent(event: ev) - let nevent = Bech32Object.encode(.nevent(NEvent(event: ev, relays: relay_urls.prefix(4).map { $0.absoluteString }))) + let nevent = Bech32Object.encode(.nevent(NEvent(event: ev, relays: relay_urls.prefix(4).map { $0 }))) content.append("\n\nnostr:\(nevent)") if let first_relay = relay_urls.first?.absoluteString { diff --git a/damus/Features/Profile/Models/ProfileModel.swift b/damus/Features/Profile/Models/ProfileModel.swift @@ -219,8 +219,8 @@ class ProfileModel: ObservableObject, Equatable { damus.nostrNetwork.pool.unsubscribe(sub_id: findRelay_subid) } - func getCappedRelayStrings() -> [String] { - return self.relay_urls?.prefix(Constants.MAX_SHARE_RELAYS).map { $0.absoluteString } ?? [] + func getCappedRelays() -> [RelayURL] { + return relay_list?.relays.keys.prefix(Constants.MAX_SHARE_RELAYS).map { $0 } ?? [] } } diff --git a/damus/Shared/Utilities/Bech32Object.swift b/damus/Shared/Utilities/Bech32Object.swift @@ -28,7 +28,7 @@ struct NEvent : Equatable, Hashable { self.kind = kind } - init(event: NostrEvent, relays: [String]) { + init(event: NostrEvent, relays: [RelayURL]) { self.init(noteid: event.id, relays: relays, author: event.pubkey, kind: event.kind) } } diff --git a/damusTests/Bech32ObjectTests.swift b/damusTests/Bech32ObjectTests.swift @@ -169,7 +169,8 @@ class Bech32ObjectTests: XCTestCase { } func testTLVEncoding_NeventFromNostrEvent_ValidContent() throws { - let relays = ["wss://relay.damus.io", "wss://relay.nostr.band"] + let relay_strings = ["wss://relay.damus.io", "wss://relay.nostr.band"] + let relays = relay_strings.map({ RelayURL($0)! }) let nevent = NEvent(event: test_note, relays: relays) XCTAssertEqual(nevent.noteid, test_note.id)