Commit Graph

29 Commits

Author SHA1 Message Date
MythEclipse
82025a19b2 feat: migrate and redesign dashboard to modern React
- Full rewrite of legacy vanilla JS UI into React SPA
- Implement modern design system using Tailwind CSS and shadcn/ui primitives
- Create typed API modules and hooks for voice, media, and moderation
- Add new features: separated Music and Screen Share panels, Image Grid
- Implement unified WebSocket hook for real-time state and PCM audio
- Improve visualizer with smooth CSS transitions and live state sync
- Add __dirname polyfill for ES module compatibility
- Ensure responsive layout for mobile and desktop

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 19:17:34 +07:00
MythEclipse
8e1f5adaa4 feat: implement session-level recording with self/bot audio filtering
- Add RecordingSession tracking for guild-level audio mixing
- Filter out self user and bot users before subscribing to audio streams
- Register segments with session metadata for post-processing
- Finalize recording sessions on connection destroy or explicit stop
- Update test mocks to properly simulate stream chain and constructors
- Remove mock-crc import (no longer needed with current dependencies)
- Add 'type: module' to package.json for ES module support

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 18:15:18 +07:00
MythEclipse
6ac4a5c11a feat: add installation script for yt-dlp and update package.json 2026-05-15 21:40:20 +07:00
MythEclipse
6aeabc690f feat: prepare media resolver source kinds
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 19:11:23 +07:00
MythEclipse
12fdc713d9 feat: vendor Discord video stream workspace
Add Discord-video-stream as a vendored workspace dependency and wire it to use the local selfbot package for development.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 09:01:38 +07:00
MythEclipse
bbd65d369e feat: implement selfbot workspace submodule
- Add `discord.js-selfbot-v13` as a git submodule in `vendor/`
- Update `pnpm-workspace.yaml` to include the new submodule path
- Modify `.gitmodules` to track the submodule repository
- Change `discord.js-selfbot-v13` dependency in `package.json` to use `workspace:*`
- Create implementation and design documents for the submodule integration
2026-05-15 05:45:19 +07:00
MythEclipse
0060d1ba95 chore: modernize dependency set
- Remove deprecated packages: class-transformer, class-validator, fluent-ffmpeg, @types/fluent-ffmpeg
- Update remaining packages to latest versions via pnpm update --latest
- @discordjs/voice: ^0.19.1 → ^0.19.2
- @snazzah/davey: ^0.1.10 → ^0.1.11
- libsodium-wrappers: ^0.8.2 → ^0.8.4
- p-retry: ^6.2.0 → ^8.0.0
- pino: ^9.4.0 → ^10.3.1
- sodium-native: ^4.3.2 → ^5.1.0
- @types/node: ^24.10.1 → ^25.8.0
- pino-pretty: ^10.3.1 → ^13.1.3
- tsx: ^4.20.6 → ^4.22.0
- vitest: latest (preserved)
- @biomejs/biome: latest (preserved)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 04:18:33 +07:00
MythEclipse
71a28085d2 feat: scaffold react dashboard 2026-05-14 20:24:41 +07:00
MythEclipse
9889d20edd feat: add programmatic migration runner for better PostgreSQL support 2026-05-14 16:21:02 +07:00
MythEclipse
4e28cf9671 feat: add drizzle configuration and initial migrations 2026-05-14 15:33:10 +07:00
MythEclipse
b833b6d978 feat: add drizzle-orm and drizzle-kit dependencies 2026-05-14 15:31:08 +07:00
MythEclipse
818a059121 feat: add PostgreSQL config and dependencies 2026-05-14 14:44:01 +07:00
MythEclipse
a02d1fb7c0 chore: add pnpm workspace configuration with only built dependencies 2026-05-14 01:07:50 +07:00
MythEclipse
0bdab3b446 Refactor dashboard page: replace React component with static HTML, remove unused dashboardPage.tsx, and update webserver to serve new index.html 2026-05-14 00:14:25 +07:00
MythEclipse
bc212333d8 feat: implement Tone.js for professional audio transmit and listen
- Replace AudioWorkletNode with Tone.UserMedia for microphone capture
- Use Tone.Analyser for waveform analysis and Tone.Meter for level detection
- Implement proper stereo audio capture with real-time PCM transmission
- Use Tone.context for audio playback with proper buffer handling
- Add Tone.js CDN to HTML template
- Convert dashboard.js to ES module for Tone.js import
- Improve audio quality and reliability with battle-tested library
2026-05-13 22:46:24 +07:00
MythEclipse
0f30a4aa67 revert: simplify listen to PCM-only, remove WebCodecs complexity
- Remove broadcastOpusToWeb from types and webserver
- Revert recorder to PCM-only broadcast path
- Remove WebCodecs AudioDecoder from dashboard.js
- Simplify WebSocket handler to just play PCM frames
- Remove Howler.js and Tone.js dependencies
- Keep simple AudioContext playback that works reliably
2026-05-13 22:26:59 +07:00
MythEclipse
638d5fc005 debug: add logging to AudioData playback
- Log frame count, channels, sample rate from AudioData
- Log destination channel size before copyTo
- Identify frame count mismatch issue
2026-05-13 22:19:25 +07:00
MythEclipse
25dbd8413b feat: implement WebCodecs Opus decode for browser listen
- Add broadcastOpusToWeb to PcmBroadcaster interface for raw Opus packets
- Server broadcasts Opus frames with mode byte (1) + user hash + packet data
- Browser detects packet mode: mode=1 for Opus, mode=0 for legacy PCM
- Implement WebCodecs AudioDecoder for Opus decoding in browser
- Keep existing PCM playback as fallback for compatibility
- Show error if WebCodecs unsupported
- Fixes listen feature under Bun where native Opus decode unavailable
2026-05-13 22:13:03 +07:00
MythEclipse
c7d8353403 chore: update devDependencies and add bun-types to tsconfig 2026-05-13 19:49:56 +07:00
MythEclipse
f9a4b4a92d feat: add muxer job queue with SQLite integration and metrics tracking 2026-05-13 17:06:22 +07:00
MythEclipse
978c2c468d feat: enhance configuration management and add error handling 2026-05-13 16:57:07 +07:00
MythEclipse
673a06376c feat: implement graceful shutdown process for bot
- Added graceful shutdown functionality to handle SIGINT, SIGTERM, uncaught exceptions, and unhandled promise rejections.
- Integrated stopRecording and pause functionality during shutdown.
- Enhanced logging for shutdown steps and error handling.
- Updated package.json to include pino-pretty for improved logging output.
2026-05-13 16:32:14 +07:00
MythEclipse
3ae28157a3 feat: implement logging and retry mechanism with pino and p-retry 2026-05-13 16:25:01 +07:00
MythEclipse
b4302585c8 chore: add build script 2026-05-13 16:02:16 +07:00
MythEclipse
138aa397e2 chore: add code quality tooling 2026-05-13 15:28:25 +07:00
MythEclipse
2676998411 chore: add code quality tooling 2026-05-13 15:20:43 +07:00
baharsah
ad7dcde47c feat: redesign UI and overhaul audio processing for Discord Gateway v4 2026-05-13 02:30:09 +07:00
baharsah
18cf941da0 feat: add web interface and WebSocket server for real-time audio transmission to Discord 2026-05-13 00:32:27 +07:00
root
7ad5e58ffa init 2026-05-12 19:38:23 +07:00