Browse Source

bug-fixes

imwald
Silberengel 1 month ago
parent
commit
d538d93e01
  1. 4
      package-lock.json
  2. 2
      package.json
  3. 16
      src/services/client-replaceable-events.service.ts

4
package-lock.json generated

@ -1,12 +1,12 @@
{ {
"name": "imwald", "name": "imwald",
"version": "23.5.1", "version": "23.5.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "imwald", "name": "imwald",
"version": "23.5.1", "version": "23.5.2",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@asciidoctor/core": "^3.0.4", "@asciidoctor/core": "^3.0.4",

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "imwald", "name": "imwald",
"version": "23.5.1", "version": "23.5.2",
"description": "Imwald — a user-friendly Nostr client focused on relay feed browsing, publications, and relay discovery", "description": "Imwald — a user-friendly Nostr client focused on relay feed browsing, publications, and relay discovery",
"private": true, "private": true,
"type": "module", "type": "module",

16
src/services/client-replaceable-events.service.ts

@ -566,6 +566,19 @@ export class ReplaceableEventService {
) )
) )
).filter(Boolean) ).filter(Boolean)
} else if (kind === ExtendedKind.PAYMENT_INFO) {
// NIP-A3 kind 10133: often published to the user's write relays only; FAST_READ alone misses many copies.
// Mirror contacts + pin-list coverage (writes + profile mirrors + aggregators + fast read).
relayUrls = Array.from(
new Set(
[
...FAST_WRITE_RELAY_URLS,
...READ_ONLY_RELAY_URLS,
...PROFILE_FETCH_RELAY_URLS,
...FAST_READ_RELAY_URLS
].map((u) => normalizeUrl(u) || u)
)
).filter(Boolean)
} else { } else {
relayUrls = [...FAST_READ_RELAY_URLS] relayUrls = [...FAST_READ_RELAY_URLS]
} }
@ -584,7 +597,8 @@ export class ReplaceableEventService {
relayCount: relayUrls.length relayCount: relayUrls.length
}) })
} }
const isSlowReplaceableBatch = kind === kinds.Metadata || kind === 10001 const isSlowReplaceableBatch =
kind === kinds.Metadata || kind === 10001 || kind === ExtendedKind.PAYMENT_INFO
const multiAuthorBatch = pubkeys.length > 1 const multiAuthorBatch = pubkeys.length > 1
// replaceableRace + default grace closes the REQ shortly after the first EVENT. For batched kind-0 // replaceableRace + default grace closes the REQ shortly after the first EVENT. For batched kind-0
// (many `authors` in one filter) that stops the subscription while most profiles are still in flight. // (many `authors` in one filter) that stops the subscription while most profiles are still in flight.

Loading…
Cancel
Save