Repository navigation
Kick K5: commands answered by the bot, subscription diagnostics, service.log (1.1.0, relay 0.2.0) - #5
Merged
Merged
Conversation
…ice.log (1.2.0, relay 0.2.0) Host: KickChatBridge routes every chat.command through the same ChatResponder as /api/chat (same texts and cooldown clocks) and sends the text as chat.send replying to the viewer's message; the outcome (answered / cooldown / ignored / send_failed) is published on the Kick card. /api/chat marks local requests while connected so the card warns about a second bot (Streamer.bot). The hello's `subscriptions` and the new `subscriptions` frame land in the state: an empty list while connected shows a red notice instead of a silent "Connected" (what the first real connection ran into with the app's webhooks off). A rotating service.log under the data folder, since the service the plugin starts runs hidden. Relay 0.2.0: hello carries `subscriptions`, ensureSubscriptions on connection announces changes, one log line per webhook (type + action, never the body) and per refused subscription. Tests: KickChatBridgeTests (7), host flow extended with the native answer and the duplicate-bot flag, FileLoggerTests (2), worker hello / announcement (34 vitest). Connector tests isolate a second pairing in its own folder (reusing the first pairing from disk restarted the session and could swallow a pushed frame). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RaFitGHCUzwkHrFTjz8qJb
The version belongs to the published GitHub release, not to the PR: v1.1.0 has not been tagged yet, so K5 ships under it too and the minor moves with the first functional delivery after that release. Rule recorded in PRD §11 and PROGRESO. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RaFitGHCUzwkHrFTjz8qJb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
Stage K5 of
docs/PRD-kick.md: the commands the relay forwards are now answered in chat by the bot, without Streamer.bot. Plus the diagnostics the first real connection showed were missing, and a log file for the hidden service. Still build 1.1.0 (that release is not published yet, so the number does not move), relay 0.2.0.Host (DustPlanner.Kick / Host / Panel)
KickChatBridge: everychat.commandgoes through the sameChatResponderasGET /api/chat/…— same texts, prefix, language and cooldown clocks — and leaves aschat.sendwithreply_to_message_id, so the bot's line is a reply to the viewer's. The shared clocks mean a Streamer.bot still polling cannot double an answer inside the cooldown.Kick: !deck → answered.chat.message.sentsubscription (Kick refused the webhooks — the app's switch was off, exactly what we hit at 12:53);/api/chatin the last 15 min while connected (Streamer.bot) → turn the duplicated commands off there.service.login%LocalAppData%\DustPlanner(2 MB, one rotation): the service the plugin starts runs hidden, and until now itsKick:lines went nowhere.Relay 0.2.0 (
cloud/kick-worker)hellocarriessubscriptions[];ensureSubscriptionson each connection sends asubscriptionsframe when the set changes (so the red notice clears itself once webhooks are on).relay: webhook <type> <action>, never the body) and per refused subscription (Kick's short reason) → the Cloudflare Logs tab answers "is Kick talking to us?".Tests
198 .NET (+9) and 34 vitest (+1): bridge (answer as reply, shared cooldown, disabled command, missing-data line, subscriptions in hello / announced / absent on old relays, local-request throttling), host flow with the native answer and the duplicate-bot flag over SSE, file logger (write + rotate), worker hello/announcement. The connector tests now give a second pairing its own folder: reusing the first one from disk restarted the session and could swallow a frame the test pushed (the occasional
A_relay_error_frame…timeout).After merging
worker-v0.2.0onmain→/healthsays"version":"0.2.0".DustPlanner-v1.1.0.zipagain frommainfor VERIFICACION K6:!deckanswered by the bot with Streamer.bot closed, note which account the answer shows under, cooldown and the yellow notice with Streamer.bot on.v1.1.0when you want the release; the next functional PR after it is 1.2.0.Docs:
kick.md(commands in chat, troubleshooting),kick-streamerbot.md,exporter-install.md(logs),VERIFICACIONK5 ✔ + K6,PROGRESO, PRD protocol table, relay README (webhooks switch).https://claude.ai/code/session_01RaFitGHCUzwkHrFTjz8qJb
Generated by Claude Code