Refactor bot settings UI, add SEO metadata, security hardening, and bot runtime#7
Conversation
- Add LICENSE file (MIT) - Use next/link for Privacy Policy and Terms of Service links in docs footer so basePath is prepended correctly on GitHub Pages Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Enable the Sponsor button on the repository by adding FUNDING.yml with the nathanialhenniges GitHub Sponsors profile. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tings DW-2: Configure GitHub repo settings
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace Nixpacks with Dockerfile-based builds to fix Coolify deployment failures caused by missing DATABASE_URL during build. Unify Prisma config to use process.env with fallback, and make migrations non-fatal so the app starts even if the database isn't immediately reachable. - Switch Dockerfile base to node:24-alpine with pnpm cache mounts - Delete nixpacks.toml (no longer needed) - Merge prisma.docker.config.ts into prisma.config.ts using process.env fallback - Copy full packages/db into production image for Prisma auto-discovery - Update entrypoint: cd into packages/db, use npx, non-fatal migrations Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…timer controls Replace disabled:pointer-events-none with disabled:cursor-not-allowed on input, button, and select primitives so users see a not-allowed cursor on disabled fields. Add data-disabled:cursor-not-allowed to slider. Extract TimerProvider context and show "Stop the timer to change settings" hint when timer is running. Includes dashboard layout, theme center, and bot settings refinements. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Overlay tokens are now blurred by default to prevent accidental exposure. A single Eye/EyeOff toggle in the card header reveals both URLs. Copy button works regardless of blur state since it reads from the variable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace overlay URL blur with password field toggle - Add scrollable task list (max-h-400px) on dashboard - Add missing style editor controls (task border width, checkbox margins) - Implement active task status with auto-activation and glow animation - Add Twitch bot service with twurple (chat connect, command handling, ban/timeout) - Add bot commands: task (!task, !done, !edit, !remove, !focus, !check, !next, !help, !clear) and timer (!timer start/pause/resume/skip/reset/eta) - Add bot tRPC router (status/start/stop) with dashboard status pill and controls - Auto-start bot on server boot via Next.js instrumentation - Stop bot on disconnect, reload config on settings save - Update OAuth scopes to include channel:moderate and user:read:chat Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rewrite chat-commands.mdx to match actual bot implementation (fix !clear subcommands, add !focus, correct !edit/!remove signatures, update timer commands). Add DOCS_URL optional env var so the bot can link viewers to the commands reference page. Add always-enabled !dwhelp and !dwcommands meta-commands that respond with the docs link or an inline summary. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…yout - Replace pnpm/Prisma with Bun workspaces and Drizzle ORM (schema-as-code) - Add Twitch bot runtime with active task state and !dwhelp/!dwcommands commands - Refactor bot settings page: combine toggle cards, tabbed message editors, full-width commands reference - Update CI/CD workflows, Dockerfile, and docker-entrypoint for Bun-based build - Update docs (deployment, troubleshooting) and README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Consolidate bot settings components by extracting BotMessagesCard, inlining command alias and variable reference into commands-reference, and removing unused checkbox component. Add unit tests for bot command parsing and matching logic. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Enforce ALLOWED_TWITCH_IDS allowlist on account creation (was defined but never checked) - Restrict timer.transition status to enum instead of arbitrary string - Add length/count limits to command alias input validation - Revoke Twitch token on bot disconnect before deleting row - Add security headers (HSTS, X-Content-Type-Options, X-Frame-Options, etc.) - Add router tests for task, timer, user, overlay, and config aliases (90 new tests) - Add auth allowlist parsing tests and expand bot command tests - Add nixpacks.toml for Coolify deployment and CONTRIBUTING.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Major UI refactor for bot settings using Tabs and improved command reference - Add full SEO metadata, keywords, and OpenGraph/Twitter tags - Add SVG logo and branding updates (DireWork) - Integrate custom @dirework/api/logger across workspace - Add unique constraints to overlay tokens and provider account IDs in schema - Clean up redundant CSS and enhance Drizzle configuration - Add migration for schema updates
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (93)
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
!dwhelp/!dwcommandsbot commands, blur-to-reveal overlay URL toggle, and cursor feedback on disabled UI elementsTest plan
!dwhelpand!dwcommandsbot commands respond correctly in Twitch chatbun run test)bun run check-types)🤖 Generated with Claude Code