52 Commits
Author SHA1 Message Date
DiheChen dab7e2f46b feat: verify the QQ Music account with QQ Music
CI / go (push) Waiting to run
CI / web (push) Waiting to run
CI / images (Dockerfile, server, alisten) (push) Waiting for needed jobs
CI / images (web/Dockerfile, web, ) (push) Waiting for needed jobs
CI / images (worker.Dockerfile, worker, alisten-worker) (push) Waiting for needed jobs
CI / helm-release (push) Waiting for needed jobs
CI / deploy (push) Waiting for needed jobs
2026-11-11 00:31:38 +08:00
DiheChen 6f286c2eb2 feat: open and import QQ Music playlists
CI / go (push) Canceled after 0s
CI / web (push) Canceled after 0s
CI / images (Dockerfile, server, alisten) (push) Canceled after 0s
CI / images (web/Dockerfile, web, ) (push) Canceled after 0s
CI / images (worker.Dockerfile, worker, alisten-worker) (push) Canceled after 0s
CI / helm-release (push) Canceled after 0s
CI / deploy (push) Canceled after 0s
2026-11-11 00:30:04 +08:00
DiheChen 19a135c983 feat: read the songs in QQ Music playlists 2026-11-11 00:28:21 +08:00
DiheChen b986abf937 docs: reword comments and protocol descriptions for readability 2026-11-11 00:25:12 +08:00
DiheChen fb751ca57f feat: page, sort and search stored media and delete several at once in the admin API 2026-11-11 00:19:07 +08:00
DiheChen c1d5bb2de0 feat: offer GitHub login over HTTP when an OAuth app is configured 2026-11-11 00:15:38 +08:00
DiheChen 1157843f50 feat: expose device pairing over HTTP 2026-11-11 00:15:01 +08:00
DiheChen e95476185b feat: sign in with GitHub and link GitHub to accounts 2026-11-11 00:14:01 +08:00
DiheChen 7543fd4987 feat: pair new devices with one-time codes 2026-11-11 00:13:19 +08:00
DiheChen 6098ac392e feat: exchange GitHub OAuth codes for user IDs 2026-11-11 00:12:15 +08:00
DiheChen ad0d0900d8 feat: keep pairing codes and GitHub login states in Redis 2026-11-11 00:11:43 +08:00
DiheChen 240c8899a9 feat: store GitHub links on accounts that may have no password 2026-11-11 00:10:55 +08:00
DiheChen 8b941764b1 feat: expose playlist sharing over HTTP 2026-11-11 00:08:57 +08:00
DiheChen eed25578c7 feat: share playlists through unguessable links and copy shared playlists 2026-11-11 00:08:02 +08:00
DiheChen 9f23e97652 feat: store playlist share links and copy shared playlists 2026-11-11 00:07:07 +08:00
DiheChen 17e486209e feat: read, remove and clear listening history and switch recording over HTTP 2026-11-11 00:06:11 +08:00
DiheChen 112527db83 feat: write listening history as songs start and members join 2026-11-11 00:05:35 +08:00
DiheChen ce5ce141f8 feat: keep each member's listening history and move a guest's history into the account on login 2026-11-11 00:05:03 +08:00
DiheChen a12ab44ec8 feat: tell which members hear each song from the room domain 2026-11-11 00:04:01 +08:00
DiheChen 649916ab9d feat: expose playlist imports over HTTP 2026-11-11 00:01:47 +08:00
DiheChen 9256f64e24 feat: import playlists from files and from NetEase links 2026-11-11 00:01:00 +08:00
DiheChen 83f8dbf3a5 feat: look up prepared tracks in bulk and create a playlist with its songs at once 2026-11-11 00:00:18 +08:00
DiheChen 92a8e63240 feat: recognize NetEase and QQ Music playlist links and resolve their short links 2026-11-10 23:59:25 +08:00
DiheChen 96a3da903c feat: tell which of my playlists contain a song 2026-11-09 21:29:43 +08:00
DiheChen 2657dca9e1 feat: remove, copy and reorder several playlist songs at once 2026-11-09 21:28:12 +08:00
DiheChen fafde9041c feat: expose member playlists over HTTP 2026-11-09 21:27:41 +08:00
DiheChen 95a56267a4 feat: manage member playlists with server-side track metadata 2026-11-09 21:26:41 +08:00
DiheChen ffbf28c165 feat: store playlists with a fixed favorites list for every account 2026-11-09 21:25:18 +08:00
DiheChen f0f38ff511 feat: bind room tickets to member sessions and disconnect revoked sessions 2026-11-09 21:24:32 +08:00
DiheChen 246baf5a0e feat: expose account registration, login and admin recovery over HTTP 2026-11-09 21:21:23 +08:00
DiheChen 62d99221fe feat: register, log in and manage member accounts 2026-11-09 21:20:12 +08:00
DiheChen fd1b3addb3 feat: store whether registration is open 2026-11-09 21:19:37 +08:00
DiheChen d8f9d4e2ca feat: store accounts and per-device sessions for members 2026-11-09 21:18:26 +08:00
DiheChen 98a1605a83 feat: reject emails that are not shaped like name@example.com when updating a profile 2026-11-09 21:17:42 +08:00
DiheChen 773ec302a7 feat: take the client address from proxies in private networks 2026-11-09 21:16:26 +08:00
DiheChen d17477ba59 feat: add a shared quota for account operations 2026-11-09 21:15:06 +08:00
DiheChen 0dbfe26c1f ci: check readiness and the release version after deploy
CI / go (push) Canceled after 0s
CI / web (push) Canceled after 0s
CI / images (Dockerfile, server, alisten) (push) Canceled after 0s
CI / images (web/Dockerfile, web, ) (push) Canceled after 0s
CI / images (worker.Dockerfile, worker, alisten-worker) (push) Canceled after 0s
CI / helm-release (push) Canceled after 0s
The ops port serves GET /version, so the smoke test can confirm that the
upgraded build is the one answering.
2026-11-07 22:17:16 +08:00
DiheChen 5fdeda2ede fix: measure FLAC files that have data after the audio 2026-11-05 12:13:19 +08:00
DiheChen 2fb58e001e chore: upgrade gl3d to v1.0.0 and decode leniently 2026-11-05 12:00:48 +08:00
DiheChen cce68d760e refactor: fold QQ lyric decryption into the qq package 2026-11-05 03:15:11 +08:00
DiheChen a38d6ca3e2 feat: send word-by-word and translated lyrics to clients 2026-11-05 01:03:38 +08:00
DiheChen e2364b171e feat: store word-by-word and translated lyrics 2026-11-05 01:02:25 +08:00
DiheChen bec757c7a5 feat: add translated and word-by-word lyrics for QQ and NetEase 2026-11-04 23:50:21 +08:00
DiheChen 8640da55e1 fix: send prepared results only for the playing entry between instances 2026-11-04 23:50:20 +08:00
DiheChen 5b839b9751 fix: check every stored track when restoring a room 2026-11-04 21:18:56 +08:00
DiheChen f38076ce34 fix: keep prepared media when a job runs again 2026-11-04 21:18:08 +08:00
DiheChen a8a5204a24 fix: pair each QQ vkey filename with its songmid 2026-11-04 00:23:19 +08:00
DiheChen eed1b3989b fix: cap media file sizes in the prepare pipeline 2026-11-02 22:35:40 +08:00
DiheChen b12dfcebb6 fix: cap persistent room queues at 200 entries 2026-11-02 22:00:14 +08:00
DiheChen f6be3c5044 fix: rate limit ephemeral room picks before querying upstream 2026-11-02 21:49:46 +08:00