Admin
88487064e1
Update Sidebar.svelte to adjust padding for playlist display
2026-09-24 19:10:04 +02:00
Admin
e4e4617f6e
Copy .editorconfig into the migrator image so analyzers match the local build
2026-09-24 19:08:50 +02:00
Admin
e84c16cf92
A lot of changes
2026-09-24 17:54:16 +02:00
Admin
ece6ce2a43
Merge branch 'backend-refactor-rev' into audit-merge-three
...
Adapt the refactored web player to the new backend API (id path params,
bulk track adds, flat list items, mix kind) and port AddAlbumToPlayList
to the backend conventions.
2026-09-24 17:30:40 +02:00
Admin
8e85af2b3b
Render unknown URLs inside the app shell and move ListeningStats to the domain types
...
CI/CD / BackEnd (push) Successful in 1m19s
CI/CD / WebPlayer (push) Successful in 46s
CI/CD / Deploy (push) Skipped
Add catch-all routes so unknown pages 404 inside the (app) layout and unknown
/api URLs return a JSON 404 instead of redirecting to the login page. Restore
the full root error page.
2026-09-24 14:29:45 +02:00
Admin
2d23eb87c6
Update frontend docs for the new structure and fix session test typing
2026-09-24 14:06:46 +02:00
Admin
e5ce63a192
Add tests for API endpoints, liked store, listen tracker and paged list
2026-09-24 14:04:43 +02:00
Admin
b5c9658d65
Add tests for sessions, guards, API error details and the app layout load
2026-09-24 14:03:35 +02:00
Admin
ba0a2373b5
Normalize API counters in the server mappers instead of route loaders
2026-09-24 14:02:23 +02:00
Admin
b0163f6a4d
Split the explore page into genre grid, top result and search results components
2026-09-24 14:01:33 +02:00
Admin
0a192645d6
Drive the theme accent from the app layout instead of the player
2026-09-24 13:59:54 +02:00
Admin
351b333529
Split the server API module into client, guards, form fields and action helpers
2026-09-24 13:59:21 +02:00
Admin
155f0e2b6a
Move liked tracks state to state/ and recently played merge to player/
2026-09-24 13:58:43 +02:00
Admin
a54d1ef077
Move store-connected components out of ui/ into components/music and lint the ui boundary
2026-09-24 13:58:13 +02:00
Admin
2361b88e0a
Rename the app shell components folder and move AccountMenu next to its consumers
2026-09-24 13:57:35 +02:00
Admin
e7c2fd5571
Move the app shell and its data loading into the (app) route group layout
2026-09-24 13:57:02 +02:00
Admin
3126cb6dd6
web-player: regenerate package-lock with npm 10 so npm ci works on Node 22
CI/CD / BackEnd (push) Successful in 1m19s
CI/CD / WebPlayer (push) Successful in 45s
CI/CD / Deploy (push) Skipped
2026-09-24 13:16:43 +02:00
Admin
03afcc8a90
web-player: sync package-lock with missing emnapi optional dependencies
CI/CD / BackEnd (push) Successful in 1m24s
CI/CD / WebPlayer (push) Failing after 8s
CI/CD / Deploy (push) Skipped
2026-09-24 13:02:38 +02:00
Admin
fcf3093ad8
Unify API route parameters, return IResult everywhere, merge picture upload DTOs and centralize validation limits
...
Guid and long route constraints, id/trackId parameter names, Update*Request without the New prefix,
sentence-case operation summaries, shared security scheme id and a single Limits class.
2026-09-24 12:36:48 +02:00
Admin
0fa033faff
Separate responsibilities: start-listening command, API-side JSON converters, bulk track endpoints, mix kinds
2026-09-24 12:14:53 +02:00
Admin
f210fa4702
web-player: add albums to playlists through the bulk endpoint
CI/CD / BackEnd (push) Successful in 1m29s
CI/CD / WebPlayer (push) Failing after 7s
CI/CD / Deploy (push) Skipped
2026-09-24 12:05:34 +02:00
Admin
75d0c0817e
Deduplicate picture flows: shared upload issuer, cover query and picture source change
2026-09-24 12:04:54 +02:00
Admin
4b147d9ee3
Add shared pagination, projections and ownership helpers; simplify query and command handlers
2026-09-24 11:59:34 +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
1df7f6ccf6
web-player: share form limits between client and server and extract form parsers
2026-09-24 05:19:41 +02:00
Admin
0e3576922f
Fix query and API bugs: 403 for non-owners, page bounds, lifecycle filters, cover fallback, race-safe inserts, async album delete
2026-09-24 05:14:05 +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
c8e9c7790e
Close data leaks: remove anonymous user creation, hide private playlists, validate uploads and clamp gateway ranges
2026-09-24 05:00:21 +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
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
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