From e484616ecd56122f208540dca3b798890a47747c Mon Sep 17 00:00:00 2001 From: SirConstance Date: Sat, 4 Oct 2025 09:59:30 +0200 Subject: [PATCH] Fix TypingDetection --- .../MareSynchronosServer/Hubs/MareHub.Typing.cs | 16 ++++++++-------- .../Services/SystemInfoService.cs | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Typing.cs b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Typing.cs index 82ef1e3..bc17ddc 100644 --- a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Typing.cs +++ b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.Typing.cs @@ -17,8 +17,14 @@ public partial class MareHub _logger.LogCallInfo(MareHubLogger.Args(isTyping)); var pairedEntries = await GetAllPairedClientsWithPauseState().ConfigureAwait(false); - if (pairedEntries.Count == 0) - return; + + var sender = await DbContext.Users.AsNoTracking() + .SingleAsync(u => u.UID == UserUID) + .ConfigureAwait(false); + + var typingDto = new TypingStateDto(sender.ToUserData(), isTyping); + + await Clients.Caller.Client_UserTypingState(typingDto).ConfigureAwait(false); var recipients = pairedEntries .Where(p => !p.IsPaused) @@ -29,12 +35,6 @@ public partial class MareHub if (recipients.Count == 0) return; - var sender = await DbContext.Users.AsNoTracking() - .SingleAsync(u => u.UID == UserUID) - .ConfigureAwait(false); - - var typingDto = new TypingStateDto(sender.ToUserData(), isTyping); - await Clients.Users(recipients).Client_UserTypingState(typingDto).ConfigureAwait(false); } } diff --git a/MareSynchronosServer/MareSynchronosServer/Services/SystemInfoService.cs b/MareSynchronosServer/MareSynchronosServer/Services/SystemInfoService.cs index 35db7ac..1dc3fb8 100644 --- a/MareSynchronosServer/MareSynchronosServer/Services/SystemInfoService.cs +++ b/MareSynchronosServer/MareSynchronosServer/Services/SystemInfoService.cs @@ -57,6 +57,7 @@ public class SystemInfoService : IHostedService, IDisposable SystemInfoDto = new SystemInfoDto() { OnlineUsers = onlineUsers, + SupportsTypingState = true, }; if (_config.IsMain) @@ -95,4 +96,4 @@ public class SystemInfoService : IHostedService, IDisposable { _timer?.Dispose(); } -} \ No newline at end of file +}