Admin
4b708aa987
backend: add endpoint to add a whole album to a playlist
2026-09-24 12:04:28 +02:00
Admin
bd07b1134e
web-player: fix icon size guardrail and add larger icon tokens
2026-09-24 11:56:09 +02:00
Admin
c041daf649
web-player: add lint guardrails for imports, non-null assertions, unused props and icon sizes; refresh docs
2026-09-24 11:54:38 +02:00
Admin
975fa7e4fd
web-player: consistent imports, tokens, glossary and app route grouping
2026-09-24 11:52:57 +02:00
Admin
1a2ae37f49
web-player: show only real upload steps
2026-09-24 11:51:47 +02:00
Admin
1cad36b929
web-player: extract menu, paged list and play-all components from pages
2026-09-24 11:51:14 +02:00
Admin
8cb9386447
web-player: unify primitive link/button rendering, add onEscape action and self-contained AccountMenu
2026-09-24 05:27:25 +02:00
Admin
5cda7cb4c1
web-player: split player, navigation and accent state into focused modules
2026-09-24 05:25:35 +02:00
Admin
e89463fb83
web-player: use playlist totals from the API, cache genres and parallelize explore requests
2026-09-24 05:21:29 +02:00
Admin
b011ccdd5b
backend: expose track count and duration on playlist responses
2026-09-24 05:20:20 +02:00
Admin
1df7f6ccf6
web-player: share form limits between client and server and extract form parsers
2026-09-24 05:19:41 +02:00
Admin
2915737f03
web-player: centralize server helpers (apiFor, authedAction, form readers) and unify page sizes
2026-09-24 05:13:51 +02:00
Admin
5b2a0e4d46
web-player: normalize tracks, albums and playlists into single domain types at the server boundary
2026-09-24 05:09:37 +02:00
Admin
37fc229bf6
web-player: remove dead code and unused props
2026-09-24 05:04:09 +02:00
Admin
bc43b4b6eb
web-player: fix playlist ownership, sidebar counts, home spotlight and assorted page bugs
2026-09-24 05:02:26 +02:00
Admin
dda8c30d45
backend: expose owner user id on playlist responses
2026-09-24 04:59:50 +02:00
Admin
906f38140a
web-player: dedupe queue, stop at end of queue, open queue once and harden localStorage
2026-09-24 04:59:28 +02:00
Admin
3e546d4a1e
web-player: fix open redirect via returnTo, require SESSION_SECRET and validate API inputs
2026-09-24 04:58:08 +02:00
Admin
b2f450dcf7
web-player: add Vitest, unit tests and pure queue operations
2026-09-24 04:54:09 +02:00
NotS1mp
87c3f97529
Merge pull request 'Web player general changes' ( #22 ) from web-player-general-changes into master
...
CI/CD / BackEnd (push) Successful in 1m17s
CI/CD / WebPlayer (push) Successful in 40s
CI/CD / Deploy (push) Successful in 2m4s
Reviewed-on: #22
2026-09-23 22:37:30 +00:00
Admin
302dd1e0f8
Merge master into web-player-general-changes
CI/CD / BackEnd (push) Canceled after 0s
CI/CD / WebPlayer (push) Canceled after 0s
CI/CD / BackEnd (pull_request) Successful in 1m23s
CI/CD / WebPlayer (pull_request) Successful in 40s
CI/CD / Deploy (pull_request) Skipped
CI/CD / Deploy (push) Canceled after 0s
2026-09-24 00:32:03 +02:00
NotS1mp
421fc929e8
Merge pull request 'Dynamic genres' ( #20 ) from dynamic-genres into master
...
CI/CD / BackEnd (push) Successful in 1m23s
CI/CD / WebPlayer (push) Successful in 39s
CI/CD / Deploy (push) Successful in 1m38s
Reviewed-on: #20
2026-09-23 22:24:22 +00:00
NotS1mp
c4ab5dc388
Merge branch 'master' into dynamic-genres
CI/CD / BackEnd (push) Canceled after 0s
CI/CD / WebPlayer (push) Canceled after 0s
CI/CD / Deploy (push) Canceled after 0s
CI/CD / BackEnd (pull_request) Successful in 1m20s
CI/CD / WebPlayer (pull_request) Successful in 40s
CI/CD / Deploy (pull_request) Skipped
2026-09-23 22:15:22 +00:00
NotS1mp
920dcc6779
Merge pull request 'Listening time accuracy' ( #19 ) from listening-time-accuracy into master
...
CI/CD / BackEnd (push) Successful in 1m18s
CI/CD / WebPlayer (push) Successful in 39s
CI/CD / Deploy (push) Successful in 1m40s
Reviewed-on: #19
2026-09-23 22:15:10 +00:00
Admin
430c711ff2
Refactor CI/CD workflow to improve database migration process and key generation
CI/CD / BackEnd (push) Successful in 1m18s
CI/CD / WebPlayer (push) Successful in 40s
CI/CD / Deploy (push) Skipped
CI/CD / BackEnd (pull_request) Successful in 1m27s
CI/CD / WebPlayer (pull_request) Successful in 39s
CI/CD / Deploy (pull_request) Skipped
2026-09-23 23:59:45 +02:00
Admin
cfdc61a4b8
Scroll content inside the shell so the player shares the ambient backdrop
...
CI/CD / BackEnd (push) Successful in 1m17s
CI/CD / WebPlayer (push) Successful in 40s
CI/CD / Deploy (push) Skipped
The player dock used to sit fixed over the scrolling page, so it needed an
opaque background. The shell is now a fixed-height frame where only the
content column scrolls, letting the dock stay transparent like the sidebar
and queue. Scroll reset/restore on navigation moves to restoreScroll(), and
the stable scrollbar gutter moves from <html> to the content scroller.
2026-09-23 23:52:27 +02:00
Admin
0f28e19c1d
Remove follow button from user rows
CI/CD / BackEnd (push) Successful in 1m24s
CI/CD / WebPlayer (push) Successful in 40s
CI/CD / Deploy (push) Skipped
2026-09-23 23:20:27 +02:00
Admin
7316e355ee
Add a second greeting variant per time slot
2026-09-23 23:20:27 +02:00
Admin
b39e55fd87
Restore master hero and spotlight gradients and sway them in place
2026-09-23 23:15:15 +02:00
Admin
cb046bba9e
Let users browse followers and following lists
...
Following lists are public; followers are visible to the user and to mutual followers.
Adds GET /users/{id}/followers and /following, exposes isFollowing and canViewFollowers
on the profile, and returns isFollowedByViewer from user search so the web player no
longer calls /is-following per user.
2026-09-23 22:55:14 +02:00
Admin
b9a40186b1
Lighten active surface gradients in light mode
CI/CD / BackEnd (push) Successful in 1m15s
CI/CD / WebPlayer (push) Successful in 40s
CI/CD / Deploy (push) Skipped
2026-09-23 22:44:42 +02:00
Admin
fd0a39b879
IsExplicit
2026-09-23 22:42:28 +02:00
Admin
cc7afe4326
Add explicit flag to tracks and mark it on upload
2026-09-23 22:41:57 +02:00
Admin
72cbc18a48
Add follow button next to each user in search results
...
Extract FollowButton and shared follow/unfollow actions, reused by the user profile page.
2026-09-23 22:34:56 +02:00
Admin
84408b842b
Semibold
2026-09-23 22:25:04 +02:00
Admin
339fcb56ad
Semibold
2026-09-23 22:24:57 +02:00
Admin
74cf534be5
Animate queue drag and drop reordering
2026-09-23 22:18:21 +02:00
Admin
89820c1377
Fix gradient background syntax in Artwork component
2026-09-23 22:10:46 +02:00
Admin
2fe26b15dd
Allow reordering upcoming tracks in the queue by drag and drop
2026-09-23 22:10:21 +02:00
Admin
2cb560fda4
Keep light mode gradients visible while drifting
2026-09-23 22:07:50 +02:00
Admin
d8530b9209
Animate menu close with shared pop transition
2026-09-23 22:01:51 +02:00
Admin
5049b0ba91
Update global icon stroke width to 1.5 in layout.css
2026-09-23 21:59:24 +02:00
Admin
1b98a75c0e
Added shadow
2026-09-23 21:59:13 +02:00
Admin
cbbde95773
Set global icon stroke width and remove per-icon strokeWidth props
2026-09-23 21:55:00 +02:00
Admin
26bb8a50a3
Solid player bar, gradient sliders and smooth progress
2026-09-23 21:48:39 +02:00
Admin
bf19bb31f9
Make accent hue crossfade between songs last 2 to 4 seconds
2026-09-23 21:40:22 +02:00
Admin
55cc803708
Drift accent gradients on buttons, hero, spotlight, active rows and modals
2026-09-23 21:37:41 +02:00
Admin
805e521b1d
Animate ambient background, add mute toggle and smooth queue panel
2026-09-23 21:36:01 +02:00
Admin
f8d431a0d7
Implement volume control with mute functionality; update PlayerState to manage muted state
2026-09-23 21:28:17 +02:00
Admin
7b72db8a24
Add ambient drift animation to app backdrop; adjust inset and handle reduced motion
2026-09-23 21:28:07 +02:00