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
|
52c4aaa9d3
|
fix: reject array fields in GET and DELETE room requests
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:26:47 +08:00 |
|
DiheChen
|
b986abf937
|
docs: reword comments and protocol descriptions for readability
|
2026-11-11 00:25:12 +08:00 |
|
DiheChen
|
d72b4203cb
|
feat: browse stored media page by page, sort and search it, and delete several songs at once
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:23:50 +08:00 |
|
DiheChen
|
0f6ecaf6da
|
feat: organize settings into sections that apply changes immediately
|
2026-11-11 00:22:33 +08:00 |
|
DiheChen
|
8cacfb68ff
|
feat: organize the admin page into sections with room search, paging and source status cards
|
2026-11-11 00:21:31 +08:00 |
|
DiheChen
|
c7a5c44b1c
|
feat: add sectioned page layout, switches, segmented controls, paging and neutral avatars
|
2026-11-11 00:20:26 +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
|
c39331aa75
|
feat: let the Android app open links to this site
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:17:49 +08:00 |
|
DiheChen
|
3bc1d6e82e
|
feat: sign in with GitHub and manage the GitHub link in settings
|
2026-11-11 00:17:12 +08:00 |
|
DiheChen
|
2ae286dcb8
|
feat: pair a new device from settings with a code or QR code
|
2026-11-11 00:16: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
|
7863c02170
|
feat: open shared playlist links to request, save and copy their songs
|
2026-11-11 00:10:12 +08:00 |
|
DiheChen
|
1f99bd939b
|
feat: share my playlists from the playlist menu
|
2026-11-11 00:09:38 +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
|
910e7339ad
|
feat: show listening history from the server and sync the recording switch across devices
|
2026-11-11 00:06:40 +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
|
038cbb206b
|
feat: import playlists from files, links and search results
|
2026-11-11 00:03:16 +08:00 |
|
DiheChen
|
df8e0c5b8b
|
feat: export playlists to files and import them in the web client
|
2026-11-11 00:02:22 +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
|
1b292fa5e3
|
feat: select several playlist songs to remove, save or reorder them and drag songs into place
|
2026-11-09 21:33:06 +08:00 |
|
DiheChen
|
a72fc40519
|
feat: browse my playlists as a sortable list or a glowing cover grid and open each one
|
2026-11-09 21:32:21 +08:00 |
|
DiheChen
|
0f01b1dfe9
|
feat: save songs to my playlists from the player, queue and history
|
2026-11-09 21:31:18 +08:00 |
|
DiheChen
|
5198fa5126
|
feat: track member playlists in the web client
|
2026-11-09 21:30:19 +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
|
a80c48824f
|
feat: register and sign in from the settings page
|
2026-11-09 21:23:23 +08:00 |
|
DiheChen
|
a0956299be
|
feat: switch registration and reset account passwords in the admin page
|
2026-11-09 21:22:40 +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 |
|