fix(discord): split encoded video URLs from captions#101815
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 7, 2026, 11:49 PM ET / 03:49 UTC. Summary PR surface: Source +4, Tests +13. Total +17 across 2 files. Reproducibility: yes. for source-level reproduction: current main uses the raw URL pathname, and a Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this focused Discord plugin fix after exact-head CI is clean, preserving original media URL pass-through and malformed-percent fallback behavior. Do we have a high-confidence way to reproduce the issue? Yes for source-level reproduction: current main uses the raw URL pathname, and a Is this the best way to solve the issue? Yes; the PR fixes the Discord-owned classifier that gates this split, rather than changing shared media loading, and keeps the original URL flowing into the existing send path. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against bf310355387d. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +4, Tests +13. Total +17 across 2 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (6 earlier review cycles)
|
|
/review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@clawsweeper re-review Added production-path terminal proof to the PR body. It imports the real Discord outbound adapter, calls Live Discord credentials are not available in this local environment, so the new proof is a redacted outbound-path transcript with injected final send transport rather than a live Discord network delivery screenshot. |
|
@clawsweeper re-review Added a stronger non-live send-stack proof to the PR body. In addition to the existing outbound-adapter transcript, the new evidence drives the real \sendMessageDiscord\ media path with an encoded \ile://.../render%2Emp4\ URL and captures the final Discord REST bodies before the network boundary: caption text first, then media upload body with This is intentionally not claimed as live Discord network delivery; it is local runtime proof of the production outbound split plus real Discord send-stack body construction. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
8583207 to
c8febac
Compare
|
Maintainer refactor and land-ready proof are complete on What changed:
Proof:
The PR's existing runtime transcripts additionally exercise the production adapter and real Discord send-stack body construction. No external Discord delivery is claimed or required for this filename-classification invariant. |
|
Merged via squash.
|
* fix(discord): split encoded video URLs from captions Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> * refactor(discord): scope media filename decoding --------- Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> Co-authored-by: Peter Steinberger <[email protected]>
What Problem This Solves
Discord sends captioned video media in two messages so the caption remains visible before the upload. The local video classifier checked the raw URL pathname, so a valid filename such as
render%2Emp4did not match the.mp4suffix and incorrectly took the combined-send path.Why This Change Was Made
The classifier now extracts and decodes only the final URL filename before extension matching. That matches the shared media loader's filename semantics while avoiding whole-path decoding: malformed escapes in earlier path segments cannot suppress classification, and encoded path delimiters are not reinterpreted as URL structure.
The original media URL is still passed unchanged into the existing guarded media loader and Discord send path.
User Impact
Captioned Discord videos whose filename contains percent-encoded extension characters now use the same caption-first/media-second delivery as ordinary
.mp4,.mov,.webm, and other supported video URLs.Evidence
coral-crab(tbx_01kx2dacsrr1z0hjxenejbt9s5): 55 focused tests passed across the direct media classifier and Discord outbound adapter.git diff --checkpassed.The existing PR runtime transcripts additionally exercise the production outbound adapter and real Discord send-stack body construction without claiming external network delivery.