Repository navigation
Deliver shared-room mentions without a Sharing grant - #1130
Merged
Merged
Conversation
A user-mention of a Bot that already shares a live local or inbound seat was judged as a 1:1. Reach refused it when the sender had no grant, and the social plugin refused it when the seat was off the friend roster. The seat is the consent: that mention leaves as a room-share line and names no server room id. A stranger, a plain line, a ticket seat, and a seat that has left stay refused. Fixes #1126 Co-authored-by: Danyang Chen <birfychen@gmail.com>
Collaborator
Author
|
Verdict: FAIL at dbf9c1c Ran:
Not run: npm run verify, smoke, full #852/#864/#866 remote-room files, receiver test feeding coSeatEnvelope into applyInboundRoomShare. Findings:
This report is not merge authority. Do not enqueue. |
A live invite seat (admittedBy: ticket) was still refused on @…home, and every mention reused seq 0 so the second inbound line never showed. Fixes #1126 Co-authored-by: Danyang Chen <birfychen@gmail.com>
Collaborator
Author
|
Verdict: PASS at dca05d4 Ran:
Not run:
Prior FAIL at dbf9c1c, re-checked at this tip:
#883 still refuses a plain line, message_bot, and the other ticket negatives, and now allows this mention. #881, #948, and #1118 passed. Security: who, room name, and room id go through cleanText. The line body is the same room-share text a ticket seat line already carries. No actionable findings. |
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.
Written-by: Dev
Owner: Dev
Reviewer: Reviewer
Fixes #1126
What changed
A
@…homemention of a Bot that already shares a live local or inbound group was sent as a 1:1. Reach refused it when the sender had no Sharing grant, and the social plugin refused it when that seat was not on the friend roster. The seat is the consent.user-mentionis judged under that room (mentionRoom) and leaves as aFLYBOT-ROOM-SHAREop:line. A seat a group invite admitted (admittedBy: 'ticket') counts while it is still in the room. On the host the send namesroom_idas this room's id; on the guest it names the host room the link opened. An ordinary local room still names no Bot Socialroom_id. The envelopeseqis the room's next line number (rooms.takeLineSeq), the same counter a stored line uses, so a second mention is a new line.A plain line,
message_bot, a stranger outside every shared room, and a seat that has left stay refused.Reviewer FAIL at
dbf9c1caasked for both of those: ticket seats were skipped, andseqwas hardcoded to 0.Verification at the tip
Tip SHA: dca05d4
Red at base (
d797cbe, the #1126 social test only):bot.send({ via: 'user-mention' })to a live seat absent fromlist_remote_botsreturnedaction: deny,by: owner-policy, reasonChief is not shared with that friend, so it cannot message their Bots. To allow it, share Chief with them in its settings → Sharing.Ran:
TZ=UTC npm run verify(exit 0) on this tree: arch-docs OK (12 changed files);ds-bot-patches checkok; core 1470 pass / 0 fail; social 490 pass / 0 fail; tree 125 pass / 0 fail; timeline 125 pass / 0 fail;.github/scripts417 pass / 0 fail; interop 37 pass / 0 fail; live-e2e 16 pass / 0 failnode scripts/check-arch-docs.mjsagain at this tip: arch-docs OK (12 changed files)node .github/scripts/changelog.mjs check— 33 fragments well formed#1126and#883(2 pass, includingadmittedBy: 'ticket'host and guest seats and two advancing seqs); social#881,#948,#1118(11 pass)Not run: the smoke bench.
DSH_HARNESS=/workspace/core/dev/harness dev/bench.sh smoke 3096 8796 resetexited immediately becausedshcould not readapps/web/tests/pin-browse-picker.overlay.yml(ENOENT). The npm harness install is not a full DeepSeek Harness checkout. Nosrc/clientchange;build-client --checkpassed inside verify.