You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MTP: Channel-based read stream to prevent nested block_on
Replace `MtpReadStream` (which called `block_on` in `next_chunk`, causing panics inside SmbVolume's `block_on`) with `MtpChannelStream`. A background tokio task reads USB chunks into a bounded `sync_channel(4)`. `next_chunk()` is a plain `recv()` — safe in any context.
- On cancellation (receiver dropped), the background task calls `download.cancel()` to cleanly release the USB endpoint
- Memory bounded to ~2 MB (4 × ~512 KB MTP chunks)
- Updated smb2 dep: `Error::Io` no longer classified as `ConnectionLost`, so callback cancellation doesn't brick the SMB connection
- Updated `map_smb_error_io` test for the new error classification
0 commit comments