This removes the WorkerThread class and many of the complications around it.
Instead of having a generic worker, there is now the `QueueRunnerService` which takes on all the resposibilities for handling queued tasks.
This is one step towards removing `FIXMEGlobal`
The new API avoids using HTTP status codes and verbs.
Added new structure for having a similar response envelope and pagination support for V2 calls.
Added extensions to the systemInfo call so the client knows if the V2 methods are available.
This moves the throttle support to the StreamUtil throttled stream, which allows multiple streams to share a throttle value, such that the throttle setting is applied to the entire communication from Duplicati, and not for each connection.
This also cleans up a bit in the progress reporting, where the backend manager now keeps track of the "active" transfer and only emits progress on that. Once it finishes, a new transfer is promoted a "active".
On some locales, odd strings would parse as valid full dates, causing relative dates to be incorrectly calculated.
This commit fixes the issues and revisits the DST aware calculations with more tests.
This adds support for providing a custom defined token instead of using the JWT tokens.
The intended use is for deployments where the authentication is provide by a different layer (a proxy service).
In some cases the stored database state would be misinterpreted causing abnormal wait periods that crashes the program on startup.
This change converts all time compares to UTC asn the database value was already UTC.
It also adds a clamping function to prevent crashes on extreme values (using 24h pause instead of crash).
* Updated reporting values.
The reporter module can now emit the following extra values:
- operating-system
- installation-type
- destination-type
- next-scheduled-run
When running from the built-in scheduler, it will automatically set `--next-scheduled-run` so it is applied to the reporting data.
* Implemented an improved machine name reader.
This fixes#5907
* Added a guard against sending too much of the destination url as the destination.
* Fixed reading Windows Machine name
* Removed extra Windows logic as it has no effect