Commit Graph
10886 Commits
Author SHA1 Message Date
Kenneth Skovhede 2b5bb6a4ec Logging unobserved task exceptions 2024-11-29 08:42:43 +01:00
Carl Johnsen cdf0c28fd8 Added internal profiling as an option. Currently only implemented in the restore process. 2024-11-29 05:49:03 +01:00
Carl Johnsen 87747b5580 The metadata SQL query is now prepared in the fileprocessor 2024-11-29 05:46:17 +01:00
Carl Johnsen 079598c2e8 Added database function for getting files alongside symlinks to restore 2024-11-29 03:41:41 +01:00
Carl Johnsen 6aa202fbea Already present files were incorrectly truncated 2024-11-29 03:38:53 +01:00
Kenneth Skovhede 4e3af5111f Updated menu icons to be less colorfull on non-Windows 2024-11-28 14:40:27 +01:00
Kenneth Skovhede 16ecb2e2ca Implemented support for dark-mode icons on MacOS 2024-11-28 14:33:20 +01:00
Kenneth Skovhede 942e0ecee2 Removed a stray debug log message 2024-11-28 12:25:18 +01:00
Carl Johnsen deb98e3322 CreateDirectoryStructure wouldn't always create the target folders, if the file database doesn't list the folder. Empty files should create the directory, if it doesn't exist. 2024-11-28 10:43:51 +01:00
Kenneth SkovhedeandGitHub 5671b676f5 Merge pull request #5713 from marceloduplicati/feature/fix-pcloud-streaming-issue
Fix for the streaming error on BackendTester interaction
v2.1.0.2_beta_2024-11-29
2024-11-28 09:53:55 +01:00
Kenneth SkovhedeandGitHub bb0ce8bffa Merge pull request #5712 from duplicati/feature/make-websocket-proxy-ready
Made the websocket path proxy aware.
2024-11-28 09:53:36 +01:00
Carl Johnsen 9bcda7d6cf Symlinks are now handled correctly 2024-11-28 09:22:09 +01:00
Marcelo C. 2eab4611de Fix for the streaming error on BackendTester interaction
This issue does not affect the pCloud backend per se and its functioning as expected.

The issue is related to a symptom the BackendTester revealed as discussed here:

https://github.com/duplicati/duplicati/pull/5709

It turns out the backends should assume the caller has set the input stream at the correct position and take it from there.

Therefore the fix is simply to remove the .Position = 0; which was well intended as a way to make sure the stream was at the beginning, but  thats not the pattern to follow when integrating backends.

A future blog post/tutorial on new backend integrations will mention these premises.
2024-11-27 19:34:18 +01:00
Kenneth Skovhede 71fc1387ad Avoid the 404 error when loading the page 2024-11-27 16:05:05 +01:00
Kenneth Skovhede 3c18de9bcf Made the websocket path proxy aware.
This fixes #5711
2024-11-27 14:54:17 +01:00
Carl Johnsen 1ecb6e7c35 Fixed the metadata block query so that it finds the correct blocks 2024-11-27 11:28:27 +01:00
Carl Johnsen 4128ea3ff3 Empty files can also not have a data block associated 2024-11-27 11:27:55 +01:00
Carl Johnsen 7aa9db533e Added preliminary metadata restoration 2024-11-26 20:01:19 +01:00
Kenneth SkovhedeandGitHub 302e2dd858 Merge pull request #5708 from duplicati/feature/expose-filter-groups-api
Fixed exported type for filters
2024-11-26 12:08:08 +01:00
Kenneth SkovhedeandGitHub e58cc576c2 Merge pull request #5707 from duplicati/feature/fix-hang-from-trayicon
Fixed hang from detached TrayIcon.
2024-11-26 12:07:52 +01:00
Kenneth Skovhede 6fb8a05318 Fixed exported type for filters 2024-11-26 11:29:13 +01:00
Marcelo C. 248de1e72d Adding pCloud CI tests
# 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.
2024-11-26 11:28:21 +01:00
Kenneth Skovhede a97a472ab2 Made password source explicit 2024-11-26 11:26:50 +01:00
Kenneth SkovhedeandGitHub c4fdfce1d5 Merge pull request #5705 from duplicati/feature/improve-download-commit-message
Added version to commit message download url
2024-11-26 11:25:45 +01:00
Kenneth Skovhede 998c564aaf Fixed hang from detached TrayIcon.
This fixes #5703
2024-11-26 11:23:28 +01:00
Kenneth SkovhedeandGitHub 97c3b6323c Merge pull request #5704 from duplicati/release/canary-2.1.0.100
Version bump to v2.1.0.100-2.1.0.100_canary_2024-11-25
2024-11-26 08:46:22 +01:00
Kenneth Skovhede 79fcb33ef5 Added version to commit message download url so it works after a new release is out 2024-11-26 08:44:07 +01:00
Kenneth Skovhede 8b693a12f4 Version bump to v2.1.0.100-2.1.0.100_canary_2024-11-25
You can download this build from:

Binaries: https://updates.duplicati.com/canary/

Signature file: https://updates.duplicati.com/canary/duplicati-2.1.0.100_canary_2024-11-25.signatures.zip
v2.1.0.100-2.1.0.100_canary_2024-11-25
2024-11-25 23:34:37 +01:00
Kenneth SkovhedeandGitHub 702d055270 Merge pull request #5702 from duplicati/feature/minor-update-to-pcloud
Fixed a usability issue with choosing the pCloud server.
v2.1.0.100_canary_2024-11-25
2024-11-25 22:02:03 +01:00
Kenneth SkovhedeandGitHub dc4b00aa98 Merge pull request #5701 from duplicati/feature/add-option-to-suppress-warning-on-client-windows
Suppress HyperV warning option
2024-11-25 22:00:52 +01:00
Kenneth Skovhede 9fbff55198 Fixed a usability issue with choosing the pCloud server.
Changed the OAuth server to the new configured instance.
2024-11-25 21:59:43 +01:00
Kenneth Skovhede ea2ba06ff6 Suppress HyperV warning option
This adds a new option to suppress the normal warning that is issues on client-version of Windows.

This fixes #5692
2024-11-25 21:25:02 +01:00
Kenneth SkovhedeandGitHub 3b4deac602 Merge pull request #5700 from duplicati/feature/improve-updater-state
Fixed issues with update detection.
2024-11-25 20:39:38 +01:00
Carl Johnsen 164b2a212c Already restored blocks are now tracked according to the cache tracking strategy as well 2024-11-25 17:32:56 +01:00
Carl Johnsen 952aebf685 VolumeDownloader handles when an eviction requests relates to a volume that is not in cache 2024-11-25 17:32:00 +01:00
Kenneth Skovhede 42c4e50482 Fixed issues with update detection.
This fixes a case where the update checker keeps an old reference to the previous updated version, despite running a newer version.

It also removes some use of `Assembly.GetExecutingAssembly().GetName().Version` with the information from `UpdaterManager.SelfVersion.Version` as that should follow the update info.

This fixes #5698
This fixes #5252
2024-11-25 17:27:50 +01:00
Carl Johnsen baaa17a738 Make cache_max and eviction_ratio fields readonly 2024-11-25 17:23:42 +01:00
Carl Johnsen 823b896da1 Removed redundant TODOs 2024-11-25 15:23:59 +01:00
Carl Johnsen c26c54c5f7 Fixed naming inconsistencies in the new restore options 2024-11-25 15:17:10 +01:00
Kenneth SkovhedeandGitHub 52ea353dc5 Merge pull request #5699 from duplicati/feature/fix-crash-log
Made the wrapper async+no-async so it does not loose the caller context.
2024-11-25 15:16:49 +01:00
Carl Johnsen 7c79535572 VolumeDownloader now deletes temporary volumes from both cache and disk when they are no longer needed during restore. 2024-11-25 15:16:03 +01:00
Kenneth SkovhedeandGitHub 8c96dde359 Merge pull request #5636 from duplicati/feature/fix-dst-changing-scheduled-time
Support for not changing time-of-day during DST changes
2024-11-25 15:09:38 +01:00
Kenneth Skovhede 992a0fd90c Made the wrapper async+no-async so it does not loose the caller context. 2024-11-25 15:09:23 +01:00
Kenneth Skovhede d941ca3b7d Merge branch 'feature/fix-dst-changing-scheduled-time' of github.com:duplicati/duplicati into feature/fix-dst-changing-scheduled-time 2024-11-25 14:24:27 +01:00
Kenneth Skovhede 06329d591f Fixed test on Windows 2024-11-25 13:39:39 +01:00
Kenneth Skovhede 0a5baa127c Merge remote-tracking branch 'origin/master' into feature/fix-dst-changing-scheduled-time 2024-11-25 13:05:28 +01:00
Kenneth SkovhedeandGitHub 373c63dd55 Merge pull request #5695 from kursataktas/duplicati_guru
Introducing Duplicati Guru on Gurubase.io
2024-11-25 11:15:37 +01:00
Kenneth SkovhedeandGitHub 3ca76f76a3 Merge pull request #5684 from marceloduplicati/feature/backends-add-pcloud
Added pCloud Integration
2024-11-25 11:10:45 +01:00
Kenneth SkovhedeandGitHub 79d6dc0cad Merge branch 'master' into feature/backends-add-pcloud 2024-11-25 11:08:55 +01:00
Marcelo C. 068ae42aa1 Implementation of changes requested in review 2024-11-25 11:01:59 +01:00