Skip to content

feat: make Discord announcement-only - #14

Merged
joshchen-dev merged 1 commit into
mainfrom
claude/great-shannon-b4y5vi
Oct 6, 2026
Merged

joshchen-dev merged 1 commit into
mainfrom
claude/great-shannon-b4y5vi

Conversation

@joshchen-dev

@joshchen-dev joshchen-dev commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

All planning now happens on the web. Discord only announces the result.

  • Timetable post:
    • each date appears as <t:…:F>, so every reader sees their own timezone
    • each date shows N/M available and its status
    • an Open in Raidy link button goes to /app?team=<id>
    • no member mentions and no vote buttons
    • votes and date decisions still edit the post in place, through the debounced refresher
    • closed timetables keep a history footer and no buttons
  • Commands: /team and /schedule and their wizards are removed. A single /raidy command replies privately with a link to your team in that server, or a sign-in link to create one.
  • Old posts: buttons on timetables posted before this change reply that Raidy moved to the web, with the link.
  • Sign-in from a link: /api/auth/login?team=42 carries the team through the verified OAuth state, so you land on that team after signing in. Only a positive integer is accepted, so there is no open redirect. The landing page forwards ?team.
  • Removed the in-memory wizard draft store (team.Drafts, TeamDraft) and the helpers only the wizards used.
  • Updated the landing, overview and schedule copy and the README to describe the web-first flow.

Release v0.0.13.

Tests

  • announce_test.go:
    • local timestamps, counts and status, no mentions, and the link button URL
    • closed-history rendering
    • /raidy reply for a team in this server and for no team
    • only /raidy is registered
  • TestLoginReturnsToTheLinkedTeam: valid team IDs, a missing team, and malformed or hostile values
  • Playwright: signing in from /app?team=42 links to /api/auth/login?team=42
  • go vet, go test ./... with TEST_DATABASE_URL, npm run check, format:check, build, and Playwright (17 passed) all pass locally.

Manual check in Discord

  • Run /raidy.
  • Publish a timetable and check that the post shows times in your timezone and an Open in Raidy button.
  • Vote on the web and see the counts update.
  • Click a button on an old post.

Every decision now happens on the web; Discord shows the result.

- Timetable posts list each date in the reader's own timezone with live
  "N/M available" counts and status, plus an "Open in Raidy" link button.
  The post is still edited in place as votes and decisions change.
- The /team and /schedule wizards and the vote/manage buttons are gone.
  A single /raidy command replies with a link to your team's page, and
  buttons on older posts reply that Raidy moved to the web.
- Signing in from a team link returns to that team instead of the first.

Release v0.0.13.
@joshchen-dev
joshchen-dev merged commit 25df2a7 into main Oct 6, 2026
1 check passed
@joshchen-dev
joshchen-dev deleted the claude/great-shannon-b4y5vi branch October 6, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant