mirror of
https://github.com/PerpetualSoftware/pad.git
synced 2026-10-26 06:19:49 +00:00
b8c9b0ea6b
* fix(web): the import dialog shows progress, stops on a stall, and says what was kept (BUG-3475) The dialog sat on 'Importing...' forever when the upload stalled: the upload was a bare fetch, with no progress and no way to notice a stall. - The upload goes over XMLHttpRequest (lib/api/importUpload.ts): bytes sent of total, then 'Finishing the import...'. No upload progress for 60s, or no response 120s after the last byte, ends it; 'Stop upload' and closing the dialog cancel it. Both bounds are pinned against the server's 60s per-Read idle window, read from the Go source. - Each attempt carries a fresh import key (getRandomValues: randomUUID needs a secure context, and http on a LAN IP is not one). When no response arrives, the dialog asks GET /workspaces/import-status for up to 75s and says exactly one of: finished (Open workspace), partial workspace kept (Open workspace), nothing kept (Try again), or unknown (check your workspace list). An unknown key is never 'nothing was kept'. - A new open of the dialog ends any earlier operation, so a late outcome cannot paint onto it; it is closed through the store too, which close() never sees. Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS * test(e2e): a failed import upload is resolved through import-status (BUG-3475) Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS * fix(web): import dialog fences Open workspace, closing stops the outcome poll, callbacks cannot wedge the upload (BUG-3475) codex r1 on the web half. Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS * fix(web): Open workspace does not navigate after the dialog was closed (BUG-3475) codex r2 on the web half. Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS