Commit Graph
41 Commits
Author SHA1 Message Date
Kenneth Skovhede 179d1ceb47 Make controller Async
This PR has a large blast radius because it takes the final step and bumps up the Controller to be fully async.

We have historically done a piece-by-piece update, so all operations were already async but the controller interface was kept synchronous.

With this update, the controller is now fully async and all tests are updated.

Most places where the new C# compiler warns about function names not ending in `Async` were also adressed, giving a massive refactor change.

Functionally, no changes are done.
2026-05-13 15:04:13 +02:00
Kenneth Skovhede 05d91e6052 Websocket for remote management
This PR adds websocket messages so the FE does not have to use polling to update the view state.
2026-05-08 19:10:01 +02:00
Kenneth Skovhede 50d79d573c Handle expired links
This PR updates the code that handles remote connections to detect server emitted error messages and log them.

Prior to this PR an expired link would make the UI appear to be sort-of connected with no indication of why it would not fully connect.
2026-04-29 15:26:27 +02:00
Kenneth Skovhede b26782ddf1 Improve config speed from console
This PR updates the remove configuration to receive configuration directly on connection, instead of waiting for the server to send it.

This also adds a hibernation setting that will let the server tell the client to stop connecting for a while which can reduce resource consumption at the cost of not being always available.
2026-04-21 14:47:03 +02:00
Kenneth Skovhede c0f40e19ca Updated copyright year to 2026 across the project 2026-04-16 15:21:24 +02:00
Kenneth Skovhede ab82719a6b Improved license key support
Added support for reporting the license key details in SystemInfo.

Added support for loading a key via the console connection, if used.
2026-02-20 10:39:51 +01:00
Kenneth Skovhede e9af50f9ac Added minor code cleanup
- Added missing cultureinformation on some date/time strings
- Added a check if a file exists to avoid an exception when probing for datafolder files
- Fixed a string that should be a constant
- Fixed a dirseparator append
- Fixed places where the exception message was logged into the log message itself creating double data
2026-01-23 11:43:59 +01:00
Kenneth Skovhede 5cfa9724d7 Added support for loading remote backup names in Duplicati Storage 2025-12-09 21:17:01 +01:00
Kenneth Skovhede 0ca2d52008 Added support for new server control messages 2025-11-27 08:54:33 +01:00
Kenneth Skovhede 1ea74a3c63 Updated to .NET10 2025-11-14 15:05:39 +01:00
Kenneth Skovhede 7769d92112 Guard against sending extra header.
If the remote client is sending an extra unwanted header, just ignore it.
2025-10-23 14:54:21 +02:00
Kenneth Skovhede 34b6f9ea55 Implemented remotely managed backup configurations
This PR adds the ability to manage backup configurations outside of the the client.

The implementation ensures that locally created configurations cannot be affected by the remotely managed backups.

If the instance is not connected to a remote console, this has no effect.

This PR updates the local database to add the column `ExternalID` that tracks backups that are managed remotely.
2025-09-17 15:07:09 +02:00
Kenneth Skovhede 819af9e66f Update .NET dependencies 2025-06-24 07:51:26 +02:00
Marcelo C. 614f047dbb Sets infinite timeout for HTTP clients
Ensures that long-running HTTP requests, such as downloads and uploads, do not timeout prematurely.

This change configures specific HttpClient instances with an infinite timeout to accommodate operations that may take an extended period. The default 100s timeout is retained for some operations like registration, where a long delay may indicate a problem.
2025-06-12 10:33:13 -03:00
Kenneth Skovhede 91836deb5a Adjusted logging to prevent logging messages with no useful information 2025-05-30 08:11:21 +02:00
Carl Johnsen 388e849324 Converted tabs to spaces 2025-05-16 10:25:08 +02:00
Carl Johnsen 8be97bcefd Whitespace changes 2025-05-16 10:22:51 +02:00
Carl Johnsen 04153d2c12 Removed Microsoft.DotNet.Analyzers.Compatibility from csproj's as it's deprecated. 2025-05-16 09:53:26 +02:00
Kenneth Skovhede b754caccc3 Added metadata to reports to report current update channel 2025-03-25 12:34:54 +01:00
Kenneth Skovhede cbb639651a Added support for handling control messages.
This enables automatic reporting setup via remote management.
2025-03-03 17:39:25 +01:00
Kenneth Skovhede fac12ba772 Further consolidated the data folder.
Added support for `--portable-mode` and `--server-datafolder` for the CLI, ServerUtil, and Agent.

Fixed a few places where file reads were not cached properly.

Moved some responsibilities of UpdaterManager into DataFolderManager.

This now supports storing `machineid.txt` and `installation.txt` inside the path pointed to by `--server-datafolder` or alternatively with `--portable-mode`.

It is possible that some fringe backwards compatibility is lost with this update.

Fixed an issue with AutoUpdater crashing on check/download.

This fixes #5902
2025-01-28 13:01:35 +01:00
Kenneth SkovhedeandGitHub 997891525a Updated license-updater to update csproj files (#5898)
* Updated license-updater to update csproj files

* License updates
2025-01-22 21:04:19 +01:00
Kenneth SkovhedeandGitHub 9464caf622 Feature/update license 2025 (#5851)
* Fixed some minor whitespace issues

* Updated all copyright to 2025
2025-01-07 09:40:39 +01:00
Kenneth Skovhede 6c3735fc56 Fixed the no-response timeout to follow the heartbeat interval. 2024-11-19 22:20:46 +01:00
Kenneth Skovhede 6d72ff2c2f Increased heartbeat period and reduced log-spam on the information level. 2024-11-14 11:41:18 +01:00
Kenneth Skovhede 9db3cce5e2 Added support for remote control with pre-signed url 2024-10-16 16:28:13 +02:00
Kenneth Skovhede ae004d37c1 Made the reconnect logic more robust 2024-10-03 08:46:34 +02:00
Kenneth Skovhede 08dd1631b7 Manually handling the reconnects.
Common handling of time-delayed events.
2024-10-02 14:50:35 +02:00
Kenneth Skovhede 6ecbaa6da1 Fixed timeout logic 2024-10-01 08:42:34 +02:00
Kenneth Skovhede 1b9363e23a Added logic and error handling for requests 2024-09-28 18:53:35 +02:00
Kenneth Skovhede 344e6c2480 Made byte[] encoding explicit 2024-09-28 17:07:52 +02:00
Kenneth Skovhede 938fc16509 Updated protocol 2024-09-28 16:08:57 +02:00
Kenneth Skovhede 227b8d6dca Added feature to keep the remote control setting, and reconnect on startup.
Updated message types to fit the procotol.
2024-09-27 16:14:40 +02:00
Kenneth Skovhede 4f21937b42 Updated message types to fit procotol 2024-09-25 11:35:03 +02:00
Kenneth Skovhede 51a9c0f0e5 Added default Url for remote control registration 2024-09-25 10:38:14 +02:00
Kenneth Skovhede 3bafe74c0a More work on getting the protocol fixed 2024-09-23 23:18:36 +02:00
Kenneth Skovhede 68c57bc64f Added certificate url for obtaining new certificates 2024-09-23 11:45:12 +02:00
Kenneth Skovhede 42fa5078e4 Fixed merging certificates when new certificates arrive 2024-09-20 16:58:05 +02:00
Kenneth Skovhede 550397cd70 Switched to using a single common certificate implementation 2024-09-20 09:42:21 +02:00
Kenneth Skovhede 5c0d297687 Implemented support for enabling remote control via settings 2024-09-19 14:33:17 +02:00
Kenneth Skovhede 669e90704d Initial work on supporting a secure remote control connection. 2024-09-18 11:07:59 +02:00