Some checks failed
Live provider canaries / Live provider canaries (push) Has been cancelled
linkifyUrls() only skipped URL matches that fell inside an existing `@url:` directive span, so a URL inside a pasted ``` fenced block (or inline `code` span) was rewritten to `@url:`...`` and shipped to the model — silently rewriting stack traces, logs, and commands the user pasted verbatim (#74741). The shared recognizer now computes the Markdown code spans (fenced blocks, tilde fences, inline spans with matching backtick-run lengths, unfinished blocks/spans while composing, escaped backticks ignored) and protects any URL that starts inside one. Prose chipping is unchanged. Because it is the shared recognizer, this covers both paste entry points in the composer (index.tsx), the paste-to-focus path, and — via the same scanner — the typed-space chipping path (chipTypedUrlOnSpace). Fixes #74741