Add timeout for fetching latest event

This commit is contained in:
2024-10-30 13:45:56 +01:00
parent c1b4665706
commit 6f8f60a9e2
2 changed files with 30 additions and 12 deletions

View File

@@ -135,12 +135,17 @@ class SettingsController < ApplicationController
def fetch_nostr_user_metadata
if @user.nostr_pubkey.present?
outbox_relay_urls = nil
if @nip65_event = NostrManager::DiscoverUserRelays.call(pubkey: @user.nostr_pubkey)
relay_tags = @nip65_event["tags"].select{ |t| t[0] == "r" }
outbox_relay_urls = relay_tags&.select{ |t| t[2] != "read" }&.map{ |t| t[1] }
end
@profile = NostrManager::DiscoverUserProfile.call(pubkey: @user.nostr_pubkey, relays: outbox_relay_urls)
@profile = NostrManager::DiscoverUserProfile.call(
pubkey: @user.nostr_pubkey,
relays: outbox_relay_urls
)
else
@relays, @profile = [nil, nil]
end