Devlog ·
Reports that ping a channel, and a game inside a chat server
The report slip gained a chat bot, a ping for every filed report, an approve tick, and a page that runs the Web build as an activity.
Reports that ping a channel
The report slip from the last post now has more to talk to. A Discord bot (issue 711) takes a report, an idea with a vote, the newest build or the trailer. Its handlers are plain functions, so a script called them with stand-in interactions against a local relay pointed at a fake issue tracker: two reports filed, a JPEG screenshot refused, an idea filed once not twice. Review found that the idea command posted and added reactions before answering Discord, which allows three seconds; it now answers first. The relay's limit of five reports an hour per address would cap every Discord user at once, since they share the bot's address (follow-up 713). The relay now pings a channel for every filed report (issue 744); its first test showed every report queued and no post, because a leftover local server held the port. Reports are filed for triage, and a tick reaction on the ping approves one, a cross declines it (issue 752). A second endpoint posts progress as an issue is approved, picked up, fixed and closed (issue 768); review pointed out that a title could carry an email address, now scrubbed.
The owner also asked whether the browser build could be played inside the Discord server. The worker for issue 754 built a wrapper page and tested it behind a local server standing in for Discord's proxy; the handshake only answers pages framed by Discord, so the test called the boot step directly. It reached the tower-pick board in 27 to 33 seconds. A name with a space would have reached the game as "Brush+Goblin", so the page writes %20.
What nobody has checked yet
- The bot and the activity page against real Discord: the framed handshake, the content security policy with Unity's loader, music autoplay, the relay through the proxy, the phone apps, and the bot's Docker image and service unit.
- Real deliveries from the issue tracker to the progress endpoint, and a real webhook post.