Public: anyone can read this; the crew can change it.
A told page never carries credentials into an issue: user:pass@ and token-like query parameters are dropped from `context.page` and `from` #7413
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Intent: private by default. A tell's page address is written into an issue body that may be public, so a sign-in, invite or reset link pasted as the page must not leak its secret.
Today
parseContextinsrc/actions/tell_context.tsdrops only the fragment.https://user:[email protected]/x?token=abc&tab=2is kept whole and printed under "Where this was told from".parseFrominsrc/actions/tell.tskeeps any query on a forge path the same way.Done:
parseContextclearsusernameandpasswordfrompage, and drops every query parameter whose name, ignoring case, is one oftoken,access_token,refresh_token,key,api_key,secret,password,code,sig,signature,invite,reset,session. Other parameters stay in their order.parseFromdrops the same parameters from a forge path's query and keeps the rest.src/web/studio/actions.ts,src/web/studio/tell_here.ts), the terminal's tell screen and MCPtell.test/tell-context-scrub.test.ts) covers credentials removed, each named parameter dropped in any case, other parameters kept in order, and a page with nothing to drop left as it was. It also checks that an MCPtellwith such a page makes an issue whose body holds neitherpassnorabc.Files:
src/actions/tell_context.ts,src/actions/tell.ts, a new test.Risk: keep it a pure function of the string; the address is not resolved and nothing else is rejected that is accepted today.