Files
EchoHub/src/EchoHub.Core/Contracts/IEchoHubClient.cs
T
HueByte 0c16f44db6 feat: enhance user presence and channel interaction features
- 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.
2026-02-24 20:56:40 +01:00

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);
}