Skip to content

Quiet log noise from foreign non-Angor kind-3030 Nostr events#907

Merged
dangershony merged 1 commit into
mainfrom
fix/relay-foreign-kind-3030-noise
Jul 1, 2026
Merged

Quiet log noise from foreign non-Angor kind-3030 Nostr events#907
dangershony merged 1 commit into
mainfrom
fix/relay-foreign-kind-3030-noise

Conversation

@dangershony

Copy link
Copy Markdown
Member

Problem

RelayService.LookupLatestProjects (used by Find Projects -> latest-from-Nostr flow) subscribes to all events of kind 3030 across every configured relay, including public general-purpose relays (
elay.damus.io,
os.lol). This produced warnings like:

warn: Angor.Shared.Services.RelayService[0]
      Failed to deserialize project info from Nostr event 467c7e83fedc1e90eb5463ea86bba604246660925777d3d625688a65fcf3504a
      System.Text.Json.JsonException: 'x' is an invalid end of a number. Expected a delimiter.

Root cause

Kind 3030 is Angor's own draft/custom Nostr kind and is not officially reserved in the canonical Nostr NIPs registry, so other unrelated applications can reuse the same kind number. I fetched the exact event directly from
elay.damus.io and confirmed:

  • content is a

RelayService.LookupLatestProjects listens for all kind-3030 events across
every configured relay, including public general-purpose relays. Kind 3030
is a draft/custom Nostr kind (not officially reserved), so other apps can
and do reuse the same kind number for unrelated, non-JSON content, which
previously logged a Warning with a full JsonException stack trace for
every such event.

Add a cheap LooksLikeJsonObject check before attempting deserialization:
content that isn't shaped like a JSON object is skipped quietly at Debug
level, while content that looks like JSON but still fails to map to T
still logs at Warning, since that would indicate a real Angor-side issue.
@dangershony dangershony merged commit 81caf05 into main Jul 1, 2026
3 checks passed
@dangershony dangershony deleted the fix/relay-foreign-kind-3030-noise branch July 1, 2026 21:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant