fix(nip46): give the auto-naming kind-0 fetch a 30s budget, not 10s
fetch_profile_metadata itself waits up to 10s for the relay pool to
connect before it fetches at all, and the user's relay list includes
relay.nostr.band whose handshake hangs past that. The outer 10s timeout
therefore killed the enrichment task before the first REQ went out —
live Sep 25: nos.lol served the account's kind-0 ('web5osint') within
2s of an anonymous probe, yet the profile row kept the seed label.
30s outer > 10s connect-wait + per-relay fetches.
This commit is contained in:
parent
fc2fe93161
commit
b5c61deec6
1 changed files with 8 additions and 1 deletions
|
|
@ -2333,8 +2333,15 @@ impl Nip46ClientSigner {
|
||||||
let app = app.lock().await;
|
let app = app.lock().await;
|
||||||
crate::relays::enabled_urls(&app.settings)
|
crate::relays::enabled_urls(&app.settings)
|
||||||
};
|
};
|
||||||
|
// Outer budget must exceed the inner worst case:
|
||||||
|
// fetch_profile_metadata waits up to 10s for the pool to
|
||||||
|
// connect (relay.nostr.band is a known handshake-hanger and
|
||||||
|
// sits in the user's relay list), then fetches per relay.
|
||||||
|
// A 10s outer timeout killed the task during the connect
|
||||||
|
// wait — live Sep 25: nos.lol held the account's kind-0
|
||||||
|
// ('web5osint') but the profile kept the seed label.
|
||||||
let meta = match tokio::time::timeout(
|
let meta = match tokio::time::timeout(
|
||||||
Duration::from_secs(10),
|
Duration::from_secs(30),
|
||||||
tokio::task::spawn_blocking(move || {
|
tokio::task::spawn_blocking(move || {
|
||||||
profiles::fetch_profile_metadata(&identity, &relays_for_meta)
|
profiles::fetch_profile_metadata(&identity, &relays_for_meta)
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue