desktop: pasted image breaks and send fails with "Failed to fetch" after the clipboard temp file is deleted
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- desktop-dev, typescript
- Ambito
- desktop
Direzione di ricerca
Inizia leggendo packages/app/src/runtime/persistence/drafts.ts, in particolare putBlob e createBlobReference, poi segui come vengono memorizzati i byte delle immagini incollate e come l’anteprima e blobDataUrl usano il File originale. Riproduci il problema incollando due immagini da una fonte degli appunti che elimina il file temporaneo precedente; il lavoro è completato quando la prima miniatura rimane visibile e l’invio riesce dopo l’eliminazione di quel file.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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)
- Lingua principale
- TypeScript
- Stelle
- 224k
- Fork
- 30k
- Merge medio
- 6h 16m
- PR unite (30g)
- 507
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di anomalyco/opencode
-
triaging
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
anomalyco/opencode#62046 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
desktop: "Open in <Editor>" menu in Review Pane opens workspace root directory instead of active file tabForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertapending close triaging
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
anomalyco/opencode#62040 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
reproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
anomalyco/opencode#62024 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
anomalyco/opencode#61897 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
mini does not use configured agent colorsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertareproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
anomalyco/opencode#61807 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di anomalyco/opencode
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
appandflow/stim#5258 ·
I maintainer di solito rispondono entro 1 giorno
-
area/docs framework/hugo help wanted language/markdown
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
lingdojo/kana-dojo#33660 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
drizzle-team/drizzle-orm#6639 ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100