Commit graph

2 commits

Author SHA1 Message Date
Erik
32878d825e Test server: a dropped connection closes on every platform
All checks were successful
CI / build-and-test (pull_request) Successful in 37s
CI / release (pull_request) Has been skipped
On Linux, aborting the server-side WebSocket left the TCP connection open,
so the client never saw the drop and the reconnect test timed out on the
Gitea runner. Ending the response closes it everywhere, as a real server's
drop does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 16:03:22 +02:00
Erik
5dbb294a96 Skeleton: plugin root, backend socket, /mm router, settings, test harness
The socket connects with the shared-secret header, registers first, reassembles
incoming frames of any size (the original dropped anything over 4 KiB) and
reconnects two seconds after a failure. Incoming share_* frames go to the
vital-sharing handlers; any other frame is a chat-box command for this
character, run one per tick through the chat bar as if typed. Frames are
written with Newtonsoft.Json defaults, the original's serializer, so the
backend sees the same bytes. The secret lives in the character's settings.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 12:03:00 +02:00