Release: 2.1.0.120 (Canary) 2025-06-24

Thanks for reporting it. I have fixed it in 2.1.0.121. The enums and booleans should be parsed case-insensitive everywhere.

Where is the “later C# read” ? All code that reads an enum option from a string should use the helper method ParseEnum to make sure we always parse the same way.

The enum parsing in the backend configuration area has some quirks with case sensitivity currently. Fortunately, ngax has the same quirks, so you need to hand-edit the url to introduce issues.

Is this because the option was snipped by ngclient? Then it should be fixed in 1.2.0.121.

The indicator should light up if the path does not exist. And no, generally one should never need to refresh the page (but it is a nice workaround.).

That sounds super odd. I cannot recall anything that should apply to B2 timeouts at all. The default read-write-timeout is 30s, so much shorter than the 5m you have been using.

My guess is that it hits some kind of error+retry and that keeps the backup busy. You cannot delete a backup that is running, so most likely this is the case.

Yes, that is the case. I have fixed it in source.

Thanks for reporting.

I understand the gripe, but I think the actual option name is for power users, and has little value for the regular person. I think the option to have the ... edit as text would solve it, by showing the actual option names.

I see, since the option is now inversed, the wording should also be inversed.

I will look at recreating the issue.

There is an issue for creating that button in ngclient.

There are two “pause” modes (which is confusing in itself).

The server can be paused. When the server is paused, it will queue up requests to run tasks (backups, restores, etc). Once the server resumes, tasks will be processed in their queue order.

The other pause mode relates to a single task. Here it is possible to pause (or stop) a task.
With ngclient, the stop button appears when a task is running (but no pause button).
The stop command will request that the operation stops “nicely”, meaning that any pending transfers are completed before the task stops.
There is also a more agressive command (named abort internally) that will instead attempt to stop any processing immediately, potentially leaving partial files on the storage.

That sounds like a bug. Do you mind opening an issue or a new topic for this?

The “Stop now” is the same as abort. It has a skull icon in ngclient, and you need to click “stop” before you can see that button.

For the “soft stop” a new filelist will be uploaded, if any new data was encountered, as the backend will otherwise store “dangling” data until the next backup can upload a (synthetic) filelist.

If the backup was stopped prematurely, regardless of the method, the filelist should be marked as partial.

It is not directly intentional, but making the UI more friendly means that there is not a great place for it. I get that the error here means that the wrong text is shown, but hopefully the new check for inverted booleans should catch such an error in the future.

That sounds like a bug somewhere. The logic is that such failed uploads should be marked is “uploading” in the database, and since the backup did not shut down cleanly, the next run should remove these files as they are not fully uploaded. The error message you see indicates that they somehow got the state “uploaded” or “verified” in the database.

Could you make a bugreport database and PM it to me? Then I will try to figure out where the transition happened.

Since the files are damaged, you should delete them. They cannot really be read due to encryption. After removal, you need to run purge-broken-files.

Do you know how rclone markes files as soft-deleted? I am surprised that Duplicati finds them if they are moved or renamed.

That sounds like a counting bug. Do you mind creating an issue or a new topic for tracking this?