mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 11:18:24 +00:00
Merge pull request #4308 from vitorpamplona/claude/keen-galileo-x783ag
Fix possessive @mentions and prevent p-tags in NIP-17 DMs
This commit is contained in:
+11
@@ -209,4 +209,15 @@ class NewMessageTaggerKeyParseTest {
|
||||
|
||||
assertTrue(tagger.message.startsWith("hi nostr:nprofile1"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun possessiveAtMentionBecomesNostrUri() =
|
||||
runBlocking {
|
||||
val npub = "npub19ma2w9dmk3kat0nt0k5dwuqzvmg3va9ezwup0zkakhpwv0vcwvcsg8axkl"
|
||||
val tagger = NewMessageTagger(message = "@$npub's ERP screens look good", dao = dao)
|
||||
tagger.run()
|
||||
|
||||
val nprofile = tagger.pTags!!.single().toNProfile()
|
||||
assertEquals("nostr:$nprofile's ERP screens look good", tagger.message)
|
||||
}
|
||||
}
|
||||
|
||||
+7
-1
@@ -603,7 +603,13 @@ class ChatNewMessageViewModel :
|
||||
) {
|
||||
val room = room.value ?: return
|
||||
|
||||
val messageText = message.text.toString()
|
||||
// Rewrites typed `@npub…`/`note1…` references into `nostr:` URIs. Only the rewritten text is
|
||||
// used: the tagger's pTags must NOT reach the event, since a NIP-17 room is defined by its
|
||||
// p-tags — adding a mentioned user would send the message to a different conversation.
|
||||
val tagger = NewMessageTagger(message.text.toString(), null, null, accountViewModel)
|
||||
tagger.run()
|
||||
|
||||
val messageText = tagger.message
|
||||
val urls = findURLs(messageText)
|
||||
val usedAttachments = iMetaAttachments.filterIsIn(urls.toSet())
|
||||
val emojis = accountViewModel.account.emoji.findEmojiTags(messageText)
|
||||
|
||||
Reference in New Issue
Block a user