mirror of
https://github.com/RedWizardsLab/EchoHub.git
synced 2026-09-04 08:36:11 +02:00
feat: add support for broadcasting and handling channel deletions across clients
This commit is contained in:
@@ -1071,6 +1071,15 @@ public sealed class AppOrchestrator : IDisposable
|
||||
_conn.MessageDeleted += (channelName, messageId) =>
|
||||
InvokeUI(() => _messageManager.RemoveMessage(channelName, messageId));
|
||||
|
||||
_conn.ChannelDeleted += channelName =>
|
||||
{
|
||||
InvokeUI(() =>
|
||||
{
|
||||
_conn.UntrackChannel(channelName);
|
||||
_mainWindow.RemoveChannel(channelName);
|
||||
});
|
||||
};
|
||||
|
||||
_conn.ChannelNuked += channelName =>
|
||||
{
|
||||
InvokeUI(() =>
|
||||
|
||||
@@ -46,6 +46,7 @@ internal sealed class ConnectionManager : IAsyncDisposable
|
||||
public event Action<string, string?>? UserBanned;
|
||||
public event Action<string>? ForceDisconnected;
|
||||
public event Action<string, Guid>? MessageDeleted;
|
||||
public event Action<string>? ChannelDeleted;
|
||||
public event Action<string>? ChannelNuked;
|
||||
public event Action<ChannelDto>? ChannelUpdated;
|
||||
public event Action<string>? Error;
|
||||
@@ -300,6 +301,7 @@ internal sealed class ConnectionManager : IAsyncDisposable
|
||||
connection.OnUserBanned += (user, reason) => UserBanned?.Invoke(user, reason);
|
||||
connection.OnForceDisconnect += reason => ForceDisconnected?.Invoke(reason);
|
||||
connection.OnMessageDeleted += (ch, id) => MessageDeleted?.Invoke(ch, id);
|
||||
connection.OnChannelDeleted += ch => ChannelDeleted?.Invoke(ch);
|
||||
connection.OnChannelNuked += ch => ChannelNuked?.Invoke(ch);
|
||||
connection.OnChannelUpdated += ch =>
|
||||
{
|
||||
|
||||
@@ -58,6 +58,7 @@ public sealed class EchoHubConnection : IAsyncDisposable
|
||||
public event Action<string, string, string?>? OnUserKicked;
|
||||
public event Action<string, string?>? OnUserBanned;
|
||||
public event Action<string, Guid>? OnMessageDeleted;
|
||||
public event Action<string>? OnChannelDeleted;
|
||||
public event Action<string>? OnChannelNuked;
|
||||
public event Action<string>? OnForceDisconnect;
|
||||
public event Action<string>? OnError;
|
||||
@@ -144,6 +145,11 @@ public sealed class EchoHubConnection : IAsyncDisposable
|
||||
OnMessageDeleted?.Invoke(channelName, messageId);
|
||||
});
|
||||
|
||||
_connection.On<string>(nameof(Core.Contracts.IEchoHubClient.ChannelDeleted), channelName =>
|
||||
{
|
||||
OnChannelDeleted?.Invoke(channelName);
|
||||
});
|
||||
|
||||
_connection.On<string>(nameof(Core.Contracts.IEchoHubClient.ChannelNuked), channelName =>
|
||||
{
|
||||
OnChannelNuked?.Invoke(channelName);
|
||||
|
||||
Reference in New Issue
Block a user