Skip to content

feat(opencode): Add PDF attachment Drag and Drop#16926

Merged
rekram1-node merged 3 commits intoanomalyco:devfrom
gitpush-gitpaid:feat/pdf-attachment
Apr 7, 2026
Merged

feat(opencode): Add PDF attachment Drag and Drop#16926
rekram1-node merged 3 commits intoanomalyco:devfrom
gitpush-gitpaid:feat/pdf-attachment

Conversation

@gitpush-gitpaid
Copy link
Copy Markdown
Contributor

@gitpush-gitpaid gitpush-gitpaid commented Mar 10, 2026

Issue for this PR

Closes #

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Adds PDF drag and drop support

Was able to attach images before, broadened scope to be able to drag and drop PDF's to models that can handle PDF input

How did you verify your code works?

  • Ran bun dev locally with OPENCODE_MODELS_PATH
  • Pointed at a local models.dev dist/_api.json and OPENCODE_DISABLE_MODELS_FETCH=1,
  • Then dragged a test PDF to the prompt and confirmed it was attached as [PDF 1].
  • Ran it and asked to prove it can read the PDF and worked as expected.

Screenshots / recordings

Screenshot 2026-03-10 at 2 50 54 PM Screenshot 2026-03-10 at 2 51 20 PM

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

@github-actions github-actions bot added needs:title needs:compliance This means the issue will auto-close after 2 hours. labels Mar 10, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Hey! Your PR title Feat: Add PDF attachment Drag and Drop doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, opencode).

See CONTRIBUTING.md for details.

@github-actions
Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Based on my search, I found one potentially related PR:

Related PR:

The current PR #16926 appears to be the primary/most recent implementation of PDF drag-and-drop support. The other results (like #15848 for large file attachments and #9656 for multi-file read) are related to file handling but don't specifically duplicate the PDF drag-and-drop feature.

@gitpush-gitpaid gitpush-gitpaid changed the title Feat: Add PDF attachment Drag and Drop feat(opencode): Add PDF attachment Drag and Drop Mar 10, 2026
@github-actions github-actions bot removed needs:compliance This means the issue will auto-close after 2 hours. needs:title labels Mar 10, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

@rekram1-node
Copy link
Copy Markdown
Collaborator

Will give this review today/tmr I think opentui may have added something we can connect to now

@gitpush-gitpaid
Copy link
Copy Markdown
Contributor Author

no problem

thanks

@rekram1-node
Copy link
Copy Markdown
Collaborator

/review

@rekram1-node
Copy link
Copy Markdown
Collaborator

sorry it took so long! lgtm

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

lgtm

@rekram1-node rekram1-node enabled auto-merge (squash) April 7, 2026 04:37
@rekram1-node rekram1-node merged commit 3c96bf8 into anomalyco:dev Apr 7, 2026
8 checks passed
@gitpush-gitpaid
Copy link
Copy Markdown
Contributor Author

no worries bro thank you!

hugojosefson pushed a commit to hugojosefson/opencode that referenced this pull request Apr 7, 2026
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
NicholasDominici added a commit to jairad26/opencode that referenced this pull request Apr 9, 2026
* fix: bump openrouter ai sdk pkg to fix openrouter issues (anomalyco#21242)

* chore: update nix node_modules hashes

* chore: remove ai-sdk/provider-utils patch and update pkg (anomalyco#21245)

* chore: update nix node_modules hashes

* chore: bump anthropic ai sdk pkg, delete patch (anomalyco#21247)

* refactor(core): add full http proxy and change workspace adaptor interface (anomalyco#21239)

* go: add mimo

* feat: add --dangerously-skip-permissions flag to opencode run (anomalyco#21266)

* chore: update nix node_modules hashes

* feat(opencode): Add PDF attachment Drag and Drop (anomalyco#16926)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>

* feat(app): show full names on composer attachment chips (anomalyco#21306)

* style(app): redesign jump-to-bottom button per figma spec (anomalyco#21313)

* Move auto-accept permissions to settings (anomalyco#21308)

* go: support coupon

* fix(opencode): keep user message variants scoped to model (anomalyco#21332)

* chore: generate

* chore: update web stats

* feat(app): better subagent experience (anomalyco#20708)

* refactor(core): support multiple event streams in worker and remove workspaces from plugin api (anomalyco#21348)

* fix(tui): use sentence case for theme mode command palette items (anomalyco#21192)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>

* fix: ensure the alibaba provider errors are retried (anomalyco#21355)

* fix(opencode): improve console login transport errors (anomalyco#21350)

* chore: generate

* feat(tui): allow variant_list keybind for the "Switch model variant" command (anomalyco#21185)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>

* test: disable GPG signing in test fixtures (anomalyco#20386)

* fix(opencode): clear webfetch timeouts on failed fetches (anomalyco#21378)

* feat(opencode): add OTLP observability support (anomalyco#21387)

* zen: glm5.1 doc

* zen: glm5.1 doc

* go: glm5.1

* core: refactor tool system to remove agent context from initialization (anomalyco#21052)

* refactor(snapshot): store unified patches in file diffs (anomalyco#21244)

Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>

* chore: generate

* release: v1.4.0

* chore: update nix node_modules hashes

* fix(tui): simplify console org display (anomalyco#21339)

Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>

* ui: fix sticky session diffs header (anomalyco#21486)

* test: update webfetch test (anomalyco#21398)

Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>

* fix: ensure that /providers list and shell endpoints are correctly typed in sdk and openapi schema (anomalyco#21543)

* fix(app): patch tool diff rendering

* fix(app): diff list normalization

* fix: dont show invalid variants for BP (anomalyco#21555)

* tweak: separate ModelsDev.Model and Config model schemas (anomalyco#21561)

* refactor(effect): build task tool from agent services (anomalyco#21017)

* fix(app): skip url password setting for same-origin server and web app (anomalyco#19923)

* fix: propagate abort signal to inline read tool (anomalyco#21584)

* refactor(effect): inline session processor interrupt cleanup (anomalyco#21593)

* feat(llm): integrate GitLab DWS tool approval with permission system (anomalyco#19955)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>

* chore: update nix node_modules hashes

* fix(lsp): remove CMakeLists.txt and Makefile from clangd root markers (anomalyco#21466)

* Remove CLI from electron app (anomalyco#17803)

Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>

* chore: generate

* chore: update nix node_modules hashes

* feat: add opencode go upsell modal when limits are hit (anomalyco#21583)

Co-authored-by: Frank <frank@anoma.ly>

* release: v1.4.1

* app: remove min loading duration (anomalyco#21655)

* fix: preserve interrupted bash output in tool results (anomalyco#21598)

* fix: preserve text part timing in session processor (anomalyco#21691)

* refactor(effect): drop shell abort signals from runner (anomalyco#21599)

* refactor: fix tool call state handling and clean up imports (anomalyco#21709)

* release: v1.4.2

* feat(mcp): add OAuth redirect URI configuration for MCP servers (anomalyco#21385)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>

* chore: generate

* fix(tui): restore hidden session scrollbar default (anomalyco#20947)

* feat: add support for fast modes for claude and gpt models (that support it) (anomalyco#21706)

* opencode: lazy-load top-level CLI commands

The CLI imports every top-level command before argument parsing has
decided which handler will run. This makes simple invocations pay for
the full command graph up front and slows down the default startup path.

Parse the root argv first and load only the command module that matches
the selected top-level command. Keep falling back to the default TUI
path for non-command positionals, and preserve root help, version and
completion handling

* delete unused withALS method (anomalyco#21723)

* Revert "opencode: lazy-load top-level CLI commands" (anomalyco#21726)

* fix(effect): suspend agent default layer construction (anomalyco#21732)

---------

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: James Long <longster@gmail.com>
Co-authored-by: Frank <frank@anoma.ly>
Co-authored-by: gitpush-gitpaid <149759805+gitpush-gitpaid@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
Co-authored-by: Dax <mail@thdxr.com>
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
Co-authored-by: Ariane Emory <97994360+ariane-emory@users.noreply.github.com>
Co-authored-by: Kit Langton <kit.langton@gmail.com>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: opencode <opencode@sst.dev>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: OpeOginni <107570612+OpeOginni@users.noreply.github.com>
Co-authored-by: Vladimir Glafirov <vglafirov@gitlab.com>
Co-authored-by: Cho HyeonJong <mbin96@gmail.com>
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: Aleksandr Lossenko <aleksandr.lossenko@gmail.com>
Co-authored-by: Simon Klee <hello@simonklee.dk>
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.

2 participants