Commit Graph
15 Commits
Author SHA1 Message Date
Kenneth Skovhede c0f40e19ca Updated copyright year to 2026 across the project 2026-04-16 15:21:24 +02:00
Kenneth Skovhede c8b9fb5c73 Websocket subscriptions
This PR adds the ability to subscribe to messages over a websocket.

To prevent polling data, the server can now push messages through the websocket, so the client can instantly update when new data is available.

The change is backwards compatible, still serving the status updates over the socket. If the client is providing the authentication token, it is auto-subscried to the legacy status message.

If the client is using the new authentication message, it needs to subscribe to get the status updates (and any other services it needs).

The event system has been extended to support new, and more accurate, events. This is the first step towards removing the general status update and the long-poll mechanism.

This also re-introduces the blocking marker, so the client can know if the operation is halted due to too many pending transfers.

Some endpoints have been moved to service implementations, to allow serving the exact same data from both endpoints and websocket.

This PR also updates the way the progress is handled, so that all transfers are returned to the client, and the transfer speeds for each transfer is calculated based on a small sample buffer, so the values are more accurate even if the program is paused during transfers.
2025-05-27 12:13:07 +02: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 aa9a6b1e7d Changed the flow of invalid hostname errors 2024-10-05 22:23:36 +02:00
Kenneth Skovhede 2b55b3449d Add custom hostname validation
This adds a manually implemented hostname check that is applied as an endpoint filter.
With the implemented filter, the validation rules are similar to those before Kestrel was introduced.
This fixes #5469
2024-08-19 14:07:48 +02:00
natan da7240d31a bug(5359): swallow WebSocketException exception when client aborted 2024-08-01 17:14:03 +02:00
Kenneth Skovhede 105f6e16ff Fixed origin mapping 2024-07-18 10:51:58 +02:00
natan 27ce549e75 cleanup WebsocketAccessor.cs and StatusService.cs a bit.
Remove /serverstate endpoint
2024-07-12 17:59:21 +02:00
Kenneth Skovhede 94d6ab76ee Changed logic for reconnect to not rely on serverstate API.
Changed websocket to send current state on initial connect.
2024-07-11 16:24:22 +02:00
natan 0ae9990f18 fix 401 in websocket 2024-07-09 15:49:17 +02:00
natan f7656f464e fix websocket connection 2024-07-03 22:26:03 +02:00
Kenneth Skovhede 92b82df78b Disabled websocket as it is not complete.
Fallback to longpoll :'(
2024-06-20 22:46:42 +02:00
Kenneth Skovhede 9f79025744 Removed HttpServer.
Re-implemented everything using ASP.NET.
Changed some requests to use JSON instead of FORM data.
Some work towards deleting the FIXMEGlobal instance.
Auth is missing, XSRF does not work correctly.
2024-06-07 15:56:43 +02:00
natan d78b9f2c63 WIP 2024-04-03 10:40:29 +02:00
natan 5d53eddb32 WIP 2024-03-26 18:32:56 +01:00