Add MascotExpressionSync component to dashboard layout that listens for message_created (flagged/warn triggers surprise expression) and voice_active_user (triggers listening expression) events.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Create ErrorBoundary class component with GlassCard fallback UI
- Update LoadingSkeleton with glass shimmer animation overlay
- Update EmptyState with GlassPanel and default Inbox icon
- Add ErrorBoundary to shared components index export
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Full frontend redesign spec covering:
- Neo Surveillance layout with floating top nav + hidden sidebar
- Glassmorphic dark design system with teal-cyan accent
- Live2D vtuber mascot chatbot
- Rich analytics dashboard (Ops Center)
- Split-pane messages, voice connection center
- Floating media player overlay
- State management, data flow, and implementation phases
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build & Deploy / build-and-push (backend) (push) Successful in 25s
Build & Deploy / build-and-push (discord-gateway) (push) Successful in 26s
Build & Deploy / build-and-push (proxy) (push) Successful in 4m10s
docker compose down can fail silently, breaking the && chain
and preventing docker rm -f from running. Using || true on
each step ensures every cleanup command runs independently.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build & Deploy / build-and-push (discord-gateway) (push) Successful in 26s
Build & Deploy / build-and-push (backend) (push) Successful in 1m22s
Build & Deploy / build-and-push (proxy) (push) Failing after 3m26s
docker compose down doesn't always remove containers that were
created with a different compose configuration. Add explicit
docker rm -f for all three containers before up.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build & Deploy / build-and-push (backend) (push) Failing after 1m10s
Build & Deploy / build-and-push (proxy) (push) Failing after 1m35s
Build & Deploy / build-and-push (discord-gateway) (push) Successful in 4m55s
When fresh images are pulled, docker compose up -d can fail with
'container name already in use' if the old containers are still
running. Adding docker compose down before up ensures clean restart.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build & Deploy / build-and-push (backend) (push) Successful in 27s
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 8m1s
Build & Deploy / build-and-push (proxy) (push) Failing after 8m2s
pnpm v11 requires --legacy flag (or inject-workspace-packages=true)
for pnpm deploy to work with non-injected workspace packages.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 2m1s
Build & Deploy / build-and-push (backend) (push) Successful in 6m54s
Build & Deploy / build-and-push (proxy) (push) Failing after 5m30s
The separate 'deploy' job with runs-on: ubuntu-latest never
found an available runner, blocking the pipeline. By moving
the deploy steps into the build-and-push job (guarded by
matrix.service == 'proxy'), it runs on the same runner that
just pushed the images, eliminating the runner assignment issue.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 2m22s
Build & Deploy / build-and-push (backend) (push) Failing after 3m22s
Build & Deploy / build-and-push (proxy) (push) Successful in 1m36s
Build & Deploy / deploy (push) Skipped
- Consolidate all DB schema definitions into packages/shared as single source of truth
- Migrate backend from raw SQL to Drizzle ORM across all modules
- Extract frontend inline UI into separate component files
- Refactor discord-gateway circuitBreaker into conversationState + moderationState
- Convert messageStore to Proxy singleton pattern
- Add validateBody/validateQuery middleware + Zod schemas for API endpoints
- Modernize Docker builds with multi-stage + pnpm deploy
- Migrate CI/CD from deployment to image-based pipeline
- Remove 60+ unused/dead files (~15K lines)
- Update color scheme from sky-blue to teal-cyan
- Move DB connection management to @bete/shared/database
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Updates the page title metadata, sidebar brand text, and settings page
about section from "DC Automod" to "Discord Automod".
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>