Commit Graph
238 Commits
Author SHA1 Message Date
Asep Haryana Saputra 37cb177b11 feat(config): enhance DISCORD_TOKEN validation by trimming quotes 2026-05-21 11:40:02 +00:00
MythEclipse 834b19b1ae feat(moderation): enhance JSON extraction and validation in moderation analysis 2026-05-21 04:23:01 +07:00
MythEclipse f851ea0fa9 fix(moderation): improve error handling for malformed JSON responses and ensure proper response headers 2026-05-21 04:00:36 +07:00
MythEclipse 5588ece6c7 feat(moderation): normalize JSON response handling and enhance test coverage for moderation analysis 2026-05-21 03:52:51 +07:00
MythEclipse c1c3c99686 feat(moderation): improve message analysis scheduling and update moderation prompt structure 2026-05-21 02:56:41 +07:00
MythEclipse 7eb01606b7 feat(moderation): enhance attachment handling and AI analysis integration 2026-05-21 02:39:28 +07:00
MythEclipse 3d64228d6a feat(config): add AI analysis tuning parameters and update related logic 2026-05-21 01:55:50 +07:00
MythEclipse c349736b89 refactor(messageStore): simplify message query conditions and pagination logic
chore(package): remove unused pnpm configuration
2026-05-21 00:45:35 +07:00
MythEclipse 480bcff5e2 feat(logging): add error serialization and log metadata formatting
- Introduced `loggerSerialization.ts` to handle error serialization and log metadata formatting.
- Added `serializeError` function to convert Error objects into a structured format.
- Implemented `serializeLogValue` to handle various data types including Errors, Dates, RegExps, and plain objects.
- Created `formatLogMetadata` to format log metadata using the serialization functions.

feat(pagination): implement cursor encoding and decoding

- Added `pagination.ts` to manage cursor-based pagination.
- Implemented `encodeCursor` to convert cursor data into a base64 string.
- Developed `decodeCursor` to parse base64 strings back into cursor data, with error handling for invalid inputs.
2026-05-21 00:34:30 +07:00
MythEclipse e8e0697a84 chore: clean dependencies and format restructure 2026-05-19 15:12:09 +07:00
MythEclipse dcbe204795 refactor: extract application bootstrap 2026-05-19 15:08:02 +07:00
MythEclipse f7c8257ef1 refactor: move webserver orchestration 2026-05-19 14:58:09 +07:00
MythEclipseandClaude Opus 4.7 d98bf1a5fe refactor: extract http app setup
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 14:52:52 +07:00
MythEclipse 109a6825bc refactor: extract websocket server 2026-05-19 14:45:39 +07:00
MythEclipse d52803ae20 refactor: extract browser audio bridge 2026-05-19 14:34:24 +07:00
MythEclipse c3f7291543 refactor: isolate websocket globals 2026-05-19 14:26:06 +07:00
MythEclipse 3639028f6f refactor: extract media settings state 2026-05-19 14:16:00 +07:00
MythEclipse a1b85d8ac3 refactor: extract persisted ui state 2026-05-19 14:11:09 +07:00
MythEclipse f48f62893d refactor: extract pcm audio helpers 2026-05-19 13:56:36 +07:00
MythEclipse 7f5db953fa chore: update dependencies and improve code formatting
- Added `vendor/discord-video-stream` to pnpm workspace.
- Refactored `llmModerationClient.ts` for better readability and consistency.
- Adjusted imports in `recordingsRoutes.ts` for clarity.
- Updated `webserver.ts` to correctly import `createRecordingsRoutes`.
- Enhanced test cases in `llmModerationClient.test.ts` for improved readability.
- Updated submodule references for `better-sqlite3`, `discord-video-stream`, `discord.js-selfbot-v13`, `drizzle-orm`, and `node-datachannel`.
- Created documentation for deprecated dependency removal plan and design.
2026-05-19 02:49:55 +07:00
MythEclipse e85967ae51 style: format winston logger changes 2026-05-19 02:48:37 +07:00
MythEclipse f8ba4b41e9 fix: preserve structured logger metadata 2026-05-19 02:43:52 +07:00
MythEclipse 1aa8c6a370 refactor: normalize logger call sites for winston 2026-05-19 02:39:18 +07:00
MythEclipseandClaude Opus 4.7 2ab097a0c3 chore: switch logging dependency to winston
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 02:20:03 +07:00
MythEclipse 520da01be7 fix: handle message_id with extra wrapping quotes and request strict JSON output without reasoning 2026-05-19 00:24:13 +07:00
MythEclipse 0ffb0f213a refactor: remove unused updateMessageAIAnalysis import from aiAnalyzer 2026-05-18 23:51:31 +07:00
MythEclipse 069cf105f3 fix: enhance error logging with additional context in analysis and moderation processes 2026-05-18 23:48:02 +07:00
MythEclipse 6339d741a9 refactor: streamline error handling and attachment processing in message capture 2026-05-18 23:46:51 +07:00
MythEclipse 3b9e87ee6c feat: add voice recordings feature with database integration
- Implemented PostgreSQL and SQLite schemas for voice recordings.
- Created repository functions for inserting, updating, and listing voice recordings.
- Developed uploader logic to handle file uploads and database updates.
- Added routes for accessing voice recordings via API.
- Enhanced UI state to include recordings tab.
- Introduced moderation WebSocket event for uploaded recordings.
2026-05-18 20:15:38 +07:00
MythEclipse 9d5559a45b fix: wrap parsed moderation response in results object for LLM variations 2026-05-18 07:12:41 +07:00
MythEclipse 5411f8ea3d fix: enhance message ID handling and error resilience in moderation response parsing 2026-05-18 07:07:27 +07:00
MythEclipse f3c915eacd feat: add searchMessages function and corresponding API endpoint for message queries 2026-05-18 06:39:12 +07:00
MythEclipse 69ba7b497f fix: increase max active requests and adjust debounce timing for conversation analysis 2026-05-18 06:04:30 +07:00
MythEclipse a037d17f53 fix: remove connect timeout from ffmpeg arguments in music player and tests 2026-05-18 05:50:38 +07:00
MythEclipse 04ba772e61 fix: remove read timeout from ffmpeg arguments in music player 2026-05-18 05:46:38 +07:00
MythEclipseandClaude Opus 4.7 ff425e1f46 fix: resolve silent voice playback on VPS and queue screenshare streams
- Add ffmpeg stderr monitoring to catch audio decoding errors
- Add HTTP timeout parameters (-connect_timeout, -read_timeout) for VPS reliability
- Add URL validation in yt-dlp to ensure audio URLs are resolved
- Add comprehensive logging to mediaController for queue operations
- Add logging to musicPlayer for ffmpeg command execution and errors
- Update musicPlayer test to expect new timeout parameters

Fixes:
1. Silent audio issue: ffmpeg errors are now visible in logs
2. Queue bypass: Added logging to track queue → playback flow
3. VPS network issues: Added timeouts for HTTP stream connections

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 05:19:38 +07:00
MythEclipseandClaude Opus 4.7 3ae7a4c6ad fix: resolve silent voice playback on VPS and queue screenshare streams
- Call unpause() when starting a stream in DiscordPlayer to prevent getting stuck in a paused state.
- Call stop() instead of pause() in VoiceController on disconnect to fully reset the player.
- Add user-agent header to ffmpeg calls in MusicPlayer and Transcoder to prevent YouTube 403 Forbidden on VPS.
- Add screenshare streams to the media queue when successfully started.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 05:09:40 +07:00
MythEclipseandClaude Opus 4.7 1085d7909c fix: address LLM square bracket mapping format and resolve Biome import formatting
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 04:40:54 +07:00
MythEclipseandClaude Opus 4.7 dde8358736 feat: implement robust JSON parsing and multimodal image capping
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 04:38:30 +07:00
MythEclipse f94009767b fix: correct typo in config validation comment 2026-05-18 00:31:45 +07:00
MythEclipse 51dc1f8869 feat: add multimodal analysis support to LLM moderation client by processing image attachments 2026-05-17 23:56:04 +07:00
MythEclipse 059d569566 fix: refactor constructor parameter properties in errors.ts to prevent strip-only mode type stripping errors 2026-05-17 23:05:50 +07:00
MythEclipse 7a2b8420d1 fix: make all recursive local relative imports explicit with .ts extensions to resolve ESM worker thread module failures 2026-05-17 23:03:35 +07:00
MythEclipse 299ec76433 fix: add explicit .ts extensions for worker thread relative imports to satisfy ESM resolution 2026-05-17 23:00:24 +07:00
MythEclipse 5d67ecfd24 fix: pass parent process.execArgv to Worker to support TSX/ESM loader in worker threads 2026-05-17 22:57:46 +07:00
MythEclipse 0c7930bd01 chore: update streaming default quality settings to 1080p60 at 8mbps with ultrafast preset 2026-05-17 20:47:41 +07:00
MythEclipse e22e620bae feat: add streaming demuxer tests and implement dual-stream output piping in streaming service 2026-05-17 20:44:13 +07:00
MythEclipse eda32720c8 a 2026-05-17 19:39:46 +07:00
MythEclipse b8a6f40b1b feat: enhance database initialization for test isolation and add transcoder metrics 2026-05-17 18:24:10 +07:00
MythEclipse a3e6c4695a chore: remove test environment configuration file 2026-05-17 17:35:37 +07:00