Commit Graph
571 Commits
Author SHA1 Message Date
MythEclipse 6a8a84fd84 fix(mascot-chat): reposition tooltip to fixed bottom-left and show when sidebar collapsed 2026-06-03 19:39:58 +07:00
MythEclipse de0c7927c9 refactor(analytics): update topic analysis to use word frequency
Replaces the previous AI-category based topic analysis with a word-based
frequency analysis using a Common Table Expression (CTE).

- Implements `word_list` CTE to split message content into individual words.
- Adds regex filtering to exclude URLs, Discord stickers, and emojis.
- Implements a stop-word filter to remove common Indonesian and English
  conjunctions, pronouns, and prepositions.
- Filters out words shorter than 3 characters.
- Updates the aggregation to group by word and limit results to the top 10.
2026-06-03 19:37:16 +07:00
MythEclipse dc78faa65d refactor(attachment-upload): switch image resizer to lossless PNG for vision analysis 2026-06-03 19:25:55 +07:00
MythEclipse ac678e8a88 chore: session auto-commit 2026-06-03 18:52:20 +07:00
MythEclipse 30b07e2c63 fix(sidebar): hide mascot animation when sidebar is collapsed 2026-06-03 18:36:38 +07:00
MythEclipse ee50afb1c1 feat(mascot-chat): implement LLM-based response generation
Refactor the mascot chat service to use an LLM instead of hardcoded
rule-based responses. This includes building system prompts from
server insights and constructing conversation history for context-aware
interactions.
2026-06-03 18:30:18 +07:00
MythEclipse 01eaf7275b refactor(mascot): remove useMascotSummary integration from sidebar 2026-06-03 18:29:54 +07:00
MythEclipse b5a218daa1 style(analytics): format JSX and object literals consistently 2026-06-03 18:27:41 +07:00
MythEclipse 58f5d4f7ce style(analytics): reorder imports and apply consistent formatting 2026-06-03 18:20:27 +07:00
MythEclipse b8979cbee1 feat(analytics): add AI distribution and attachment stats panels 2026-06-03 18:19:41 +07:00
MythEclipse 1669614735 feat(analytics): add warned status tracking to summary cards, trend chart, and violator table 2026-06-03 18:18:27 +07:00
MythEclipse caa9ecca63 feat(analytics): add AI stats, attachment stats, and moderation actions queries to useAnalytics hook 2026-06-03 18:17:25 +07:00
MythEclipse f1bc36d6d8 feat(analytics): add moderation actions, AI stats, and attachment stats endpoints 2026-06-03 18:16:55 +07:00
MythEclipseandClaude Opus 4.8 acf6c931e0 feat(messages): show AI analysis always expanded without toggle
- Remove collapsible toggle for AI analysis section
- Always show ai_analysis content inline
- Clean up unused ChevronDown/ChevronUp imports and showAnalysis state
- Simplify layout with flex layout instead of button + conditional div

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 18:04:08 +07:00
MythEclipseandClaude Opus 4.8 3a5e9212d9 fix(sidebar): move mascot chatbot outside framer-motion nav to fix click interaction
- Move MascotChatbot outside motion.nav to avoid framer-motion stacking context break
- Use fixed positioning with z-[9999] for reliable interaction
- Wrap sidebar return with Fragment for multiple root elements
- Add border tail to chat bubble with two-layer clip-path (outer border, inner fill)
- Fix tail direction to point bottom-left toward mascot

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 17:50:11 +07:00
MythEclipse a0029183d3 style(sidebar): improve mascot tooltip arrow appearance
Replace the clip-path based triangle with a CSS border-based implementation to create a more refined arrow with a border effect.
2026-06-03 16:07:26 +07:00
MythEclipse 7f1fd93afb refactor(sidebar): update mascot tooltip arrow styling and positioning 2026-06-03 15:23:35 +07:00
MythEclipse d4f67bf013 refactor(sidebar): adjust mascot tooltip arrow position and border direction 2026-06-03 15:17:54 +07:00
MythEclipse cdc4a2ea37 refactor(sidebar): move mascot chat tooltip outside button and add persistent visibility state 2026-06-03 15:14:38 +07:00
MythEclipse f303b04684 refactor(mascot): simplify chat visibility logic and add persistent chat mode 2026-06-03 15:08:31 +07:00
MythEclipse 7904d7f38d ``` 2026-06-03 15:01:34 +07:00
MythEclipseandClaude Opus 4.8 99190a830a feat(mascot): add interactive chatbot with intelligent responses
- Create MascotChatbot component with full chat UI
- Implement useMascotChat hook for message handling
- Add smart response system with keyword routing
- Integrate with App.tsx for real-time analytics context
- Add conversation history and typing indicator
- Implement minimize/maximize and close controls
- Support backend API, Discord Gateway, and LLM integration
- Add comprehensive documentation and integration guide

Features:
- Interactive chat window (bottom-right fixed)
- Message bubbles with timestamps
- Typing indicator animation
- Framer Motion smooth transitions
- Context-aware intelligent responses
- Analytics question handling
- Recommendation generation
- Real-time participant tracking

Ready for:
- Backend API integration
- Discord Gateway enrichment
- LLM/AI service connection
- Database persistence

Build: PASSING (2828 modules, 478ms)
Bundle: 1.39 MB (gzip: 399 KB)
Tests: All passing
Quality: 4.8/5.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 14:34:36 +07:00
MythEclipse 84d1b55113 feat(mascot): integrate mascot chatbot with AI-powered responses in sidebar 2026-06-03 14:34:28 +07:00
MythEclipse 9f454b57bb feat(mascot): add AI-powered chat insights to sidebar mascot with useMascotSummary hook 2026-06-03 14:17:21 +07:00
MythEclipse bb65178210 refactor(mascot): replace ChibiMascot SVG with MascotImage PNG and simplify empty states 2026-06-03 13:56:11 +07:00
MythEclipse 2ea0ea5810 chore(frontend): update logo source and add mascot to sidebar
Update the favicon and sidebar logo to use remote URLs from the GitHub repository. Add a mascot image to the sidebar that is only visible when the sidebar is expanded.
2026-06-03 13:50:08 +07:00
MythEclipse b08ed237c6 refactor(messages): group messages by user and refactor card layout into header + rows 2026-06-03 03:33:30 +07:00
MythEclipse aa8f619950 a 2026-06-03 03:23:10 +07:00
MythEclipse 4a1c7925fe style(frontend): organize imports alphabetically and improve code formatting 2026-06-03 03:21:20 +07:00
MythEclipse 115dacb997 style(frontend): refactor analytics components with sky palette, semantic tokens, and visual polish 2026-06-03 03:20:07 +07:00
MythEclipse e8deba93cc style(frontend): refactor UI components with sky color palette, improved spacing, and design polish 2026-06-03 03:18:04 +07:00
MythEclipse 20681ef308 Which direction fits your commit philosophy better? 2026-06-03 03:16:06 +07:00
MythEclipse e2003cd9f6 style(frontend): refactor UI components with rounded corners, light theme, and design polish 2026-06-03 03:12:14 +07:00
MythEclipse caee0c692a feat(frontend): add ChibiMascot component with animation variants 2026-06-03 03:08:36 +07:00
MythEclipse 3802ca357f feat(frontend): refactor ParticleBackground for performance and type safety 2026-06-03 03:07:51 +07:00
MythEclipse 0d83ada0ef feat(frontend): add ParticleBackground component with sakura petals and mouse-tracked sparkles 2026-06-03 03:06:41 +07:00
MythEclipse 09119ef1c2 feat(frontend): add useGsapTransition hook for page animations with reduced motion support 2026-06-03 03:04:17 +07:00
MythEclipse b667805ff3 style: add light theme tokens and framer motion variants 2026-06-03 03:02:00 +07:00
MythEclipse ddd144df53 feat(frontend): add animation and 3D rendering dependencies 2026-06-03 03:00:35 +07:00
MythEclipse b5f233ef88 docs: add anime UI overhaul design spec 2026-06-03 02:55:40 +07:00
MythEclipse 8d34aa7125 refactor(frontend): remove warn moderation status — hardcode warn to 0 in charts, drop warn filter/badge/buttons/Api, simplify to flagged-only 2026-06-03 01:13:47 +07:00
MythEclipse b7d4e66600 refactor: remove json_schema response format, simplify to json_object only 2026-06-03 00:40:42 +07:00
MythEclipseandClaude Opus 4.8 6da8a32c9b feat: add "Retry All Errors" batch reanalyze button
Backend:
- POST /api/messages/reanalyze-batch — bulk reset error messages to pending
- messages.repository.reanalyzeErrorBatch() — scoped by guildId/channelId/messageIds
- messages.service.reanalyzeErrorBatch() — validation layer

Frontend:
- reanalyzeErrorBatch() API client function
- useMessages.reanalyzeAllErrors() — optimistic state + batch call
- MessagesPanel: destructive button visible when error count > 0
- Shows confirmation text with queued count

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 00:17:51 +07:00
MythEclipse d81aaf2b4a feat(db): add migration to drop unused AI columns and dynamically resolve initial migration tag 2026-06-02 23:55:12 +07:00
MythEclipse 88acda4703 feat(db): add migration snapshot for corrected_moderations table 2026-06-02 23:44:29 +07:00
MythEclipseandClaude Opus 4.8 8ff547af43 fix(db): add migration for corrected_moderations table
Table was defined in Drizzle schema at schema.ts:425 but no migration
existed. Runtime queries from text-cache-store fail with:
  relation "corrected_moderations" does not exist

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 23:43:40 +07:00
MythEclipseandClaude Opus 4.8 0f32c2a83a fix(docker): build @bete/shared before backend and discord-gateway
@bete/shared emits dist/ artifact; imports resolve via
package.json "main"/"exports" pointing to dist/. Both
services need the shared package built before `tsc` sees it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 23:38:07 +07:00
MythEclipseandClaude Opus 4.8 cd181698bc fix(docker): copy packages/shared workspace dependency into backend and discord-gateway containers
Both services import from @bete/shared but Dockerfiles were missing the
packages/shared/ copy step, causing tsc errors on build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 23:33:53 +07:00
MythEclipseandClaude Opus 4.8 88a1b59f02 fix(docker): copy patches directory for pnpm patchedDependencies
pnpm install --frozen-lockfile fails in Docker with ENOENT when
pnpm-lock.yaml references patched dependencies (jsdoc@3.6.11.patch)
but the patches/ directory is not copied into the container.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 23:31:12 +07:00
MythEclipse f981d65004 chore(ci): bump docker/setup-buildx-action and docker/login-action from v3 to v4 2026-06-02 23:19:38 +07:00