Commit Graph

  • b68789fffc refactor: atomic, DRY, and logging improvements MythEclipseandClaude Opus 4.8 2026-06-09 17:34:18 +07:00
  • 7108f6bb47 feat(system): implement graceful shutdown and expand websocket events MythEclipse 2026-06-09 16:56:44 +07:00
  • 3a7b005d95 fix: resolve architecture disconnects and codebase weaknesses MythEclipseandClaude Opus 4.8 2026-06-09 16:36:23 +07:00
  • 30c9e86edc test: add placeholder test files for vitest MythEclipseandClaude Opus 4.8 2026-06-09 15:40:40 +07:00
  • 7d6612bb2d refactor: resolve architecture disconnects and codebase weaknesses MythEclipseandClaude Opus 4.8 2026-06-09 13:22:09 +07:00
  • 3614d32701 fix: resolve architecture disconnects and codebase weaknesses MythEclipseandClaude Opus 4.8 2026-06-09 13:07:01 +07:00
  • 67d66bb5dd refactor(shared): centralize configuration and types MythEclipse 2026-06-09 11:56:03 +07:00
  • f84b380f4f fix: resolve architecture disconnects and codebase weaknesses MythEclipse 2026-06-09 11:06:14 +07:00
  • 4becf0d6f1 refactor: comprehensive codebase cleanup and architecture hardening MythEclipseandClaude Opus 4.8 2026-06-09 10:16:04 +07:00
  • d0d9e1669e revert(voice): restore working transmit pipeline MythEclipseandClaude Opus 4.8 2026-06-09 01:43:41 +07:00
  • 7b74061788 perf(voice): reduce transmit latency MythEclipseandClaude Opus 4.8 2026-06-09 01:07:35 +07:00
  • a4c2b93314 fix(voice): correct Express route for voice command MythEclipseandClaude Opus 4.8 2026-06-09 00:13:00 +07:00
  • 3252b323d3 fix(voice): correct API URL path for voice command MythEclipseandClaude Opus 4.8 2026-06-08 23:54:02 +07:00
  • fc2bd3baf1 fix(voice): use HTTP-only for transmit commands MythEclipseandClaude Opus 4.8 2026-06-08 23:09:19 +07:00
  • 52f2968d8f fix(voice): add HTTP API fallback for transmit commands MythEclipseandClaude Opus 4.8 2026-06-08 22:55:11 +07:00
  • 218ad2f353 chore(voice): improve ffmpeg error message in transmitter MythEclipse 2026-06-08 22:32:19 +07:00
  • 3fcc727187 fix(docker): add ffmpeg to discord-gateway for voice transmit MythEclipseandClaude Opus 4.8 2026-06-08 22:31:16 +07:00
  • 942605661a fix(voice): use FFmpeg for OggOpus encoding in transmitter MythEclipseandClaude Opus 4.8 2026-06-08 22:11:07 +07:00
  • 25eb3f6353 fix(voice): remove OggDemuxer from transmitter pipeline MythEclipseandClaude Opus 4.8 2026-06-08 21:45:26 +07:00
  • 314d2baec4 feat(voice): implement full voice transmit (Browser → Discord) MythEclipseandClaude Opus 4.8 2026-06-08 21:29:41 +07:00
  • 2e9e9c1a06 fix(frontend): handle voice PCM data as JSON instead of binary MythEclipseandClaude Opus 4.8 2026-06-08 21:22:00 +07:00
  • 1c7b7e6398 fix(backend): handle voice PCM as JSON instead of binary MythEclipseandClaude Opus 4.8 2026-06-08 21:18:11 +07:00
  • e8e95f635c fix(voice): add OggDemuxer to transmitter for proper Opus streaming MythEclipseandClaude Opus 4.8 2026-06-08 21:04:57 +07:00
  • f74252f594 feat(voice): add voice transmit functionality for real-time audio streaming MythEclipseandClaude Opus 4.8 2026-06-08 20:48:16 +07:00
  • 60edb4576f fix(docker): create recordings directory with proper permissions MythEclipseandClaude Opus 4.8 2026-06-08 20:31:43 +07:00
  • 6f4053c1cc fix(docker): add build tools for native dependencies in discord-gateway MythEclipse 2026-06-08 20:16:47 +07:00
  • 1565a326d0 build(deps): patch node-crc to resolve native build issues MythEclipse 2026-06-08 20:11:34 +07:00
  • 0e79ba0d50 fix(voice): disable OGG CRC to avoid node-crc native build failure MythEclipseandClaude Opus 4.8 2026-06-08 19:57:33 +07:00
  • 306ccf58f0 fix(voice): revert to prism-media@2.0.0-alpha.0 to fix production runtime errors MythEclipseandClaude Opus 4.8 2026-06-08 19:42:52 +07:00
  • 7af4af06a6 fix(ci): suppress prism-media type definition errors in build MythEclipseandClaude Opus 4.8 2026-06-08 19:31:50 +07:00
  • 13a75a5101 fix(voice): restore voice features and apply critical optimizations MythEclipseandClaude Opus 4.8 2026-06-08 19:14:34 +07:00
  • 2643a3c278 refactor(discord-gateway): optimize redis usage and audio stream handling MythEclipse 2026-06-08 18:09:17 +07:00
  • d036fbf568 opt(deploy): multi-stage frontend (node→nginx), non-root user, healthchecks, resource limits MythEclipseandClaude Opus 4.8 <noreply@anthropic.com 2026-06-08 17:51:29 +07:00
  • 483bc86236 refactor(ai-moderation): batch all media messages into single LLM call instead of one per message MythEclipse 2026-06-06 17:34:45 +07:00
  • a3ef3bf7f1 fix(ai-moderation): add rule to prevent false positive on QWERTY typos like 'ngodonf' MythEclipse 2026-06-06 17:31:23 +07:00
  • 9287cb7319 fix(ai-moderation): guard against stale empty imageUrl rows from base64→URL migration MythEclipse 2026-06-06 17:18:41 +07:00
  • 71a8a9e6e1 fix(ai-moderation): patch structural bypass vulnerabilities in NLP pipeline MythEclipse 2026-06-06 15:38:36 +07:00
  • 5701b5f15f feat(ai-moderation): use cached sticker image URLs directly instead of re-uploading base64 data MythEclipse 2026-06-06 14:13:18 +07:00
  • a3e1801b24 feat(ai-moderation): replace base64 sticker cache with image URL storage and add uploadAndCacheSticker helper MythEclipse 2026-06-06 14:11:46 +07:00
  • 6a3d0eb17c feat(discord-gateway): replace base64 sticker cache column with image URL storage MythEclipse 2026-06-06 14:10:55 +07:00
  • da885339f9 fix(ai-moderation): remove user history from prompt to eliminate confirmation bias loop MythEclipseandClaude Opus 4.8 2026-06-06 13:55:24 +07:00
  • edb55fb5bf fix(ai-moderation): add religious expression safe list to stop Astaghfirullah false positives MythEclipseandClaude Opus 4.8 2026-06-06 13:52:31 +07:00
  • e6e44b30c7 fix(ai-moderation): remove indonesianTextNormalizer to stop hallucinated slang flags MythEclipseandClaude Opus 4.8 2026-06-06 13:27:24 +07:00
  • cfe7230a55 fix(ai-moderation): prevent LLM from hallucinating furry slang on common names and unknown words MythEclipseandClaude Opus 4.8 2026-06-06 13:22:35 +07:00
  • 817f1ce3df fix(ai-moderation): add Furina/Genshin character name exception to prevent false positive furry flags MythEclipseandClaude Opus 4.8 2026-06-06 12:04:10 +07:00
  • 25c86dcc30 fix(ai-moderation): raise retry backoffs and cooldowns, make 429 retryable, reduce prompt false positives MythEclipse 2026-06-05 21:47:02 +07:00
  • d7a35e8377 refactor(ai-moderation): expand prompt rules for lyrics and literature MythEclipse 2026-06-05 20:05:32 +07:00
  • 49ada183b2 feat(ai-moderation): implement auto-fallback for streaming and refine prompt rules MythEclipse 2026-06-05 19:44:06 +07:00
  • bdf80b081c chore(ai-moderation): increase llm client timeout and add test script MythEclipse 2026-06-05 19:08:57 +07:00
  • 049582504e feat(ai-moderation): implement error handling and robust streaming for llmClient MythEclipse 2026-06-05 18:47:30 +07:00
  • c0a067322b refactor(ai-moderation): enhance llmClient flexibility and idempotency MythEclipse 2026-06-05 18:45:58 +07:00
  • 69b4916d08 docs(docs): remove obsolete mascot and microservices documentation MythEclipse 2026-06-05 18:22:42 +07:00
  • 42ea2924ac feat(db): add migrations for user reputation and channel culture tables MythEclipse 2026-06-05 18:21:52 +07:00
  • 08c624fcf4 fix(ai-moderation): use generic sender name and force descriptive media analysis to prevent bad global cache poisoning MythEclipse 2026-06-05 18:20:43 +07:00
  • 2f3d7e1d61 feat(ai-moderation): introduce user reputation and channel culture context MythEclipse 2026-06-05 18:04:57 +07:00
  • f057bf1f0b refactor(ai-moderation): implement distributed locking and content-based caching MythEclipse 2026-06-05 16:56:46 +07:00
  • 09f6e80ddd fix(ai-moderation): resolve race conditions and implement processing state MythEclipse 2026-06-05 16:36:14 +07:00
  • 399919ded0 feat(ai-moderation): add anti-evasion rule for emoji spelling MythEclipse 2026-06-05 16:23:59 +07:00
  • 6b3f2cdecd feat(ai-moderation): tighten rules for anatomical vulgarity and BL mentions MythEclipse 2026-06-05 16:16:21 +07:00
  • e00b23f9b8 fix(concurrency): eliminate all identified double-queue and race conditions MythEclipse 2026-06-05 16:09:23 +07:00
  • 5c0a837cf0 fix(ai-moderation): eliminate double-queue on failure and spam-retry MythEclipse 2026-06-05 15:38:31 +07:00
  • a0bf7dfdd9 chore(ai-moderation): harden LLM prompt and lexical scanner against evasion techniques and cross-lingual vulgarities MythEclipse 2026-06-05 15:28:04 +07:00
  • 9a02ac8d17 feat(ai-moderation): flag excessive religious jokes and satire as sara MythEclipse 2026-06-04 19:31:08 +07:00
  • a965fb1e08 fix(moderation): treat age_restricted skipped messages as clean instead of error MythEclipse 2026-06-04 19:28:59 +07:00
  • d1d4510ce8 chore(format): auto-format files with biome MythEclipse 2026-06-04 18:52:56 +07:00
  • 367d8696c8 fix(moderation): revert API failures to pending instead of sticking in error state MythEclipse 2026-06-04 18:52:37 +07:00
  • 946343ec8c fix(ai-moderation): skip caching error results to prevent false positives from transient failures MythEclipse 2026-06-04 17:42:23 +07:00
  • 4996acfacf refactor(ai-moderation): unify worker pool entry points with discriminated union routing MythEclipse 2026-06-04 17:39:40 +07:00
  • 686dc2de4f refactor(ai-moderation): remove unused count variable in stale CB error pruning loop MythEclipse 2026-06-04 17:35:52 +07:00
  • 121b78198c feat(ai-moderation): add circuit breaker alert system with extensible handlers MythEclipse 2026-06-04 17:35:26 +07:00
  • 8c67eefede refactor(ai-moderation): offload individual message analysis to worker pool and add auto-delete notifications MythEclipse 2026-06-04 17:34:54 +07:00
  • ce8a42f5fd feat(ai-moderation): eliminate LLM-based badword detection in favor of pure rule-based matching MythEclipse 2026-06-04 17:33:08 +07:00
  • b3d42118bd fix(ai-moderation): use cached status instead of hardcoding "clean" for cache hit results MythEclipse 2026-06-04 17:30:37 +07:00
  • 9474d30cb7 refactor(ai-moderation): migrate sticker cache SQL queries from ? to $N parameter placeholders MythEclipse 2026-06-04 17:29:19 +07:00
  • 269a13d96a fix(ai-moderation): restrict vision cache pre-download check to stickers and custom emojis only MythEclipse 2026-06-04 17:20:52 +07:00
  • 5d9713b162 chore(config): update TELE_UPLOAD_URL domain across all services MythEclipse 2026-06-04 17:12:02 +07:00
  • aaebe168cf fix(ai-moderation): fallback to discord_url when uploaded_url is null for attachment images MythEclipse 2026-06-04 17:06:57 +07:00
  • fc52fe5c1d feat(ai-moderation): cache per-user moderation results for text-only messages to skip redundant LLM calls MythEclipse 2026-06-04 16:54:06 +07:00
  • c1e79dca23 feat(ai-moderation): add per-user moderation result cache for spammer deduplication MythEclipse 2026-06-04 16:51:08 +07:00
  • b0278de51a feat(ai-moderation): add URL analysis rules to moderation prompt to prevent domain-based false positives MythEclipse 2026-06-04 16:35:14 +07:00
  • 65a65fdf39 feat(ai-moderation): fetch web content from URLs in text-only messages for accurate LLM analysis MythEclipse 2026-06-04 16:32:08 +07:00
  • 0a35e83a6c refactor(analytics): replace hardcoded color tokens with theme-aware CSS variables MythEclipse 2026-06-04 14:17:45 +07:00
  • 3ecb7bd15c chore: session auto-commit MythEclipse 2026-06-04 14:16:59 +07:00
  • 458f20d5c3 chore: session auto-commit MythEclipse 2026-06-04 14:16:26 +07:00
  • ad61af54e8 refactor(analytics): replace TrendChart gradient bars with interactive SVG line chart featuring tooltips and grid lines MythEclipse 2026-06-04 14:15:56 +07:00
  • ceb5fc95ba refactor(analytics): replace gradient bars with interactive SVG donut and horizontal bar charts MythEclipse 2026-06-04 14:15:27 +07:00
  • 00001973d8 refactor(analytics): replace ActivityChart stacked bars with interactive SVG chart featuring tooltips and grid lines MythEclipse 2026-06-04 14:14:49 +07:00
  • 259b0babb5 feat(ai-moderation): parse moderation category from LLM fallback response instead of using static defaults MythEclipse 2026-06-04 13:49:35 +07:00
  • 3fc26592fc feat(ai-moderation): add simple text-only LLM fallback when normal analysis fails for small models MythEclipse 2026-06-04 13:40:25 +07:00
  • e55ee342b1 fix(ai-moderation): downgrade operational logs to debug and add missing debug logs to silent early-return paths MythEclipse 2026-06-04 13:13:55 +07:00
  • d568cab88f fix(ai-moderation): add defensive logging to silent failure paths in media analysis MythEclipse 2026-06-04 13:06:35 +07:00
  • c304d4ca7c fix(ai-moderation): implement exponential backoff for LLM and vision API retries MythEclipse 2026-06-04 13:02:02 +07:00
  • 1c46a8a084 feat(ai-moderation): add conflict instigation, offensive username, and discrimination moderation flags and prompt rules MythEclipse 2026-06-04 12:49:24 +07:00
  • aad62bc66b fix(ai-moderation): strip fallback text from LLM analysis content MythEclipse 2026-06-03 20:59:10 +07:00
  • a24a5e7dfd refactor(messages): remove text channel filter and channel-section grouping MythEclipse 2026-06-03 20:53:47 +07:00
  • 2a2003e638 fix(messages): hide fallback attachment text when media is already displayed visually MythEclipse 2026-06-03 20:42:57 +07:00
  • b38f867894 refactor(messages): mark emptyText prop as unused MythEclipse 2026-06-03 20:38:01 +07:00
  • 198d5a6329 feat(messages): group message feed by channel and thread sections MythEclipse 2026-06-03 20:34:58 +07:00
  • 71801b7f77 feat(messages): show channel and thread location context in message cards MythEclipse 2026-06-03 20:34:06 +07:00
  • 79c2e31b17 feat(messages): add text channel filtering for message browser MythEclipse 2026-06-03 20:31:23 +07:00