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 |
|