Repository navigation
Clear ordinary shared-group replies without pair Auto-send - #1122
Conversation
Seating both Bots in a shared group is the consent for ordinary room text. A home with Auto-send off was leaving FLYBOT-ROOM-SHARE policy holds pending, so the other side saw "Waiting for the owner's approval" and the reply never arrived. A file, a DLP reason, a risk flag, or an instruction-override still waits. Fixes #1118 Co-authored-by: Danyang Chen <birfychen@gmail.com>
79f01aa to
11d4ae5
Compare
|
Verdict: FAIL at 11d4ae5 Ran:
Not run:
Findings:
A face-room bot line is The shared-group change itself matches #1118. At this tip, an ordinary room This comment is not merge authority. Do not enqueue. |
|
Verdict: FAIL at 11d4ae5 Ran:
Findings: Do not enqueue. |
clearLaggedRoomHolds treated any FLYBOT-ROOM-SHARE prefix as a shared-group line. A face-room row is face_room_message and the wire text is the Bot's own words, so a policy hold with that prefix was approved on the next status poll even with Face Auto-send off. The poll now clears only an outbound_message whose text is a real room-share envelope. Fixes #1118 Co-authored-by: Danyang Chen <birfychen@gmail.com>
|
Verdict: PASS at f7fd343 Ran:
Not run:
Findings: no actionable findings
This comment is not merge authority. Do not enqueue. |
Written-by: Dev
Owner: Dev
Reviewer: Reviewer
Fixes #1118
What changed
An ordinary
@or reply in a shared local group no longer stalls on "Waiting for the owner's approval" when the other home has Auto-send off.Bot Social holds those
FLYBOT-ROOM-SHARElines aspolicywhen the text merely looks like injection. #1117 cleared that hold only when pair Auto-send was on. The invited home in the repro has Auto-send off, so the reply stayed pending. The caller, who has no card for that hold (canDecidefalse), saw Waiting for the owner's approval and the friend's Bot never answered.Seating both Bots in the room is the consent for ordinary room text.
autoSendRoomEnvelopeand the lagged poll clear a roompolicyhold thatroomPolicyClearsaccepts, whether or not Auto-send is on. A file, a DLP reason, a risk flag, an instruction-override, and the samepolicyhold on a direct message still wait.The lagged poll only finishes an
outbound_messagewhose text is a real room-share envelope. A face-room line iskind: face_room_messageand the wire text is the Bot's own words, which can start with that marker. Face Auto-send still refuseshold_reason: policy, and the status poll does too.docs/subsystems/social.md(invariant 9, Auto-send, inbound shared groups).changelog.d/1118.fixed.md.Verification at the tip
Tip SHA:
f7fd3434feb980d84029cd7cc98ca297234e5f33Rebased onto
origin/main55d0e6e821485dba48456e433dadcd824dc9ef48(#1121).git diff origin/main...HEAD --statlists onlychangelog.d/1118.fixed.md,docs/subsystems/social.md,plugins/social/src/social.js,plugins/social/test/social.test.js.Fail-without-change for the face regression, tip
11d4ae5ba6ea5c76dbcf812750c43d1282832abd,social.jsunchanged, the new test only:TZ=UTC node --import ./test/resolve.mjs --test --test-name-pattern '#1118: a lagged poll does not clear a face-room policy hold' test/social.test.jsinplugins/social— 1 test, 0 pass. The review probe (kind: face_room_message,hold_reason: policy, blanket reason only, payload textFLYBOT-ROOM-SHARE\nthe deploy token rotated, noto.handle, Auto-send off) calleddecide_approval(true !== false).Fail-without-change for the shared-group clear, base
a188fa2b3b3f54d8d845596f27043f2dc609f8ca,social.jsunchanged:TZ=UTC node --import ./test/resolve.mjs --test --test-name-pattern '#1118' test/social.test.jsinplugins/social— 3 tests, 1 pass, 2 fail. The ordinary room line timed out inwaitUntil(the queue never emptied). The lagged-list poll leftserver.queue.lengthat 1. The instruction-override, DLP, risk, attachment, and direct-message cases passed.Ran at this tip:
TZ=UTC npm run verify(exit 0, ~40s) on the tree that becamef7fd343(the same four files). core 1469 pass, plugins/social 489, plugins/tree 125, plugins/timeline 125,.github/scripts417, interop 37, live-e2e 16. Core lint and plugin lint exited 0.build-client.mjs --checkandds-bot-patches.mjs checkexited 0.TZ=UTC node --import ./test/resolve.mjs --test --test-name-pattern '#1118|#1113|#882:|#457: a Bot whose face' test/social.test.jsinplugins/social— 11 tests, 11 pass, including the face-room poll and the ordinary room clear with Auto-send off.TZ=UTC node core/scripts/check-arch-docs.mjsatf7fd343:arch-docs: OK (4 changed file(s)).TZ=UTC node .github/scripts/changelog.mjs checkatf7fd343: 32 fragments well formed.Not run: smoke (
core/index.jsandcore/src/host/untouched). Not enqueued.