Never pass a Promise<T> where a T is expected. Either await it first, or redesign the API to handle the promise properly. Nostr clients, relay lists I suppose come from async storage (IndexedDB, localStorage, network), so getRelays() being async may be validβit justs, somehow needs to handle properly at the call site.
I just cannot find a common pattern to do the fix. I have a possible fix in mind
the NostrService has an async method getRelays that returns a Promise, but when calling subscribeMany, it's being passed directly without awaiting.
In two weeks I might figure it out,when Iβm not thinking of it so much, no rush