Commit 3042f23
committed
Bugfix: Copy → "Cancel" rolled back copied files
- Cancel (keep partial files) triggered a race: `handleCancel(false)` sent `rollback=false`, then `onDestroy` immediately sent `rollback=true`, overwriting the user's choice
- Frontend: added `operationSettled` flag set in all five terminal paths (complete, error, cancelled event, cancel button, rollback button) — `onDestroy` safety net now skips if already handled
- Backend: `cancel_write_operation` now uses `AtomicBool::swap` — first caller's rollback decision wins, subsequent calls are no-ops
- `onDestroy` safety net now passes `rollback=false` — unexpected teardown (hot-reload, window close) stops the operation but never silently deletes files in the background1 parent 148c057 commit 3042f23
2 files changed
Lines changed: 18 additions & 6 deletions
File tree
- apps/desktop
- src-tauri/src/file_system/write_operations
- src/lib/file-operations/transfer
Lines changed: 6 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
189 | 194 | | |
190 | 195 | | |
191 | 196 | | |
| |||
Lines changed: 12 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
156 | 159 | | |
157 | 160 | | |
158 | 161 | | |
| |||
299 | 302 | | |
300 | 303 | | |
301 | 304 | | |
| 305 | + | |
302 | 306 | | |
303 | 307 | | |
304 | 308 | | |
| |||
321 | 325 | | |
322 | 326 | | |
323 | 327 | | |
| 328 | + | |
324 | 329 | | |
325 | 330 | | |
326 | 331 | | |
| |||
334 | 339 | | |
335 | 340 | | |
336 | 341 | | |
| 342 | + | |
337 | 343 | | |
338 | 344 | | |
339 | 345 | | |
| |||
511 | 517 | | |
512 | 518 | | |
513 | 519 | | |
| 520 | + | |
514 | 521 | | |
515 | 522 | | |
516 | 523 | | |
| |||
530 | 537 | | |
531 | 538 | | |
532 | 539 | | |
| 540 | + | |
533 | 541 | | |
534 | 542 | | |
535 | 543 | | |
| |||
665 | 673 | | |
666 | 674 | | |
667 | 675 | | |
668 | | - | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
673 | 680 | | |
674 | 681 | | |
675 | 682 | | |
| |||
0 commit comments