Show the backend socket's status and errors in chat, as the original did

Live, /mm ws enable printed nothing about the connection: the socket's
connecting / CONNECTED / REGISTERED / error / reconnect / DISABLED lines went
only to the host log, which the windowed client does not show. The original
printed every one of them to chat.

BackendClient now queues each status and error line (original wording) and
still logs it; BackendSession drains the queue to chat on the tick, and right
after a start or stop on the tick thread so "[WebSocket] connecting…" and
"[WebSocket] DISABLED" come before the command's own reply, as in the
original. The socket thread never writes to chat. The original's telemetry-loop
and cleanup lines are emitted at the matching points, "Starting telemetry
loop" comes from the telemetry listener, and "Vital sharing re-subscribed" is
no longer verbose-only. No frame on the wire changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-09-26 07:30:30 +02:00
parent 336c5cfdf5
commit 28794299cb
7 changed files with 226 additions and 21 deletions

View file

@ -431,7 +431,14 @@ public sealed class RecordingChat : IPluginChat
return message;
}
public void PostSystemMessage(string text) => Posted.Add(text);
/// <summary>The managed thread each <see cref="PostSystemMessage"/> ran on.</summary>
public List<int> PostedThreadIds { get; } = [];
public void PostSystemMessage(string text)
{
Posted.Add(text);
PostedThreadIds.Add(Environment.CurrentManagedThreadId);
}
public void PostMessage(string text, int logTextType)
{