Commit Graph
12239 Commits
Author SHA1 Message Date
Kenneth Skovhede de1bbcf668 Fixed create order sorting
The create order was sorting strings, not numbers.
2025-07-07 16:16:39 +02:00
Kenneth SkovhedeandGitHub 6825c7cdae Merge pull request #5272 from duplicati/feature/introduce-editorconfig
Added `.editorconfig` file.
2025-07-07 12:33:35 +02:00
Kenneth SkovhedeandGitHub dbba9268b2 Merge pull request #6395 from duplicati/feature/fix-gdrive-folder
Fixed creating folder with Google Drive
2025-07-07 12:31:26 +02:00
Kenneth SkovhedeandGitHub 015a00c77d Merge pull request #6394 from duplicati/feature/missed-backup-schedule-order
Run backups in order after startup
2025-07-07 12:30:45 +02:00
Kenneth SkovhedeandGitHub f13beb4c39 Merge pull request #6386 from duplicati/feature/vanara-vss-backup
Update support for VSS
2025-07-07 12:03:03 +02:00
Kenneth Skovhede fa19725a9a Fixed creating folder with Google Drive
This fixes #6389
2025-07-07 11:46:20 +02:00
Kenneth Skovhede af20de27e1 Run backups in order after startup
This changes the order that backups are queue to better match their intended execution order.

If the machine is off for a day, the next time Duplicati starts, it will find all backups that were supposed to have run and queues these.

Before, the order of backups being queued would depend on the database order, essentially creation order.

This PR changes the logic to keep track of when they were supposed to run (first triggered time if multiple slots were skipped), and then adds the backups into the queue, so the job that was supposed to run first, will now be queued first.

This fixes #1476
2025-07-07 11:27:13 +02:00
Kenneth Skovhede 285617245b Fixed test for BackupRead 2025-07-04 16:31:03 +02:00
Kenneth Skovhede cfb1fec331 Fixed compile issue 2025-07-04 16:29:30 +02:00
Kenneth Skovhede 148d88ee17 Disable features if shim fails to load 2025-07-04 16:18:05 +02:00
Kenneth Skovhede b955822773 Better capture of rethrown exception 2025-07-04 16:14:04 +02:00
Kenneth Skovhede 6502017c57 Merge remote-tracking branch 'origin/master' into feature/vanara-vss-backup 2025-07-03 17:09:30 +02:00
Kenneth Skovhede fe2ecfec4a Added test for BackupRead if supported 2025-07-03 17:04:22 +02:00
Kenneth SkovhedeandGitHub 5ff613b5da Merge pull request #6360 from carljohnsen/performance/mssqlite-async
Performance/Asynchronous database backend
2025-07-03 11:07:26 +02:00
Kenneth SkovhedeandGitHub d1d1bb8b4c Merge pull request #6388 from duplicati/feature/apply-secret-provider-trayicon
Apply Secret Provider to TrayIcon
2025-07-03 11:07:06 +02:00
Kenneth Skovhede 19ac279939 Apply Secret Provider to TrayIcon
If the secret provider is used to supply arguments only used by the TrayIcon it does not work.

The secret provider is applied in the Server part, so any settings passed through are correctly resolved, but for the few options that apply directly to the TrayIcon this was not resolved.

With this PR, the secret provider is applied to TrayIcon options as well.

This applies to:
- `--hosturl`
- `--browser-command`
- `--host-cert-hash`
- `--webservice-password`
2025-07-02 20:42:35 +02:00
Kenneth Skovhede 8ef2e85638 Don't set option if not supported 2025-07-01 17:05:20 +02:00
Kenneth SkovhedeandGitHub 29f5eb79e5 Merge branch 'master' into feature/vanara-vss-backup 2025-07-01 16:35:57 +02:00
Kenneth Skovhede 98deb8c576 Update support for VSS
This updates VSS to default use Vanara in favor of AlphaVSS which is no longer maintained.

The build for Vanara requires targeting `net8.0-windows7.0`, which will cause significant build overhead and complexity for cross platform builds.
To counter this, the setup is to have a single project, `Duplicati.Library.WindowsModules`, that is targeting `net8.0-windows7.0`.
The output from this project is then hoisted into the TrayIcon project for Windows builds so the files are available when debugging on Windows.
A top-level dummy executable project is added to ensure the project always builds.
The built modules are then loaded with reflection when requested.

With the use of Vanara there is now also support for using BackupRead to read files without making a VSS snapshot.
With BackupRead, it is possible to read locked files, but it still requires the SeBackupPrivilege as VSS does as well.

Unfortunately, the `vssapi.dll` file is not shipped for Arm64 on Windows, so even with Vanara this will not work, and only WMIC is supported on Arm64.
A workaround is to run Duplicati with x64 emulation if more advanced VSS features are needed (HyperV and MSSQL support).

This PR also updates options and filters out unsupported options for each operating system, so options that are not supported by the current OS are not reported and will give warnings if they are used, as opposed to just being ignored.

The release builder project has been updated to exclude the unused project, and purge unwanted outputs.
2025-07-01 16:32:19 +02:00
Kenneth SkovhedeandGitHub 57d85fcad5 Merge pull request #6372 from marceloduplicati/feature/pkill-termination-issues
Addresses shutdown and thread safety issues
2025-07-01 15:21:26 +02:00
Kenneth SkovhedeandGitHub ffde75a7ee Merge branch 'master' into feature/pkill-termination-issues 2025-07-01 15:18:58 +02:00
Kenneth SkovhedeandGitHub a386d8c7b8 Merge pull request #6375 from duplicati/feature/configure-refresh-token-lifetime
Configureable refresh token timeout
2025-07-01 15:18:33 +02:00
Kenneth SkovhedeandGitHub 7a498de3e5 Merge pull request #6382 from duplicati/feature/no-snapshots-for-testing
Default to disable snapshots when testing
2025-07-01 15:18:17 +02:00
Kenneth SkovhedeandGitHub 30cb3ae9a3 Merge pull request #6383 from duplicati/feature/drop-sebackupprivilege
Update permission check to drop privilege
2025-07-01 15:18:06 +02:00
Kenneth SkovhedeandGitHub db9c6d98c0 Merge pull request #6384 from duplicati/feature/fix-temp-crash
Fixed crashs in debug mode
2025-07-01 15:17:54 +02:00
marceloduplicatiandGitHub 0ec1b15145 Merge pull request #6385 from marceloduplicati/feature/fix-trayicon-help-arguments
Fixes help argument handling.
2025-07-01 09:45:28 -03:00
Marcelo C. b7dc8e81fe Fixes typo and improves argument handling
Ensures the unmodified command-line arguments are passed to the help detect function.

Related to https://github.com/duplicati/duplicati/pull/5889#issuecomment-3020522797
2025-07-01 09:41:31 -03:00
Kenneth Skovhede 8ed3fa5d15 Removed limitation of token duration 2025-07-01 11:49:59 +02:00
Kenneth Skovhede 9d8f426c99 Fixed crashs in debug mode
This fixes the callstack walker to handle cases where the call frame has no assembly.
The code is only compiled for debug builds.
2025-07-01 11:47:30 +02:00
Kenneth Skovhede 9eb2ceada5 Update permission check to drop privilege
This PR adjusts the check for SeBackupPrivilege and unassigns the privilege after testing if it could be enabled.

This fixes #6317
2025-07-01 11:45:29 +02:00
Kenneth Skovhede ccbf3a1552 Default to disable snapshots when testing 2025-07-01 11:43:38 +02:00
Kenneth Skovhede 395a95b723 Configureable refresh token timeout
This PR adds an option to define the timeout for the refresh token. The token is default set to 30 days.

If the user interacts with Duplicati (i.e., loads the page) the refresh token is regenerated, meaning that the user is not asked to log in again unless the refresh token has expired fully.

With this PR it is possible to configure this duration to be a shorter period, but not longer than the 30 days.
2025-06-29 16:57:47 +02:00
Marcelo C. f7bb2d0e6b Ammending changes 2025-06-27 11:19:24 -03:00
Kenneth SkovhedeandGitHub 044befec8c Merge pull request #6367 from duplicati/feature/cleanup-throttle-options
No exempt throttle backends
2025-06-27 11:13:23 +02:00
Marcelo C. 3863dbe7ce Addresses shutdown and thread safety issues
Improvement on AvaloniaRunner, HttpServerConnection, and HostedInstanceKeeper to prevent race conditions during shutdown.

Adds cancellation tokens and locking mechanisms to ensure that operations are properly stopped and resources are released in a controlled manner.

Also handles a NullReferenceException during Avalonia shutdown, and avoids invoking `InstanceShutdown` or `ConnectionClosed` multiple times.
2025-06-25 15:24:04 -03:00
Kenneth SkovhedeandGitHub d47e224c6a Merge pull request #6370 from duplicati/feature/expand-envs-for-commandline
Expand envvars for UI commandline
2025-06-25 19:54:54 +02:00
Kenneth Skovhede 80c070e514 Expand envvars for UI commandline
This PR adds expansion of the UI "commandline" feature when running a backup, similar to what the regular runner does when running the backup.
2025-06-25 10:06:36 +02:00
Kenneth SkovhedeandGitHub 3e84dc97fa Merge pull request #6369 from duplicati/release/canary-2.1.0.120
Release/canary 2.1.0.120
2025-06-25 06:34:19 +02:00
Kenneth Skovhede 2d45ef44ee Version bump to v2.1.0.120-2.1.0.120_canary_2025-06-24
You can download this build from:

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

Signature file: https://updates.duplicati.com/canary/duplicati-2.1.0.120_canary_2025-06-24.signatures.zip
v2.1.0.120_canary_2025-06-24 v2.1.0.120-2.1.0.120_canary_2025-06-24
2025-06-25 00:39:50 +02:00
Kenneth Skovhede 3719935b1d No exempt throttle backends
This PR removes the default value of `file` as a throttle exempt backend, so all backends are  subject to throttle by default.

This change makes the option easier to work with as the empty string could not be used to undo the default value, and fixing this would make the options be applied inconsistently.

Also fixed two errors in the help text for the option.
2025-06-24 16:13:59 +02:00
Carl Johnsen bb87e94ffa Post merge master fixes 2025-06-24 14:38:58 +02:00
Carl Johnsen e55c36081f Merge branch 'master' into performance/mssqlite-async 2025-06-24 14:24:09 +02:00
Carl Johnsen f9111a9dde Made RestoreHandler call the DisposeAsync instead of Dispose on the LocalRestoreDatabase 2025-06-24 12:05:15 +02:00
Carl Johnsen 8c9f129b8a Removed unused parameter 2025-06-24 12:04:49 +02:00
Carl Johnsen 79b63ee4b2 Fixed race condition on creating and disposing SqliteCommands from multiple threads sharing the same SqliteConnection 2025-06-24 12:04:31 +02:00
Kenneth Skovhede 06feb91f29 Bumped ngclient 2025-06-24 07:49:16 +02:00
Kenneth SkovhedeandGitHub 86acc32c1c Merge pull request #6361 from duplicati/feature/handle-transitive-folders
Transitive virtual folders
2025-06-24 07:41:51 +02:00
Kenneth SkovhedeandGitHub afc3a306af Merge pull request #6362 from duplicati/feature/dont-report-fixed-files
Remove fixed index files from output
2025-06-23 21:39:50 +02:00
Kenneth Skovhede b7a0053e5b Rewrote function to return minimal unique prefixes instead 2025-06-23 17:40:28 +02:00
Carl Johnsen 09d79512bc Handled package / assembly version mismatch due to revision numbers 2025-06-23 13:31:05 +02:00