saopig1 and Claude Opus 4.6
9dce883384
fix: queue panel fetches data on open, lyrics auto-sync with playback time
...
- Player store tracks playStartedAt/pausedElapsed for elapsed time
- Queue component fetches from server when opened
- Lyrics page syncs every 200ms using elapsed time
- Lyrics auto-scroll to active line with smooth animation
- Translation lines shown below main lyrics
- Fade mask on lyrics scroll area
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 02:12:12 +08:00
saopig1 and Claude Opus 4.6
67584d2622
feat: add YesPlayMusic-style home page with daily recs, FM, and user playlists
...
Add backend endpoints for daily recommended songs, personal FM, user
playlists, and playlist detail. Extend NeteaseProvider and MusicProvider
interface with getDailyRecommendSongs and getUserPlaylists. Rewrite Home
page with FM card, daily recommendations grid, and user playlists section.
Fix Playlist view to fetch detail and songs from separate endpoints.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 02:07:11 +08:00
saopig1 and Claude Opus 4.6
6b725f43f9
fix: replace setInterval with drift-correcting setTimeout for audio timing
...
- High-precision frame loop using performance.now() tracking
- PCM-level volume control (live adjustable, no FFmpeg restart)
- Proper buffer drain on track end
- Fixes audio quality and playback speed issues
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 02:01:16 +08:00
saopig1 and Claude Opus 4.6
9755ba2909
fix: QR login now persists cookies, shows server-generated QR image, passes timestamp
...
- Auth router accepts CookieStore and persists cookies on login
- NeteaseProvider passes timestamp to prevent cached QR responses
- QR image from server used directly (qrimg field)
- Cookie saved to disk on confirmed QR scan
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 01:47:25 +08:00
saopig1 and Claude Opus 4.6
f77a6f0fd7
fix: start NeteaseCloudMusicApi server for real — enables QR code login
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 01:37:35 +08:00
saopig1 and Claude Opus 4.6
814910123e
feat: add QR code login for NetEase/QQ Music accounts in Settings page
...
- QR code generated client-side via qrcode library
- Auto-polls backend every 2s for scan status
- Shows waiting/scanned/confirmed/expired states
- Falls back to cookie paste method
- Auth status check on page load
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 01:34:06 +08:00
saopig1 and Claude Opus 4.6
0559f09f0a
feat: replace ServerQuery with full TS3 client protocol — bot is now VISIBLE
...
Switch from TCP ServerQuery (port 10011, invisible) to real TS3 client
protocol via @honeybbq/teamspeak-client (UDP 9987, ECDH handshake,
AES-EAX encryption). Bot now appears as a regular client visible to
all users in TeamSpeak.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 01:28:25 +08:00
saopig1 and Claude Opus 4.6
df7b944742
test: add integration test suite — 74 tests passing against local TS3 server
...
Fix @discordjs/opus ESM import for Node 24 compatibility.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 01:08:57 +08:00
saopig1 and Claude Opus 4.6
5041a4f3f7
fix: address Phase 7 review — move WS/theme init to App.vue, wire Queue component
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 01:02:42 +08:00
saopig1 and Claude Opus 4.6
41d9e88c8e
feat: add deployment scripts, Docker, and Setup Wizard — Phase 8 complete
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 01:00:23 +08:00
saopig1 and Claude Opus 4.6
694e3c953b
feat: add Vue.js WebUI — YesPlayMusic-inspired SPA with all pages and components
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:58:33 +08:00
saopig1 and Claude Opus 4.6
2a966e914c
fix: address Phase 6 review — error handling on player routes, SPA fallback scope, WS cleanup
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:49:34 +08:00
saopig1 and Claude Opus 4.6
0b54809113
feat: add web backend — Express REST API, WebSocket, full wiring in entry point
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:47:19 +08:00
saopig1 and Claude Opus 4.6
e5d5185f14
fix: address Phase 5 review — use strict equality check in cmdMode
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:45:14 +08:00
saopig1 and Claude Opus 4.6
6692f49a85
feat: add bot core — command parser, BotInstance with full commands, BotManager
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:43:41 +08:00
saopig1 and Claude Opus 4.6
fbc4cbe4d6
fix: address Phase 4 review — cookie file permissions (0600), gitignore cookies dir
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:41:24 +08:00
saopig1 and Claude Opus 4.6
94902fc2c4
feat: add music source service — NetEase/QQ providers, unified interface, cookie auth
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:39:47 +08:00
saopig1 and Claude Opus 4.6
17d2decc91
fix: address Phase 3 review — Logger type export, PlayerEvents interface, PCM backpressure
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:37:16 +08:00
saopig1 and Claude Opus 4.6
5afc8c5224
feat: add audio engine — Opus encoder, play queue with 4 modes, FFmpeg player
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:34:57 +08:00
saopig1 and Claude Opus 4.6
d66355a829
fix: address Phase 2 review — error handlers, drain queue, prevent listener accumulation
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:32:22 +08:00
saopig1 and Claude Opus 4.6
a6bfd9d32c
feat: add TCP connection, UDP voice, and high-level TS3Client
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:29:47 +08:00
saopig1 and Claude Opus 4.6
e059ca5bfe
feat: add TS3 command encoding/decoding with escape handling
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:28:46 +08:00
saopig1 and Claude Opus 4.6
2b6e81119b
feat: add TS3 identity generation with Ed25519 keypairs
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:28:12 +08:00
saopig1 and Claude Opus 4.6
bc89c553b7
fix: address Phase 1 review — union types, auto playedAt, ESM imports, gitignore config.json
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:26:55 +08:00
saopig1 and Claude Opus 4.6
9931d8b40d
chore: Phase 1 complete — project scaffold, config, database, logger
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:21:55 +08:00
saopig1 and Claude Opus 4.6
7c60bd69ef
feat: add application entry point with config, database, and logger initialization
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:21:38 +08:00
saopig1 and Claude Opus 4.6
8727605036
feat: add SQLite database module with play history and bot instances
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:21:07 +08:00
saopig1 and Claude Opus 4.6
6324953394
feat: add pino logger with file and stdout transports
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:18:09 +08:00
saopig1 and Claude Opus 4.6
f152450931
feat: add JSON config module with load/save/defaults
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:16:59 +08:00
saopig1 and Claude Opus 4.6
101d593c0e
chore: initialize project with TypeScript and dependencies
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 00:16:01 +08:00