Remove username and password from target options if the backend does not show the input fields.
The username and password options are stored in different variables than the other backend options. Therefore, they are only visible if the backend supports them.
Closes#3082
* Improve errors specificity by:
a. Avoiding unnecesary wrapping in AggregateException - Using Library.Utility.Await instead of Wait / Result
b. Using messages from InnerException during TestConnection
* Fix detection of missing base directory:
Depend on error code while trying to SetWorkingDirectory, rather than very wide try/catch and a hardcoded error string (Different FTP servers return different error strings. E.g. hardcoded here was "Directory not found." while Filezilla returns "Can't open file or directory").
* Fix indentation
Intentionally seperated from the previous commit for easier reviewing (otherwise Github text diff display is confused by the removal of the large try / catch blocks)
* Fix creation of missing base directory:
(previously CreateClient would fail since it would try to SetWorkingDirectory to the not-yet-existing directory)
* Upgrade FluentFTP to v42 in an attempt to resolve TLS session issues:
duplicati/duplicati#4831
Note v40 introduced breaking changes, specifically seperating between sync and async clients.
Using a different approach this time, single async client.
* Bump FluentFTP to latest (42.0.0 --> 46.0.2)
If an exception is provided for a log message, display the type and message (excluding stack trace) even if withExceptionDetails=false. This helps to diagnose bugs if the live log was not saved.
Closes#4843
Before the dindex files are deleted on the remote, update the state in the database to Deleting. Previously, only dblock files were handled this way.
Patch by warwickmm
Closes#4129
Direct import of PR#4978
Update web UI for new result reports.
For operations with fatal errors, write logs to same operation ID.
Test that Interrupted flag is correct in RunScriptTests.
Update backup log display for new result reporting.
Hide file statistics for fatal errors and change fatal icon.
* Add manual link to footer and remove dead facebook link.
* Fix vertical padding for manual link.
Change to 8px like the other footer sections from 5px.
The assigned quota size is checked in addition to the reported backend quota (if available). It can be used to limit the backup size on the remote. Warnings are created according to the same quota warning threshold.
Previously, this option had no function.
Mono sometimes reports the total size of unknown file systems as zero. Because it should be obvious when the size is actually zero, ignore the quota in this case.
If set, the backend is treated as if it does not report a quota at all. No warnings and errors are created and no quota values are set in the backup log.
This option is intended to be used if a backend reports a wrong quota, so it needs to be disabled.
On Linux, paths were created with \ instead of / separators if backup was originally from Windows (#4884).
Also fix bug that created one unnecessary level of directories in the restore path.
There are advanced options such as force-local that expect an empty string in some cases. While saving, these were replaced with 'true' even though there was an equals sign.
Now only options without an equals sign are set to true.
Closes#4757
- Localization culture is set from multiple threads on the server, so use current local context for every new call instead of global context
- Change locale before executing help commands if flag is present
- When force-locale is set, also change locale for log messages
Closes#4176
The advanced options are stored in the URI. Since a non-standard format with backslashes is used for windows paths, parsing these options fails when editing a backup with a file target in the web UI.
This change makes an exception for file URIs to allows those paths.
The previous JS code incorrectly converted glob expressions to regexp which prevented them from showing the correct file states in the list.
This was only a UI bug and has no effect on the backend.