19d093129e
G1: Error dialog Retry now re-invokes the stored file operation (copy/move/
delete) using the PendingErrorOp parameters. Previously Retry just logged
'Retry not yet wired'. Copy/move/delete error paths now create a
PendingErrorOp + ErrorDialog instead of silently setting a status message.
Skip/Ignore/Abort outcomes produce appropriate status messages.
G2: SftpVfs::open_write now returns a working SftpWriter that buffers writes
and flushes to the remote SFTP server via session.write(). Previously
returned VfsError::Unsupported. The SftpWriter buffers in memory and
writes on flush/drop, matching the existing open_read buffer pattern.
1369 tests pass (default and --features sftp).