Skip to content

🤖 fix: support JSON attachments#3601

Open
LeonidasZhak wants to merge 1 commit into
coder:mainfrom
LeonidasZhak:codex/json-attachment
Open

🤖 fix: support JSON attachments#3601
LeonidasZhak wants to merge 1 commit into
coder:mainfrom
LeonidasZhak:codex/json-attachment

Conversation

@LeonidasZhak

Copy link
Copy Markdown

Summary

Allow JSON files to be attached in the chat composer by accepting application/json and .json through the existing attachment media-type flow.

Background

Fixes #3546. JSON files currently fail the frontend attachment validation as unsupported even though the send path already carries non-image file parts through the generic file attachment path.

Implementation

  • Adds application/json and .json to the supported attachment media-type helpers.
  • Includes JSON in the chat file picker accept list and tooltip copy.
  • Adds focused coverage for JSON MIME handling and extension-based detection when macOS drag/drop provides an empty MIME type.

Validation

  • bun test src/browser/utils/attachmentsHandling.test.ts src/common/utils/attachments/supportedAttachmentMediaTypes.test.ts src/node/utils/messages/convertDataUriFilePartsForSdk.test.ts - 22 tests passed
  • ./node_modules/.bin/eslint src/common/utils/attachments/supportedAttachmentMediaTypes.ts src/common/utils/attachments/supportedAttachmentMediaTypes.test.ts src/browser/utils/attachmentsHandling.test.ts src/browser/features/ChatInput/AttachFileButton.tsx
  • ./scripts/generate-version.sh
  • ./node_modules/.bin/tsgo --noEmit --project tsconfig.json
  • git diff --check
  • make static-check - passed with a local Bun shim on PATH

Risks

Low. This expands the attachment allowlist only for JSON files and reuses the existing generic non-image file display/send path.


Generated with mux • Model: GPT-5 • Thinking: unknown • Cost: $unknown

Allow application/json files through the attachment media-type allowlist and file picker, with focused coverage for MIME and extension-based JSON attachment handling.

Generated with mux • Model: GPT-5 • Thinking: unknown • Cost:

mux-attribution: model=GPT-5 thinking=unknown costs=unknown
@LeonidasZhak

Copy link
Copy Markdown
Author

@codex review

Please review this small JSON attachment support fix for #3546. The diff only expands the attachment media-type allowlist and file picker copy, with focused coverage for application/json and empty-MIME .json drag/drop handling.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

Reviewed commit: 834e8e47c2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unsupported attachment type: application/json

1 participant