({ abortUpload = true } = {})
| 101 | } |
| 102 | |
| 103 | export function clearPendingImage({ abortUpload = true } = {}) { |
| 104 | const currentImage = pendingImage; |
| 105 | if (currentImage && abortUpload && currentImage.uploadId && S.ws && S.ws.readyState === WebSocket.OPEN && |
| 106 | currentImage.status !== 'submitted') { |
| 107 | S.ws.send(JSON.stringify({ type: 'image_upload_abort', uploadId: currentImage.uploadId })); |
| 108 | } |
| 109 | if (currentImage?.previewUrl) { |
| 110 | try { URL.revokeObjectURL(currentImage.previewUrl); } catch {} |
| 111 | } |
| 112 | setPendingImage(null); |
| 113 | updateImagePreviewUi(); |
| 114 | updateSendBtn(); |
| 115 | } |
| 116 | |
| 117 | function fileChunkToBase64(blob) { |
| 118 | return new Promise((resolve, reject) => { |
no test coverage detected