Commit Graph
11750 Commits
Author SHA1 Message Date
Kenneth Skovhede 76a8d92c3f Fixed test 2025-06-03 20:37:23 +02:00
Kenneth Skovhede bc9c9ac56b Fixed tests 2025-06-03 10:34:38 +02:00
Kenneth Skovhede f8e6fff0e9 Add unit tests for CLIDatabaseLocator and Utility 2025-06-02 08:48:00 +02:00
Kenneth SkovhedeandGitHub 2b4cf848a9 Merge pull request #6312 from duplicati/feature/prevent-reporting-unsupported-features
Disable API extensions for websocket because Agent does not support t…
2025-05-30 15:57:38 +02:00
Kenneth SkovhedeandGitHub c5a510b988 Merge pull request #6313 from duplicati/feature/ignore-ci-warnings
Ignore Windows CI generating warnings
2025-05-30 15:57:28 +02:00
Kenneth SkovhedeandGitHub d23fe3a83a Merge pull request #6311 from duplicati/feature/filter-report-duplicates
Filter report messages to limit double-reporting issues
2025-05-30 10:09:31 +02:00
Kenneth Skovhede bac8bd414b Ignore Windows CI generating warnings 2025-05-30 10:07:58 +02:00
Kenneth SkovhedeandGitHub b3b5ea3d91 Merge pull request #6310 from duplicati/feature/enhance-logging-for-remote-control
Adjusted logging to prevent logging messages with no useful information
2025-05-30 10:04:09 +02:00
Kenneth SkovhedeandGitHub 06e625bda5 Merge pull request #6309 from duplicati/feature/support-resume-builds-overnight
Support resume builds overnight
2025-05-30 10:03:39 +02:00
Kenneth Skovhede 05059574cb Disable API extensions for websocket because Agent does not support those yet 2025-05-30 10:03:00 +02:00
Kenneth Skovhede 6044d19662 Filter report messages to limit double-reporting issues 2025-05-30 08:16:20 +02:00
Kenneth Skovhede 91836deb5a Adjusted logging to prevent logging messages with no useful information 2025-05-30 08:11:21 +02:00
Kenneth Skovhede 80d4b5a571 Added retry for reading key files 2025-05-30 07:56:45 +02:00
Kenneth Skovhede 8353ab2569 Added support for resuming builds when the date changes. 2025-05-30 07:49:24 +02:00
Kenneth SkovhedeandGitHub 6ffd61b0f5 Merge pull request #6307 from duplicati/release/canary-2.1.0.119
Version bump to v2.1.0.119-2.1.0.119_canary_2025-05-29
2025-05-29 08:39:01 +02:00
Kenneth Skovhede d53ea79177 Version bump to v2.1.0.119-2.1.0.119_canary_2025-05-29
You can download this build from:

Binaries: https://updates.duplicati.com/canary/?version=2.1.0.119

Signature file: https://updates.duplicati.com/canary/duplicati-2.1.0.119_canary_2025-05-29.signatures.zip
v2.1.0.119_canary_2025-05-29 v2.1.0.119-2.1.0.119_canary_2025-05-29
2025-05-29 08:14:27 +02:00
Kenneth Skovhede 0894747746 Bump ngclient to .130 2025-05-28 23:00:33 +02:00
Kenneth SkovhedeandGitHub cc6e57fd61 Merge pull request #6303 from duplicati/feature/remove-http-options
Removed HttpOptions
2025-05-28 22:50:28 +02:00
Kenneth Skovhede 720062b60b Merge remote-tracking branch 'origin/master' into feature/remove-http-options 2025-05-28 21:40:41 +02:00
Kenneth SkovhedeandGitHub 0207ad1516 Merge pull request #6299 from duplicati/feature/correct-transfer-progress-api
Websocket subscriptions
2025-05-28 21:40:21 +02:00
Kenneth Skovhede d13094a82a Added OAuth info to systeminfo 2025-05-28 21:39:54 +02:00
Kenneth Skovhede ff141d9456 Improved stop handling during backend retries 2025-05-28 21:39:31 +02:00
Kenneth SkovhedeandGitHub 06d2b602f7 Merge pull request #6301 from duplicati/feature/repair-broken-index-files
Adding repair for index files
2025-05-28 16:01:18 +02:00
Kenneth Skovhede 868711ec89 Reduced test time
Removed unused file
2025-05-28 15:05:33 +02:00
Kenneth SkovhedeandGitHub fb2ad7c4a2 Merge pull request #6306 from duplicati/feature/notify-on-invalid-backend
Give a custom error message if the backend is not supported.
2025-05-28 14:48:06 +02:00
Kenneth Skovhede f592029c3d Fixed rare deadlock on restore failure 2025-05-28 14:35:00 +02:00
Kenneth Skovhede 02439a1f3a Give a custom error message if the backend is not supported.
This fixes #1920
2025-05-28 12:58:30 +02:00
Kenneth Skovhede fb08a0b174 Fixed an issue with retry downloads causing errors 2025-05-28 12:49:29 +02:00
Kenneth Skovhede 55d821add1 Added support for disabling API extensions from the commandline
Also added extension that signals if websocket is supported.

Also removed the option to disable visual captcha as it is no longer used.
2025-05-28 12:47:42 +02:00
Kenneth SkovhedeandGitHub 6444e9a018 Merge pull request #6302 from duplicati/feature/test-cleanup
Minor test cleanups
2025-05-27 18:53:52 +02:00
Kenneth Skovhede bf29b6e3a3 Minor test cleanups 2025-05-27 17:17:11 +02:00
Kenneth Skovhede 3ebc50a89d Adding repair for index files
Since index files only contains information related to recreating the database, they can be recreated directly from a working database.

This PR adds an automatic repair feature that replaces index files if they are missing content. This will gradually repair remote index files if they are affected by the compact bug that re-wrote index files without the blocklists.

To fully repair, it is possible to run the `Test` command with the option `--full-remote-verification=indexonly` and a large number of samples. Since the new option `--replace-faulty-index-files` is default set to `true` this will repair any defective index files and ignore all others.

This update uncovered that the Test method would previously not verify the presence of blocklists in the index files. This is likely a very old bug, caused by the fact that the original implementation did not place blocklisthashes in the index files. The omission of this check is the reason the extent of the compact issue was not discovered earlier.

With this PR it is now also visible that there is ample room for error in creating the index files during the backup process. This is caused by the parallel processing and carry-over, where the index files are created on-the-go, so they are ready to upload once the blocks are filled.

While this is likely good for performance, it has some drawbacks.
- A failed block upload will cause a rewrite of the index file
- An elaborate callback system is needed to update the index file
- It is possible to race against the database and create extra blocklist hashes, bloating the index files (causes problems on verification)

A subsequent task is to rewrite the logic to not touch the index files outside the backend manager, so the backend manager will just use the database to create the index file. This means the same code will be invoked for both the create, the recreate, and the replacement.

For now, extra content in index files is logged with the verbose log level.

This fixes #6296
2025-05-27 17:15:02 +02:00
Kenneth SkovhedeandGitHub fcbf57638a Merge pull request #6300 from duplicati/feature/remove-old-files
Removed old defunct manual test files
2025-05-27 12:14:16 +02:00
Kenneth Skovhede d62b3e540b Removed old defunct manual test files 2025-05-27 12:13:40 +02:00
Kenneth Skovhede c8b9fb5c73 Websocket subscriptions
This PR adds the ability to subscribe to messages over a websocket.

To prevent polling data, the server can now push messages through the websocket, so the client can instantly update when new data is available.

The change is backwards compatible, still serving the status updates over the socket. If the client is providing the authentication token, it is auto-subscried to the legacy status message.

If the client is using the new authentication message, it needs to subscribe to get the status updates (and any other services it needs).

The event system has been extended to support new, and more accurate, events. This is the first step towards removing the general status update and the long-poll mechanism.

This also re-introduces the blocking marker, so the client can know if the operation is halted due to too many pending transfers.

Some endpoints have been moved to service implementations, to allow serving the exact same data from both endpoints and websocket.

This PR also updates the way the progress is handled, so that all transfers are returned to the client, and the transfer speeds for each transfer is calculated based on a small sample buffer, so the values are more accurate even if the program is paused during transfers.
2025-05-27 12:13:07 +02:00
marceloduplicatiandGitHub 0d4410d7e9 Merge pull request #6298 from duplicati/ci-status-update
Merging changes to CI status table.
2025-05-26 15:39:29 -03:00
marceloduplicatiandGitHub 61a1b7116d Update README.md
Updating status table of CI
2025-05-26 15:38:21 -03:00
Kenneth Skovhede d00264639f Removed HttpOptions
This fixes #5582
2025-05-26 14:13:16 +02:00
Kenneth SkovhedeandGitHub 6f5505f2a2 Merge pull request #6279 from duplicati/feature/issue2685
Default disable throttle for local destinations
2025-05-26 08:29:29 +02:00
Kenneth SkovhedeandGitHub e99bcd84f3 Merge pull request #6291 from duplicati/feature/remote-oauth-helper
Remove OAuthHelper
2025-05-26 08:28:44 +02:00
Kenneth Skovhede bc48135782 Fixed code to be compatible with System.Text.Json instead of NewtonSoft.Json 2025-05-24 15:50:37 +02:00
Kenneth Skovhede 6a42613f70 Fixed passing the FolderMissingException to the caller for triggering the autocreate 2025-05-24 15:34:38 +02:00
Kenneth Skovhede 0eef7ec49b Final removal of AsyncHttpRequest. 2025-05-24 13:55:19 +02:00
Kenneth Skovhede 9723b78279 Fixed nullability issues 2025-05-24 13:54:59 +02:00
Kenneth SkovhedeandGitHub ba1becd14f Merge pull request #6295 from duplicati/feature/simpler-ssh-key
SSH key supports direct content
2025-05-24 13:46:33 +02:00
Kenneth SkovhedeandGitHub 08f4ef897f Merge pull request #6292 from marceloduplicati/feature/openstack-httpmigration
Refactors OpenStack backend to use HttpClient
2025-05-24 13:46:13 +02:00
Kenneth Skovhede f3d24bafe7 SSH key supports direct content
Added support for providing the SSH key via a non-encoded key parameter, as the connection string is already url encoded.
2025-05-24 11:01:49 +02:00
Kenneth Skovhede c6327c0f1f Fixed copy-paste-issue 2025-05-24 10:56:33 +02:00
Kenneth Skovhede 06c5b14eda Minor cleanup to use the HttpClient API 2025-05-24 10:51:00 +02:00
Kenneth SkovhedeandGitHub ca336ba0fa Merge branch 'master' into feature/remote-oauth-helper 2025-05-24 09:53:22 +02:00