This website requires JavaScript.
a081b85efc
Restore the invitations tab, render library tracks on first paint and re-measure the tab indicator
audit-merge-three
Admin
2026-09-25 02:40:50 +02:00
76b62ec384
Document coauthor invitations, invite dialog and coauthor helpers
Admin
2026-09-25 02:24:42 +02:00
2a7e805480
Link track coauthors next to the artist in rows and the player
Admin
2026-09-25 02:23:43 +02:00
dddb57c98b
Add coauthor invitations tab with accept and reject
Admin
2026-09-25 02:22:46 +02:00
058a902a81
Invite and remove track coauthors from the library songs list
Admin
2026-09-25 02:21:37 +02:00
153c33bf51
Add TagInput chip input
Admin
2026-09-25 02:17:53 +02:00
2b2f4093fb
Map track coauthors, coauthor invites and invitations
Admin
2026-09-25 02:17:13 +02:00
8a5b1bd353
Regenerate API schema for track coauthors
Admin
2026-09-25 02:15:32 +02:00
03f5936944
Add track coauthors with invitations, acceptance and coauthor-aware track responses
Admin
2026-09-25 02:14:23 +02:00
a888a44b41
Document the library components and test dropped folder reading
Admin
2026-09-25 01:53:59 +02:00
d874e06d64
Merge direct upload queue
Admin
2026-09-25 01:52:28 +02:00
f3ed68856c
Refresh processing tracks live, apply publish and delete optimistically and guard unsaved album edits
Admin
2026-09-25 01:52:27 +02:00
3eccf6dc53
Upload from the library queue straight to storage and retire the upload page
Admin
2026-09-25 01:51:20 +02:00
e19aba777d
Add upload queue store with concurrent uploads, progress, cancel and retry
Admin
2026-09-25 01:51:20 +02:00
493cc74cfb
Add direct upload API for presigning, creating tracks and following processing
Admin
2026-09-25 01:51:19 +02:00
9f592cfdb8
Filter library tracks on the server and add track publishing, bulk delete and album types
Admin
2026-09-25 01:49:44 +02:00
93d7a23c53
Regenerate API schema for track publication, album types and batch uploads
Admin
2026-09-25 01:43:38 +02:00
202164aa50
Merge backend library endpoints
Admin
2026-09-25 01:38:19 +02:00
ebfd41b160
Add track publication, album types, optional track pictures and batch upload URLs
Admin
2026-09-25 01:37:55 +02:00
1c20e106fa
Merge library components and styles work
Admin
2026-09-25 01:24:00 +02:00
43928ba9b9
Animate library tabs, rows, editor track lists, status badges and dropzone
Admin
2026-09-25 01:23:40 +02:00
ebe9769d4e
Align library styles with the design system
Admin
2026-09-25 01:20:32 +02:00
074ea7bf26
Extract shared data grid, selection bar, file dropzone and genre picker components
Admin
2026-09-25 01:17:59 +02:00
7cac6ff446
Move library album and track operations into shared server modules
Admin
2026-09-25 01:15:04 +02:00
d839a72700
Add track status filter and counts, album track ids and bulk track deletion
Admin
2026-09-25 01:14:59 +02:00
797bed8e7d
Split the library page into song, album and upload routes with linked tabs
Admin
2026-09-25 01:11:01 +02:00
9928840577
Add library manager with tracks, albums and uploads sections
Admin
2026-09-25 01:07:15 +02:00
4ac73d8fa3
Update sidebar to the new page
Admin
2026-09-24 19:25:15 +02:00
88487064e1
Update Sidebar.svelte to adjust padding for playlist display
Admin
2026-09-24 19:10:04 +02:00
e4e4617f6e
Copy .editorconfig into the migrator image so analyzers match the local build
Admin
2026-09-24 19:08:50 +02:00
c2100c189f
Added worker to the launch file
Admin
2026-09-24 18:02:52 +02:00
1a302491d1
Changes
Admin
2026-09-24 17:58:48 +02:00
e84c16cf92
A lot of changes
Admin
2026-09-24 17:54:16 +02:00
ece6ce2a43
Merge branch 'backend-refactor-rev' into audit-merge-three
Admin
2026-09-24 17:30:40 +02:00
ecf9faf640
Merge branch 'frontend-refactor-rev' into audit-merge-three
Admin
2026-09-24 17:25:31 +02:00
35d6314ce8
Point the IDE dev settings at the shared Infrastructure stack
zitadel-native-app-scheme
Admin
2026-09-24 17:11:50 +02:00
f99f74f4a1
Use Musify's own credentials on the shared services
Admin
2026-09-24 17:05:23 +02:00
f2765e2e7b
Call the API by container name from the web player
Admin
2026-09-24 15:06:25 +02:00
7b8f3f1222
Use a reverse-domain redirect scheme for the native app
Admin
2026-09-24 15:06:25 +02:00
c33b0e8bfd
Stop disabling Zitadel Login V2 from zitadel-init
Admin
2026-09-24 15:06:25 +02:00
8e85af2b3b
Render unknown URLs inside the app shell and move ListeningStats to the domain types
frontend-refactor-rev
Admin
2026-09-24 14:29:45 +02:00
2d23eb87c6
Update frontend docs for the new structure and fix session test typing
Admin
2026-09-24 14:06:46 +02:00
e5ce63a192
Add tests for API endpoints, liked store, listen tracker and paged list
Admin
2026-09-24 14:04:43 +02:00
b5c9658d65
Add tests for sessions, guards, API error details and the app layout load
Admin
2026-09-24 14:03:35 +02:00
ba0a2373b5
Normalize API counters in the server mappers instead of route loaders
Admin
2026-09-24 14:02:23 +02:00
b0163f6a4d
Split the explore page into genre grid, top result and search results components
Admin
2026-09-24 14:01:33 +02:00
0a192645d6
Drive the theme accent from the app layout instead of the player
Admin
2026-09-24 13:59:54 +02:00
351b333529
Split the server API module into client, guards, form fields and action helpers
Admin
2026-09-24 13:59:21 +02:00
155f0e2b6a
Move liked tracks state to state/ and recently played merge to player/
Admin
2026-09-24 13:58:43 +02:00
a54d1ef077
Move store-connected components out of ui/ into components/music and lint the ui boundary
Admin
2026-09-24 13:58:13 +02:00
2361b88e0a
Rename the app shell components folder and move AccountMenu next to its consumers
Admin
2026-09-24 13:57:35 +02:00
e7c2fd5571
Move the app shell and its data loading into the (app) route group layout
Admin
2026-09-24 13:57:02 +02:00
b8524aa5a8
Update naming conventions in .editorconfig and docs.editorc
backend-refactor-rev
Admin
2026-09-24 13:31:31 +02:00
73e37dbecd
Change editor rule
Admin
2026-09-24 13:24:43 +02:00
3126cb6dd6
web-player: regenerate package-lock with npm 10 so npm ci works on Node 22
Admin
2026-09-24 13:16:43 +02:00
16478678b5
Use System.Text.Json number handling for long values
Admin
2026-09-24 13:14:05 +02:00
03afcc8a90
web-player: sync package-lock with missing emnapi optional dependencies
Admin
2026-09-24 13:02:38 +02:00
7f51145915
Update docs for the refactored backend and add backend conventions guide
Admin
2026-09-24 13:01:32 +02:00
28a7c4a98c
Enable more analyzers, drop log-and-rethrow in file activities and apply dotnet format
Admin
2026-09-24 12:57:53 +02:00
2d0867e68a
Add tests for MassTransit activities, routing slips, sagas, fault handling and playlist visibility
Admin
2026-09-24 12:53:33 +02:00
bc6ca3651f
Share the entity model between Database and the test database via ModelConfiguration
Admin
2026-09-24 12:41:05 +02:00
c4cf5af7f1
Make the Worker validate its service container and align Worker and Gateway hosts
Admin
2026-09-24 12:40:18 +02:00
fcf3093ad8
Unify API route parameters, return IResult everywhere, merge picture upload DTOs and centralize validation limits
Admin
2026-09-24 12:36:48 +02:00
405df082cc
Deduplicate MassTransit routing slips, activities and consumers
Admin
2026-09-24 12:25:55 +02:00
0cba32f776
Simplify infrastructure services and move all recurring jobs to Hangfire
Admin
2026-09-24 12:18:57 +02:00
0fa033faff
Separate responsibilities: start-listening command, API-side JSON converters, bulk track endpoints, mix kinds
Admin
2026-09-24 12:14:53 +02:00
f210fa4702
web-player: add albums to playlists through the bulk endpoint
Admin
2026-09-24 12:05:34 +02:00
75d0c0817e
Deduplicate picture flows: shared upload issuer, cover query and picture source change
Admin
2026-09-24 12:04:54 +02:00
4b708aa987
backend: add endpoint to add a whole album to a playlist
Admin
2026-09-24 12:04:28 +02:00
4b147d9ee3
Add shared pagination, projections and ownership helpers; simplify query and command handlers
Admin
2026-09-24 11:59:34 +02:00
bd07b1134e
web-player: fix icon size guardrail and add larger icon tokens
Admin
2026-09-24 11:56:09 +02:00
c041daf649
web-player: add lint guardrails for imports, non-null assertions, unused props and icon sizes; refresh docs
Admin
2026-09-24 11:54:38 +02:00
975fa7e4fd
web-player: consistent imports, tokens, glossary and app route grouping
Admin
2026-09-24 11:52:57 +02:00
1a2ae37f49
web-player: show only real upload steps
Admin
2026-09-24 11:51:47 +02:00
1cad36b929
web-player: extract menu, paged list and play-all components from pages
Admin
2026-09-24 11:51:14 +02:00
5a0f82b77b
Clean up domain entities: shared picture value object, lifecycle and ownership interfaces, explicit tables
Admin
2026-09-24 11:43:50 +02:00
8cb9386447
web-player: unify primitive link/button rendering, add onEscape action and self-contained AccountMenu
Admin
2026-09-24 05:27:25 +02:00
5cda7cb4c1
web-player: split player, navigation and accent state into focused modules
Admin
2026-09-24 05:25:35 +02:00
4d943e068e
Unify picture configuration and options registration
Admin
2026-09-24 05:23:40 +02:00
e89463fb83
web-player: use playlist totals from the API, cache genres and parallelize explore requests
Admin
2026-09-24 05:21:29 +02:00
b011ccdd5b
backend: expose track count and duration on playlist responses
Admin
2026-09-24 05:20:20 +02:00
5e819d7676
Remove dead code: unused storage/transcoder members, Upload table, retry columns, redundant packages
Admin
2026-09-24 05:19:12 +02:00
1df7f6ccf6
web-player: share form limits between client and server and extract form parsers
Admin
2026-09-24 05:19:41 +02:00
0e3576922f
Fix query and API bugs: 403 for non-owners, page bounds, lifecycle filters, cover fallback, race-safe inserts, async album delete
Admin
2026-09-24 05:14:05 +02:00
2915737f03
web-player: centralize server helpers (apiFor, authedAction, form readers) and unify page sizes
Admin
2026-09-24 05:13:51 +02:00
5b2a0e4d46
web-player: normalize tracks, albums and playlists into single domain types at the server boundary
Admin
2026-09-24 05:09:37 +02:00
37fc229bf6
web-player: remove dead code and unused props
Admin
2026-09-24 05:04:09 +02:00
bc43b4b6eb
web-player: fix playlist ownership, sidebar counts, home spotlight and assorted page bugs
Admin
2026-09-24 05:02:26 +02:00
ab388e6ad6
Fix processing pipeline: report album failures, fault handling on create slips, config key names, audio duration
Admin
2026-09-24 05:02:04 +02:00
c8e9c7790e
Close data leaks: remove anonymous user creation, hide private playlists, validate uploads and clamp gateway ranges
Admin
2026-09-24 05:00:21 +02:00
dda8c30d45
backend: expose owner user id on playlist responses
Admin
2026-09-24 04:59:50 +02:00
906f38140a
web-player: dedupe queue, stop at end of queue, open queue once and harden localStorage
Admin
2026-09-24 04:59:28 +02:00
3e546d4a1e
web-player: fix open redirect via returnTo, require SESSION_SECRET and validate API inputs
Admin
2026-09-24 04:58:04 +02:00
c8fe28b07b
Add editorconfig and analyzers, format backend code
Admin
2026-09-24 04:51:09 +02:00
b2f450dcf7
web-player: add Vitest, unit tests and pure queue operations
Admin
2026-09-24 04:52:18 +02:00
87c3f97529
Merge pull request 'Web player general changes' (#22 ) from web-player-general-changes into master
master
NotS1mp
2026-09-23 22:37:30 +00:00
302dd1e0f8
Merge master into web-player-general-changes
web-player-general-changes
Admin
2026-09-24 00:32:03 +02:00
421fc929e8
Merge pull request 'Dynamic genres' (#20 ) from dynamic-genres into master
NotS1mp
2026-09-23 22:24:22 +00:00
c4ab5dc388
Merge branch 'master' into dynamic-genres
dynamic-genres
NotS1mp
2026-09-23 22:15:22 +00:00
920dcc6779
Merge pull request 'Listening time accuracy' (#19 ) from listening-time-accuracy into master
NotS1mp
2026-09-23 22:15:10 +00:00