feat: add EphemeralGiftWrapEvent (kind 21059)
Adds an ephemeral variant of GiftWrap for transient encrypted messages that relays don't need to persist. EphemeralGiftWrapEvent extends GiftWrapEvent so all existing processing paths (decryption, routing, notifications, call signaling) automatically handle it via type hierarchy. Relay subscription filters are updated to request both kinds. https://claude.ai/code/session_0157X96G6HLTzYxkdX9pyTSJ
This commit is contained in:
+3
-1
@@ -21,6 +21,8 @@
|
||||
package com.vitorpamplona.amethyst.desktop.subscriptions
|
||||
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
||||
import com.vitorpamplona.quartz.nip59Giftwrap.wraps.EphemeralGiftWrapEvent
|
||||
import com.vitorpamplona.quartz.nip59Giftwrap.wraps.GiftWrapEvent
|
||||
|
||||
/**
|
||||
* Type-safe builders for common Nostr filter patterns.
|
||||
@@ -540,7 +542,7 @@ object FilterBuilders {
|
||||
since: Long? = null,
|
||||
): Filter =
|
||||
Filter(
|
||||
kinds = listOf(1059), // GiftWrapEvent.KIND
|
||||
kinds = listOf(GiftWrapEvent.KIND, EphemeralGiftWrapEvent.KIND),
|
||||
tags = mapOf("p" to listOf(pubKeyHex)),
|
||||
since = since,
|
||||
)
|
||||
|
||||
+2
-1
@@ -25,6 +25,7 @@ import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import com.vitorpamplona.quartz.nip04Dm.messages.PrivateDmEvent
|
||||
import com.vitorpamplona.quartz.nip59Giftwrap.wraps.EphemeralGiftWrapEvent
|
||||
import com.vitorpamplona.quartz.nip59Giftwrap.wraps.GiftWrapEvent
|
||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||
|
||||
@@ -126,7 +127,7 @@ object FilterDMs {
|
||||
since: Long? = null,
|
||||
): Filter =
|
||||
Filter(
|
||||
kinds = listOf(GiftWrapEvent.KIND),
|
||||
kinds = listOf(GiftWrapEvent.KIND, EphemeralGiftWrapEvent.KIND),
|
||||
tags = mapOf("p" to listOf(userPubKeyHex)),
|
||||
since = since?.minus(TimeUtils.twoDays()),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user