Skip to content

feat: DM relay infrastructure and private zaps#193

Merged
barrydeen merged 2 commits intomainfrom
feat/default-dm-relays
Mar 10, 2026
Merged

feat: DM relay infrastructure and private zaps#193
barrydeen merged 2 commits intomainfrom
feat/default-dm-relays

Conversation

@barrydeen
Copy link
Copy Markdown
Owner

@barrydeen barrydeen commented Mar 10, 2026

Summary

  • Apply default DM relays (kind 10050) for users with none configured and broadcast relay lists to indexers on startup
  • Cache DM relay lists (kind 10050) in RelayListRepository alongside kind 10002 relay metadata
  • Route private zap requests exclusively through DM relays so receipts stay off public relays
  • Add private zap toggle in ZapDialog (mutually exclusive with anonymous), gated on both parties having DM relays
  • Detect private zaps by matching zap request relay URLs against cached DM relay sets
  • Add long-press zap inspector dialog showing receipt details, relay provenance, and zap request relay tags
  • Subscribe to DM relays for kind 9735 receipts at startup and during feed engagement to ensure private zaps persist across sessions
  • Replace Triple with ZapDetail data class for cleaner zap tracking throughout the codebase

Test plan

  • Verify default DM relays are applied for new users with no kind 10050 set
  • Send a private zap to a user with DM relays — confirm 9734 relay tag only contains DM relay URLs
  • Verify private toggle is hidden when recipient has no DM relays
  • Verify anonymous and private toggles are mutually exclusive
  • Long-press a zap in notifications or reaction details to open inspector
  • Verify private zap receipts persist after logout/login
  • Verify private zap icon (mask) appears next to zaps in notifications and reaction details

barrydeen and others added 2 commits March 10, 2026 13:33
…elay lists to indexers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Route zap receipts through DM relays (kind 10050) for privacy, add
private toggle in ZapDialog, detect private zaps via relay URL matching,
and add long-press zap inspector for debugging relay provenance.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@barrydeen barrydeen changed the title feat: default DM relays and indexer relay broadcasting feat: DM relay infrastructure and private zaps Mar 10, 2026
@barrydeen barrydeen merged commit b9e1f1a into main Mar 10, 2026
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