SMB errors were wrapped as io::ErrorKind::Other, so a server that went away (smb2's Disconnected, a refused or unreachable socket, a timeout) showed as a failed sync instead of not connected, and the background sync did not take it for a lost connection. They now keep a kind that says so. Assisted-by: claude-opus-5.5