mirror of
https://github.com/Kareadita/Kavita.git
synced 2025-05-24 00:52:23 -04:00
* Replaced profile links to anchors so we can open in new tab if we like * Refactored how update checking works. We now explicitly check and send back on the same API. We have a weekly job that will push an update to the user. * Implemented a changelog tab * Ported over a GA fix for using ' in PR bodies. * Don't check cert for Github
50 lines
1.1 KiB
C#
50 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.SignalR;
|
|
|
|
namespace API.SignalR
|
|
{
|
|
|
|
/// <summary>
|
|
/// Generic hub for sending messages to UI
|
|
/// </summary>
|
|
[Authorize]
|
|
public class MessageHub : Hub
|
|
{
|
|
private static readonly HashSet<string> Connections = new HashSet<string>();
|
|
|
|
public static bool IsConnected
|
|
{
|
|
get
|
|
{
|
|
lock (Connections)
|
|
{
|
|
return Connections.Count != 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
public override async Task OnConnectedAsync()
|
|
{
|
|
lock (Connections)
|
|
{
|
|
Connections.Add(Context.ConnectionId);
|
|
}
|
|
|
|
await base.OnConnectedAsync();
|
|
}
|
|
|
|
public override async Task OnDisconnectedAsync(Exception exception)
|
|
{
|
|
lock (Connections)
|
|
{
|
|
Connections.Remove(Context.ConnectionId);
|
|
}
|
|
|
|
await base.OnDisconnectedAsync(exception);
|
|
}
|
|
}
|
|
}
|