# pCloud Backend Tester Behavior Investigation
## Overview
This is a draft PR investigating inconsistent behavior between normal Duplicati operation and the BackendTester tool when using the pCloud backend. GitHub Actions changes are intentionally excluded pending resolution of these issues.
## Current Behavior
1. **Normal Operation:**
- Backups with pCloud on Duplicati work successfully
- No warnings or errors are reported
2. **BackendTester Issues:**
When `--disable-streaming-transfers` is **not** present, the following issues occur:
- Upload failures with `NotSupportedException`
- Files appear missing after successful upload
- Download verification failures
- Deletion errors for uploaded files
## Technical Details
### Upload Errors
```
Uploading file 0, 1,187 KB ... Failed to upload file 0
Error message: System.NotSupportedException: Specified method is not supported.
at Duplicati.CommandLine.BackendTester.NonSeekableStream.set_Position(Int64 value) in /_/Duplicati/CommandLine/BackendTester/NonSeekableStream.cs:line 50
at Duplicati.Library.Backend.pCloudBackend.PutAsync(String remotename, Stream input, CancellationToken cancellationToken) in /_/Duplicati/Library/Backend/pCloud/pCloudBackend.cs:line 253
at Duplicati.Library.Utility.Utility.Await(Task task) in /_/Duplicati/Library/Utility/Utility.cs:line 1478
at Duplicati.CommandLine.BackendTester.Program.Uploadfile(String localfilename, Int32 i, String remotefilename, IBackend backend, Boolean disableStreaming, Int64 throttle)
in /_/Duplicati/CommandLine/BackendTester/Program.cs:line 522, remote name: OxHqszSAo69UcPCPLdyJCXm
```
### Verification and File List Errors
```
Verifying file list ...
*** File with name OxHqszSAo69UcPCPLdyJCXm was uploaded but not found afterwards
*** File with name g7PSb3WOAHkKMZ-V2baVpBxLFR4MYMZRzDo- was uploaded but not found afterwards
```
### Download Errors
```
Downloading file 16 ... failed
*** Error: Duplicati.Library.Interface.FileMissingException: File not found.
at Duplicati.Library.Backend.pCloudBackend.GetFileId(String filename) in /`/Duplicati/Library/Backend/pCloud/pCloudBackend.cs:line 317
at Duplicati.Library.Backend.pCloudBackend.GetAsync(String remotename, Stream output, CancellationToken cancellationToken) in /_/Duplicati/Library/Backend/pCloud/pCloudBackend.cs:line 345
at Duplicati.Library.Utility.Utility.Await(Task task) in /_/Duplicati/Library/Utility/Utility.cs:line 1478
at Duplicati.CommandLine.BackendTester.Program.Run(List`1 args, Dictionary`2 options, Boolean first) in /_/Duplicati/CommandLine/BackendTester/Program.cs:line 372
Checking hash ... failed
*** Downloaded file was corrupt
```
### Deletion Errors
```
Deleting files...
*** Failed to delete file OxHqszSAo69UcPCPLdyJCXm, message: Duplicati.Library.Interface.FileMissingException: The requested file does not exist
at Duplicati.Library.Backend.pCloudBackend.DeleteAsync(String remotename, CancellationToken cancellationToken) in /_/Duplicati/Library/Backend/pCloud/pCloudBackend.cs:line 402
at Duplicati.CommandLine.BackendTester.Program.Run(List`1 args, Dictionary`2 options, Boolean first) in /_/Duplicati/CommandLine/BackendTester/Program.cs:line 407
*** Failed to delete file g7PSb3WOAHkKMZ-V2baVpBxLFR4MYMZRzDo-, message: Duplicati.Library.Interface.FileMissingException: The requested file does not exist
```
## Questions
1. Is it expected that BackendTester exits with return code 0 despite these errors?
2. Could this indicate an issue with either:
- The BackendTester tool implementation
- The pCloud backend implementation
- The interaction between these components
## Additional Context
- These issues only appear in BackendTester scenarios
- Regular Duplicati operations with pCloud remain unaffected
- All errors appear related to file streaming/seeking behavior
Would appreciate insights on whether this is expected behavior or indicates a deeper issue that needs addressing.