fix(desktop): deliver and retain Inbox DM messages - #5635
Open
skulk-and-quarrel wants to merge 2 commits into
Open
fix(desktop): deliver and retain Inbox DM messages#5635skulk-and-quarrel wants to merge 2 commits into
skulk-and-quarrel wants to merge 2 commits into
Conversation
Co-authored-by: Emre <skulk-quarrel@hotmail.com> Signed-off-by: Emre <skulk-quarrel@hotmail.com>
skulk-and-quarrel
force-pushed
the
agent/dm-inbox-nip10-replies
branch
from
August 12, 2026 07:00
27b2ee1 to
4244af9
Compare
This was referenced Aug 12, 2026
Co-authored-by: Emre <skulk-quarrel@hotmail.com> Signed-off-by: Emre <skulk-quarrel@hotmail.com>
skulk-and-quarrel
marked this pull request as ready for review
August 12, 2026 07:51
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
ptags required for deliveryFixes #5632.
Root cause
The screenshot's highlighted Inbox send is signed event
929865d3c0…. Its only tag is the DM channel'shtag: it has neither a participantptag nor a threadetag.Inbox called
sendChannelMessagedirectly with only the composer's explicit@mentionpubkeys. When the user typed no explicit mention, the event was published ash-only. The normal channel composer instead usesuseSendMessageMutation, whosemessageMentionPubkeysstep adds every other DM participant. Without Honey'sptag, the managed-agent harness was not addressed, explaining the missing working reaction, activity, and reply.That separate Inbox send path also bypassed the shared
channelWindowStoreoptimistic/success reconciliation used by the DM conversation. A locally rendered Inbox row could therefore be replaced when a later send or refresh re-projected the authoritative channel window.There was a second projection gap: managed-agent responses sent as ordinary NIP-10 replies are intentionally absent from stream-style top-level channel windows. Inbox previously treated a DM as a flat conversation but consumed only that top-level projection, so a persisted agent reply could be visible in activity while absent from Inbox DM detail.
Fix
Inbox now uses the shared send mutation for every supported channel. For DMs this adds the implicit participant tags and updates the same cache consumed by the conversation view.
Selected Inbox DMs also keep their subscription live, retain normal reply events in the DM window, and merge a recent direct channel-content fetch into Inbox context.
Testing
Verified on commit
45c60632ff8c69b8ebe895fbefc4696a2dd43112:just ci— passed (formatting, lint/type/file-size gates, Rust, desktop, web, and mobile suites)cd desktop && pnpm build:e2e && pnpm exec playwright test tests/e2e/channels.spec.ts --grep 'Inbox DM send addresses the participant and survives a newer channel send'— passedptag, remains visible after opening the conversation, and survives a newer send