Commit Graph
1055 Commits
Author SHA1 Message Date
Developer 9c6b7062c6 a
Build & Deploy / build-and-push (backend) (push) Failing after 34s
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 27s
Build & Deploy / build-and-push (proxy) (push) Failing after 29s
2026-07-29 19:26:19 +07:00
DeveloperandClaude Opus 4.8 1eca1e819a fix: route API/WS to remote server even from localhost
Build & Deploy / build-and-push (backend) (push) Successful in 7m26s
Build & Deploy / build-and-push (proxy) (push) Successful in 2m16s
Build & Deploy / build-and-push (discord-gateway) (push) Canceled after 36m39s
Development should use the production API/WS endpoints
(imphnen.asepharyana.my.id) regardless of where the
frontend dev server runs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 15:58:24 +07:00
DeveloperandClaude Opus 4.8 7bebb23c1d fix: add disk cleanup to CI and reduce Docker layers
Build & Deploy / build-and-push (backend) (push) Successful in 7m34s
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 8m19s
Build & Deploy / build-and-push (proxy) (push) Failing after 1m12s
Runner runs out of disk space during discord-gateway build.
Add docker system prune before build and combine Dockerfile
layers to reduce disk usage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 15:47:23 +07:00
DeveloperandClaude Opus 4.8 540a71f983 fix: resolve gateway build failures - type cast + exclude archive/
Build & Deploy / build-and-push (backend) (push) Successful in 25s
Build & Deploy / build-and-push (proxy) (push) Successful in 3m46s
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 4m42s
- Cast llmResult through unknown to handle type mismatch between
  shared AnalysisResult and layer-specific local type
- Exclude src/**/archive/** from tsconfig to prevent dead code errors

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 15:35:43 +07:00
DeveloperandClaude Opus 4.8 b8f358861e fix: route API/WS calls to backend port 3001 in local dev
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 36s
Build & Deploy / build-and-push (proxy) (push) Successful in 1m59s
Build & Deploy / build-and-push (backend) (push) Successful in 3m47s
Detect localhost and redirect API calls and WebSocket
connections from frontend port (3000) to backend port
(3001). Production behavior (via nginx proxy) unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 15:22:07 +07:00
DeveloperandClaude Opus 4.8 59dc27733e fix: replace invalid \U escapes in ZALGO regex with RegExp constructor
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 28s
Build & Deploy / build-and-push (backend) (push) Successful in 1m46s
Build & Deploy / build-and-push (proxy) (push) Successful in 1m37s
\U escapes are not valid in JavaScript/TypeScript regex literals.
Use new RegExp() constructor to avoid TS parser issues.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 15:10:47 +07:00
DeveloperandClaude Opus 4.8 977a6f9653 refactor: rename mascot to chatbot across entire codebase
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 30s
Build & Deploy / build-and-push (backend) (push) Failing after 2m28s
Build & Deploy / build-and-push (proxy) (push) Successful in 2m28s
- Backend: mascot-chat module → chatbot, routes /mascot/chat → /chat
- Shared schema: pgMascotChatMessagesTable → pgChatbotMessagesTable
- Frontend: MascotProvider/useMascot → ChatbotProvider/useChatbot
- Gateway schema: update exports to match shared schema
- Docs: update all .md references (CLAUDE.md, README, specs, plans)
- All API routes, controller names, service classes, types renamed

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 15:00:29 +07:00
DeveloperandClaude Opus 4.8 bd9e7d8151 fix: resolve frontend module resolution errors
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 27s
Build & Deploy / build-and-push (proxy) (push) Failing after 41s
Build & Deploy / build-and-push (backend) (push) Failing after 2m11s
- Remove broken DetailStat and StatCard exports from shared/index.ts
- Fix message-detail-view import to message-detail
- Create missing ai-status-badge component with status-based styling

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 14:40:19 +07:00
DeveloperandClaude Opus 4.8 (1M context) <noreply@anthropic.com 3f4fa42098 Merge branch worktree-neo-surveillance-redesign into main — Neo Surveillance redesign
Full frontend redesign with glassmorphic dark theme, floating top nav,
Live2D mascot, split-pane messages, and Ops Center dashboard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com
2026-07-28 14:32:47 +07:00
Developer 102b3bac1f Merge branch 'worktree-neo-surveillance-redesign' 2026-07-28 14:32:00 +07:00
DeveloperandClaude Opus 4.8 (1M context) <noreply@anthropic.com 106bb249f0 chore: remove old components replaced by redesign
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com
2026-07-28 12:17:58 +07:00
DeveloperandClaude Opus 4.8 94f8903b24 feat: connect WS events to mascot expression triggers
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>
2026-07-28 12:11:01 +07:00
DeveloperandClaude Opus 4.8 1c6f98117a feat: add error boundary, glass shimmer skeleton, empty state
- 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>
2026-07-28 11:41:09 +07:00
DeveloperandClaude Opus 4.8 2b06d82450 feat: rewrite settings page with glass cards and sub-nav tabs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 11:35:28 +07:00
Developer 5033161567 feat: rewrite messages page with split-pane layout, sub-nav, and search overlay 2026-07-28 10:42:12 +07:00
DeveloperandClaude Opus 4.8 1a0126f7b4 feat: add Cmd+K search overlay
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 10:31:07 +07:00
DeveloperandClaude Opus 4.8 826dfcd56c feat: rewrite dashboard as Ops Center with stats, live, and activity tabs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 10:09:34 +07:00
DeveloperandClaude Opus 4.8 a5d64e18c2 docs: add Discord Automod redesign specification
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 10:05:45 +07:00
DeveloperandClaude Opus 4.8 3ae0c96a13 feat: design tokens, globals CSS, fonts, navigation config
- Rewrite globals.css with dark-theme OKLCH tokens, glass utilities, ambient bg
- Update root layout with Inter + JetBrains Mono fonts, theme script
- Redirect / to /dashboard
- Update navigation config — remove search link, add recordings
- Update analysis search-panel with glass styling

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 10:05:08 +07:00
DeveloperandClaude Opus 4.8 59bce79bcd feat: add live stream and mod queue dashboard components
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 10:03:59 +07:00
Developer 9504edc327 feat: add dashboard charts — message trend, activity heatmap, top channels 2026-07-28 09:51:53 +07:00
Developer 63ad55edb5 feat: add glass component system -- GlassCard, GlassPanel, GlassDivider 2026-07-28 09:51:11 +07:00
Developer 473bdbae77 feat: add stat card with micro sparkline chart 2026-07-28 09:19:42 +07:00
Developer 7b517c388f feat: redesign mobile bottom nav with glass styling 2026-07-28 09:07:39 +07:00
Developer a7cc70b5a3 feat: rewrite dashboard layout with top nav, hidden sidebar, mascot, mini-player 2026-07-28 08:53:54 +07:00
DeveloperandClaude Opus 4.8 91ad054a41 feat: add floating top navigation bar
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 08:30:43 +07:00
Developer 44721913a2 feat: add glass component system -- GlassCard, GlassPanel, GlassDivider 2026-07-28 08:20:33 +07:00
Developer f4299aea9f feat: update navigation config -- remove search link, add recordings 2026-07-28 08:10:09 +07:00
Developer 460acbc72b feat: update root layout with new fonts and redirect to dashboard 2026-07-28 08:02:45 +07:00
DeveloperandClaude Opus 4.8 f616ec36d9 feat: add design tokens, glass utilities, and ambient animations
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 07:53:35 +07:00
DeveloperandClaude Opus 4.8 236c7b3c81 docs: add Discord Automod Neo Surveillance redesign spec
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>
2026-07-28 07:44:57 +07:00
DeveloperandClaude Opus 4.8 4c9786c988 fix: make deploy resilient with || true instead of && chains
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>
2026-07-28 07:19:08 +07:00
DeveloperandClaude Opus 4.8 c8975b6f6d fix: force remove conflicting containers before docker compose up
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>
2026-07-28 07:13:00 +07:00
DeveloperandClaude Opus 4.8 995a704c52 fix: add docker compose down before up to avoid container name conflict
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>
2026-07-27 22:17:46 +07:00
DeveloperandClaude Opus 4.8 8d0f505784 fix: add --legacy flag to pnpm deploy for pnpm v11 compatibility
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>
2026-07-27 22:06:13 +07:00
DeveloperandClaude Opus 4.8 5d1842b7e5 fix: merge deploy step into build-and-push job to avoid runner mismatch
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>
2026-07-27 22:01:05 +07:00
DeveloperandClaude Opus 4.8 5802d02e29 refactor: large codebase cleanup - consolidate schemas, migrate to Drizzle ORM, extract frontend components, modernize Docker builds
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>
2026-07-27 21:54:31 +07:00
DeveloperandClaude Opus 4.8 63f21513bd chore: rebrand DC Automod to Discord Automod across UI
Deploy to VPS / deploy (push) Failing after 2m11s
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>
2026-07-27 08:26:22 +07:00
Developer 069648e89f docs: frontend refactor design spec 2026-07-27 08:20:32 +07:00
asepharyana 9ba2262446 refactor: improve image handling and accessibility in MessagesPage
Deploy to VPS / deploy (push) Successful in 2m17s
2026-07-26 17:31:44 +07:00
asepharyana eca0a378f9 fix: increase max length for user profile summary and sanitize function
Deploy to VPS / deploy (push) Successful in 2m19s
2026-07-26 17:27:51 +07:00
asepharyana b886b71bad feat: add user detail and selection functionality to dashboard
Deploy to VPS / deploy (push) Successful in 2m23s
2026-07-26 17:15:08 +07:00
asepharyana 05bbae66da Refactor voice page and hooks to use React Query for data fetching
Deploy to VPS / deploy (push) Successful in 2m57s
- Updated VoicePage component to utilize useVoiceConnect, useVoiceDisconnect, and useMicTransmit mutations.
- Replaced local state management with React Query's useQuery for voice status, guilds, and channels.
- Removed custom useAsync hook and replaced it with useQuery in useConfig, useStats, useUsers, useChannels, and useMessages hooks.
- Simplified useRecordings and useSpeakers hooks to leverage React Query for data fetching and mutations.
- Removed deprecated use-async hook and related code.
- Enhanced error handling and loading states across various hooks.
2026-07-26 16:55:20 +07:00
asepharyana 323fa207af refactor: streamline data fetching in various hooks and components
Deploy to VPS / deploy (push) Successful in 2m39s
2026-07-26 16:46:53 +07:00
asepharyana 1021301656 fix: add error logging for various API calls across components
Deploy to VPS / deploy (push) Successful in 2m20s
2026-07-26 16:34:06 +07:00
asepharyana 74eabb7231 feat: enhance guild selection logic with auto-selection based on config
Deploy to VPS / deploy (push) Successful in 2m25s
2026-07-26 16:25:04 +07:00
asepharyana 39a3bc6269 fix: add missing draining state variable in VoiceTransmitter class
Deploy to VPS / deploy (push) Successful in 2m18s
2026-07-26 16:18:33 +07:00
asepharyana d5a547eb25 feat: add app header, sidebar, and mobile navigation components
Deploy to VPS / deploy (push) Failing after 1m45s
- Implemented AppHeader component with theme toggle and connection status.
- Created AppSidebar component for navigation with connection status indicator.
- Added MobileNav component for mobile navigation with responsive design.
- Introduced shared components: DetailStat, EmptyState, ErrorState, LoadingSkeleton, and StatCard for consistent UI.
- Developed hooks for async data fetching: useAsync, useConfig, useDashboard, useGuilds, useMedia, useMessages, useRecordings, and useVoice.
- Added chatbot API functions for sending messages and managing chat history.
2026-07-26 16:14:32 +07:00
asepharyana 726ea8fca5 fix: improve readability of download URL handling in RecordingsPage
Deploy to VPS / deploy (push) Successful in 2m7s
2026-07-26 15:45:29 +07:00
asepharyana 779fb6b338 fix: prevent opening undefined download URLs in RecordingsPage
Deploy to VPS / deploy (push) Failing after 1m31s
2026-07-26 15:43:10 +07:00