desktop: pasted image breaks and send fails with "Failed to fetch" after the clipboard temp file is deleted
Mantenedores costumam responder em até 1 dia
Um pull request relacionado já foi integrado.
- #62057 de @lfscqk67 — integrado
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 74/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- desktop-dev, typescript
- Domínio
- desktop
Direção de pesquisa
Comece lendo packages/app/src/runtime/persistence/drafts.ts, especialmente putBlob e createBlobReference, e depois acompanhe como os bytes das imagens coladas são armazenados e como a pré-visualização e blobDataUrl usam o File original. Reproduza colando duas imagens de uma fonte da área de transferência que exclui o arquivo temporário anterior; está concluído quando a primeira miniatura continuar visível e o envio for bem-sucedido depois que esse arquivo for excluído.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Description
Pasting an image that the clipboard hands over as a temp file (on Windows, WeType / 微信输入法 keeps clipboard images in %LOCALAPPDATA%Low\Tencent\WeType\ClipboardTmp and deletes the previous one on every new copy) works at first. Once that temp file is gone, the thumbnail turns into a broken image and sending fails with "Failed to fetch". Pasting two images in a row is enough: the first one always breaks.
The bytes are already saved to the draft store on paste, but the preview and blobDataUrl still read the original File. Chromium reads a disk-backed File lazily, so the send goes back to the deleted file. I checked this in plain Chromium: once the file is deleted, fetch(URL.createObjectURL(file)) throws TypeError: Failed to fetch and an <img> with that URL fails to load. An in-memory copy of the same bytes keeps working.
Plugins
none relevant
OpenCode version
Desktop 1.19.5. The same code path is on dev (packages/app/src/runtime/persistence/drafts.ts, putBlob / createBlobReference)
Steps to reproduce
- On Windows with WeType's clipboard enabled, copy image A and paste it into the prompt.
- Copy image B. WeType deletes A's temp file. Paste B.
- A's thumbnail is now broken. Press send and you get "发送提示失败 / Failed to fetch".
Screenshot
No response
Operating System
Windows 10 Pro 22H2
Terminal
n/a (desktop app)
- Linguagem predominante
- TypeScript
- Estrelas
- 225k
- Forks
- 30.4k
- Merge médio
- 4h 8min
- PRs com merge (30d)
- 518
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de anomalyco/opencode
-
pending close triaging
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
anomalyco/opencode#62626 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
anomalyco/opencode#62601 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
reproduced
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
anomalyco/opencode#62516 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
anomalyco/opencode#62374 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
anomalyco/opencode#62362 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de anomalyco/opencode
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 91/100
marimo-team/marimo#11768 ·
Mantenedores costumam responder em até 1 dia
-
enhancement good first issue priority: high size: XS
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
openclaw/openclaw#195577 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
[Studio feedback] 对话内容向下滚动时执行过程吸顶时,由于背景色是透明的,导致执行过程标题与下面的具体执行内容重叠,导致了两行信息重叠显示;建议执行过程的背景色设置为会话界面的背景Abertabug from-studio
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
esengine/DeepSeek-Reasonix#15044 ·
Mantenedores costumam responder em até 1 dia
-
Web wizard: "Launch without Sandbox" can switch a Structured create to Terminal in the same clickAbertaarea:web bug needs-triage P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
agent-of-empires/agent-of-empires#5489 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia