Repository navigation
Exempt ordinary controls from recipient guard on public composers - #3306
Merged
Merged
Conversation
- The previous commit returned no recipient policy for X's /compose/post. That waived the guard for every tool on the route, scripts and drags included, and for a send the call had already bound to a recipient. The route now keeps its policy, marked publicComposer. - One helper, _recipientGuardChecksControls, decides whether the guard checks an ordinary control: a click, click_ax, Enter, a set_field submit or an upload. On a public composer it doesn't, unless the call has already bound a send to a recipient. The guard, the upload context, the publication prefetch and the caption pre-read all use it, so the separate upload-only exemption is gone. - execute_js, iframe_click, drag_at and execute_webmcp_tool are refused on the route again with recipient_unverifiable_dispatch_path. - The X adapter's publicComposer now covers /compose/post, /compose/tweet, /compose/article(s) and their subpaths, including the drafts under /compose/post/unsent/. /compose/postx does not match. - The mustNotBlock test stubs the guard's probe with a send that has no recipient and checks reason codes and probe counts. On six public routes the ordinary controls pass without a probe, the four unbindable tools are refused, and a bound send is probed and refused for lack of a recipient. On the DM routes and the look-alike, every ordinary control is probed and refused. - The publication prefetch tests stay on /compose/post, where one caption kind is read now. Direct reader calls on an X DM route cover the message_control read, including a new test that it joins the prefetch's read instead of asking twice. - Chrome and Firefox are mirrored. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…flow replay - Update savedWorkflowProtectedMessagingStepIndex and replaySavedWorkflow to exempt ordinary public-composer controls (clicks, Enter, submit, uploads) while retaining recipient authorization requirements for unbindable dispatch tools (execute_js, iframe_click, execute_webmcp_tool, drag_at) and direct message routes. - Add test coverage across Chrome and Firefox runners.
…-guard fix(guards): exempt only ordinary controls on X's public composers
|
@esokullu is attempting to deploy a commit to the esokullu's projects Team on Vercel. A member of the Team first needs to authorize it. |
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.
No description provided.