fix: (detect) quote notifications (from third-party clients) #3452
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Per NIP-18, quote posts use q tags:
["q", "<event-id>", "<relay-url>", "<pubkey>"]. Third-party Nostr clients may only include the q tag without a separate p tag for the quoted note's author. This causes Damus to miss quote notifications because the existing notification filter only uses#p(pubkey) matching.This fix adds quote notification detection by:
#qwith our note IDshandle_notification()to accept events that either reference our pubkey OR quote one of our notesChecklist
Standard PR Checklist
Closes:orFixes:tags in the commit messages wherever applicable, or made sure those are not needed. See Submitting patchesTest report
Device: iPhone 17 Pro Simulator
iOS: iOS 26
Damus: Commit 4085b5a
Setup: Test account configured with existing posts that can be quoted
Steps:
QuoteNotificationTests(5 tests)Results:
Screenshots
Other notes
This PR also includes 5 regression tests in
QuoteNotificationTests.swiftcovering:Closes #3447
Closes #3449
Closes #3450