mirror of
https://github.com/RedWizardsLab/EchoHub.git
synced 2026-09-05 15:46:01 +02:00
- Fix userlist not refreshing after creating a new channel. - Implement unmute timer with a background job to automatically unmute users. - Improve userlist display by filtering invisible users and ensuring proper transitions between statuses. - Add clickable usernames, @mentions, and #channels for easier navigation. - Embed theme colors from source sites for a more cohesive UI. - Introduce a stateful userlist that updates incrementally via SignalR events. - Restrict auto-opening of files to safe types only, enhancing security. - Refactor user management into a dedicated service to reduce code duplication. - Add a MuteExpirationService to handle timed mutes. - Update documentation with Mermaid diagrams for major flows.
22 lines
772 B
C#
22 lines
772 B
C#
using EchoHub.Core.DTOs;
|
|
|
|
namespace EchoHub.Core.Contracts;
|
|
|
|
/// <summary>
|
|
/// Methods the server can invoke on connected clients.
|
|
/// </summary>
|
|
public interface IEchoHubClient
|
|
{
|
|
Task ReceiveMessage(MessageDto message);
|
|
Task UserJoined(string channelName, string username, UserPresenceDto? presence);
|
|
Task UserLeft(string channelName, string username);
|
|
Task ChannelUpdated(ChannelDto channel);
|
|
Task UserStatusChanged(UserPresenceDto presence);
|
|
Task UserKicked(string channelName, string username, string? reason);
|
|
Task UserBanned(string username, string? reason);
|
|
Task MessageDeleted(string channelName, Guid messageId);
|
|
Task ChannelNuked(string channelName);
|
|
Task ForceDisconnect(string reason);
|
|
Task Error(string message);
|
|
}
|