fix: query imported metadata by public key

This commit is contained in:
Avi 2026-09-01 09:54:39 -05:00
commit da33652f6d

View file

@ -135,7 +135,7 @@ pub fn import_profile(
None => secret_hex.to_string(), None => secret_hex.to_string(),
}; };
let created_at = unix_timestamp()?; let created_at = unix_timestamp()?;
let metadata = fetch_profile_metadata(&public_key, &relays::enabled_urls(settings)); let metadata = fetch_profile_metadata(&keys.public_key(), &relays::enabled_urls(settings));
let label = if label.trim().is_empty() { let label = if label.trim().is_empty() {
metadata metadata
.as_ref() .as_ref()
@ -496,12 +496,12 @@ fn publish_metadata_blocking(
/// Best-effort lookup of the account's latest kind-0 metadata. Import must /// Best-effort lookup of the account's latest kind-0 metadata. Import must
/// still succeed when relays are unavailable, so lookup failures are ignored. /// still succeed when relays are unavailable, so lookup failures are ignored.
fn fetch_profile_metadata(npub: &str, relay_urls: &[String]) -> Option<Metadata> { fn fetch_profile_metadata(public_key: &PublicKey, relay_urls: &[String]) -> Option<Metadata> {
if relay_urls.is_empty() { if relay_urls.is_empty() {
return None; return None;
} }
let public_key = PublicKey::from_bech32(npub).ok()?;
let relay_urls = relay_urls.to_vec(); let relay_urls = relay_urls.to_vec();
let public_key = *public_key;
std::thread::spawn(move || { std::thread::spawn(move || {
tokio::runtime::Runtime::new().ok()?.block_on(async move { tokio::runtime::Runtime::new().ok()?.block_on(async move {
let client = let client =