Commit Graph

  • a40f612700 fix(web): guard authenticated routes instead of asserting the session user Admin 2026-07-20 07:28:04 +02:00
  • ba7ee2c59e chore(web): remove unused adapter-auto dependency Admin 2026-07-20 07:27:57 +02:00
  • 3d20be6e95 refactor(youtube): log service failures and decouple error messages Admin 2026-07-20 07:27:57 +02:00
  • 0570852cac feat(worker): install yt-dlp and deno in the worker image Admin 2026-07-20 07:27:51 +02:00
  • 2507d98c55 feat(deploy): add production stack for the VPS Admin 2026-07-20 07:27:51 +02:00
  • 8adf24c716 chore: ignore production env files and mounted secrets Admin 2026-07-20 07:27:31 +02:00
  • 2dc544b2c0 Changes Admin 2026-07-18 23:29:57 +02:00
  • 4fed9bd059 A lot of changes Admin 2026-07-17 18:56:23 +02:00
  • aac9224c2d A lot of changes Admin 2026-07-17 18:56:19 +02:00
  • 1bd6f18c5e fix(backend): propagate user renames to artist and harden migration backfill Admin 2026-07-17 18:00:00 +02:00
  • daec1a8d05 refactor(backend): group track pipeline state into owned types Admin 2026-07-17 17:58:56 +02:00
  • 64e1f3903e refactor(backend): read artist credit from TrackArtists join Admin 2026-07-17 17:57:22 +02:00
  • 4a802e44a3 refactor(backend): unify YouTube track creation via a provisioner Admin 2026-07-17 17:56:37 +02:00
  • b1618a39c4 feat(backend): add Artist entity and track ownership Admin 2026-07-17 17:55:32 +02:00
  • 3f4f248221 fix(backend): make track media fields and external id nullable Admin 2026-07-17 17:53:57 +02:00
  • 41dccbcecd fix(frontend): remove context menu borders and add icon to the playlist row Admin 2026-07-16 22:48:48 +02:00
  • 10d385b90a fix(frontend): stop clipping the add-to-playlist submenu Admin 2026-07-16 22:47:14 +02:00
  • 043a2523ad fix(frontend): restyle the track context menu to match the app's design tokens Admin 2026-07-16 22:44:51 +02:00
  • fe71473a3f fix(frontend): make add-to-queue insert the track to play next Admin 2026-07-16 22:44:51 +02:00
  • 953fb46f7b feat(frontend): add queue option and enlarge first-level context menu text Admin 2026-07-16 19:19:08 +02:00
  • 6233123b02 fix(frontend): enlarge playlist submenu text, thumbnail and padding Admin 2026-07-16 17:40:34 +02:00
  • 911467f0ef fix(frontend): close the diagonal hover gap in the playlist submenu Admin 2026-07-16 17:38:43 +02:00
  • 90be0c6538 fix(frontend): extend add-to-playlist context menu to local Musify tracks Admin 2026-07-16 17:36:36 +02:00
  • 4ba20d741e feat(frontend): add server action to attach local tracks to a playlist from explore Admin 2026-07-16 17:36:36 +02:00
  • ef7ebff9f6 fix(frontend): nested add-to-playlist submenu with playlist thumbnails Admin 2026-07-16 17:33:38 +02:00
  • f891002528 fix(frontend): explore search polish Admin 2026-07-16 17:29:46 +02:00
  • 6cbcc18aab fix(frontend): wire hardware media-key next/previous track buttons Admin 2026-07-16 17:20:49 +02:00
  • bbc5651ca5 chore(frontend): show 27 local tracks per page in explore Admin 2026-07-16 17:20:48 +02:00
  • 7e8fed9bd7 fix(frontend): stop duplicating YouTube tracks in recently played after download Admin 2026-07-16 17:00:35 +02:00
  • cfa5bdc6ff feat(frontend): hide empty local/YouTube sections when searching in explore Admin 2026-07-16 17:00:27 +02:00
  • 1050372634 feat(frontend): search local and YouTube Music together without filter tabs Admin 2026-07-16 06:23:21 +02:00
  • 5f10be4791 feat: show explicit badge on YouTube Music results Admin 2026-07-16 06:15:09 +02:00
  • f90d76fad9 feat(frontend): unified explore search across local and YouTube Music Admin 2026-07-16 06:02:57 +02:00
  • 4069b36202 feat(frontend): show YouTube tracks in recently played with their thumbnails Admin 2026-07-16 01:15:50 +02:00
  • c5b0ee3e48 feat(backend): record listening history for YouTube playback Admin 2026-07-16 01:15:36 +02:00
  • 37e0a4a4bf fix(frontend): show real cover art in the player for YouTube tracks Admin 2026-07-16 01:06:20 +02:00
  • 3baac742d0 feat(frontend): YouTube Music search, playback and playlist saving Admin 2026-07-16 01:06:20 +02:00
  • 73826b9d08 feat(backend): auto-download YouTube tracks saved to playlists Admin 2026-07-16 01:06:04 +02:00
  • 11ed8b40ff feat(backend): YouTube Music search and playback resolution endpoints Admin 2026-07-16 01:05:42 +02:00
  • 2cecd118ed feat(backend): add source, external id and artist to tracks Admin 2026-07-16 01:05:28 +02:00
  • cc1c1c204f style(frontend): full-width track rows with duration and listens on library page Admin 2026-07-15 16:18:57 +02:00
  • af805a172f style(backend): formatting pass on GetListeningHistory Admin 2026-07-15 16:15:37 +02:00
  • 1438d9bf1a fix(backend): stop loading a user's entire listening history into memory Admin 2026-07-15 16:12:26 +02:00
  • 135cea6c76 chore(deploy): add pgAdmin to the dev stack Admin 2026-07-15 16:10:18 +02:00
  • 02e093d254 style(frontend): even out page-bottom spacing and header sizing Admin 2026-07-15 16:10:11 +02:00
  • d1cba7b846 feat(frontend): redesign playlist pages with cover image support Admin 2026-07-15 16:10:04 +02:00
  • e98798894e fix(backend): compute track listens count via SQL instead of an unloaded navigation Admin 2026-07-15 16:09:54 +02:00
  • b4b08aa3fd feat(backend): add playlist cover endpoint and relax description validation Admin 2026-07-15 16:09:40 +02:00
  • a10426b3f1 feat(frontend): hide playlists if the user doesn't have any Admin 2026-07-14 19:24:41 +02:00
  • f101ce69a0 Changes Admin 2026-07-14 19:11:58 +02:00
  • cb7aa32567 fix(frontend): change max recent tracks Admin 2026-07-14 18:51:42 +02:00
  • 92aec73b9d feat(frontend): persistent player volume Admin 2026-07-14 18:48:57 +02:00
  • 79119fe3fa style(frontend): drop card background on explore results, match home track style Admin 2026-07-14 14:30:19 +02:00
  • 26f2c92bec style(frontend): make explore search bar span full width Admin 2026-07-14 14:28:54 +02:00
  • 1e21c6dad9 feat(frontend): search tracks live as you type on explore page Admin 2026-07-14 14:27:38 +02:00
  • 2208453775 style(frontend): restore original card sizes and stretch all home grids full width Admin 2026-07-14 14:24:28 +02:00
  • d05dc74f90 style(frontend): let recently-played cards fill the full page width Admin 2026-07-14 14:22:55 +02:00
  • fc298ac1dd style(frontend): enlarge recently-played section on home page Admin 2026-07-14 14:20:51 +02:00
  • 597fc7387a fix(frontend): give duration and remove-track their own grid columns Admin 2026-07-14 14:11:36 +02:00
  • 054160d68b style(frontend): move remove-track button to the far right of the row Admin 2026-07-14 14:08:45 +02:00
  • 815aca64bc fix(frontend): contain NowPlaying indicator inside playlist play button Admin 2026-07-14 14:06:48 +02:00
  • 095088fb65 style(frontend): polish playlist page header, back link and action buttons Admin 2026-07-14 14:04:31 +02:00
  • c4aea1f7a1 feat(frontend): show track duration in a Spotify-style table on playlist page Admin 2026-07-14 14:00:23 +02:00
  • 4ebcd69eeb feat(backend): expose track duration and listen count in track response Admin 2026-07-14 13:54:12 +02:00
  • 877f2c42a4 refactor(backend): rename AudioTranscoderConfiguration/Service to AudioConfiguration/AudioService Admin 2026-07-14 13:54:08 +02:00
  • 7ac105f113 refactor(backend): return AudioTranscodeResult with status code and duration Admin 2026-07-14 13:49:28 +02:00
  • 71c0bfa418 feat(backend): add migration for Track.Duration column Admin 2026-07-14 13:48:05 +02:00
  • 1711012541 feat(backend): extract audio duration during transcoding and persist to track Admin 2026-07-14 13:47:52 +02:00
  • d889aa63c5 chore(frontend): allow dev server to fall back to a free port Admin 2026-07-14 13:26:11 +02:00
  • 5905f56e84 feat(frontend): show recently played from listening history on home Admin 2026-07-14 13:26:08 +02:00
  • 5fe0f6ff32 fix(backend): order listening history by recency and cap to 15 tracks Admin 2026-07-14 13:26:04 +02:00
  • 2abca7f08d fix(frontend): apply display font to page titles missing it Admin 2026-07-14 13:23:56 +02:00
  • b372028e0a refactor(frontend): drop downloads/import nav, promote library above upload Admin 2026-07-14 13:23:51 +02:00
  • e4830ad73f feat(frontend): drive seek bar with rAF for smooth playback progress Admin 2026-07-14 13:23:44 +02:00
  • 9b866cb5f1 docs: add project README and frontend pages notes Admin 2026-07-14 04:55:44 +02:00
  • 0f776078f3 refactor(frontend): tidy Navbar, Footer and document shell Admin 2026-07-14 04:55:44 +02:00
  • dd41d23144 chore(frontend): add font/icon deps and dev config Admin 2026-07-14 04:55:39 +02:00
  • c544a6c78c feat(frontend): rework home page with recent, latest and playlists Admin 2026-07-14 04:55:12 +02:00
  • 0b4e61b3ab feat(frontend): add (app) route group and rework auth routing Admin 2026-07-14 04:55:04 +02:00
  • 1f531ea70e feat(frontend): rework audio player and shared UI components Admin 2026-07-14 04:54:51 +02:00
  • 458c20335e feat(frontend): add theme tokens and dynamic accent palette Admin 2026-07-14 04:54:45 +02:00
  • 54484d9fd4 feat(tracks): add track cover endpoint Admin 2026-07-14 04:54:40 +02:00
  • 5c1edc0dc7 feat(tracks): add user listening history Admin 2026-07-14 04:54:35 +02:00
  • bbc115ca84 feat(frontend): play tracks from the explore page Admin 2026-07-06 02:40:44 +02:00
  • c04d79beb0 feat(frontend): music player component with separated controls and stream proxy Admin 2026-07-06 02:40:44 +02:00
  • e34347e450 refactor(application): drop redundant default values on query records Admin 2026-07-06 02:23:35 +02:00
  • 7aa5350484 fix(playlists): reject empty/whitespace name and description on update Admin 2026-07-06 02:20:47 +02:00
  • 1769df12d5 refactor(search): treat empty search strings as no filter (string.IsNullOrEmpty) Admin 2026-07-06 02:12:58 +02:00
  • 7f439b168b feat(frontend): add /explore page with track listing and name search Admin 2026-07-06 02:05:47 +02:00
  • 5cca9a80dd chore(frontend): regenerate api types with track name search Admin 2026-07-06 02:04:04 +02:00
  • fabd26e42f feat(tracks): support search by name in GetTracks Admin 2026-07-06 02:04:01 +02:00
  • 047d5da319 chore(frontend): generate backend API types from live OpenAPI spec Admin 2026-07-06 01:54:28 +02:00
  • 72a7d13f6d feat(frontend): add typed backend API client (openapi-fetch) with codegen script Admin 2026-07-06 01:52:25 +02:00
  • dadeac3571 refactor(frontend): require refresh/id token in Session, validate at callback boundary Admin 2026-07-05 23:57:19 +02:00
  • 757c74b899 refactor(frontend): restrict insecure HTTP issuer to dev / explicit opt-in Admin 2026-07-05 23:56:35 +02:00
  • b9d14412e6 refactor(frontend): make SessionUser fields non-null and normalize claims at boundary Admin 2026-07-05 23:45:18 +02:00
  • 539fad1d22 refactor(frontend): centralize configurable auth/session values in config.ts Admin 2026-07-05 23:43:50 +02:00
  • 46c7d5dbc7 feat(frontend): encrypt session cookie (JWE) and auto-refresh access token Admin 2026-07-05 23:41:49 +02:00
  • e11db5263b chore(frontend): remove scaffold comments and add conventions doc Admin 2026-07-05 23:41:42 +02:00
  • fe8c2c4244 fix(frontend): full-page nav for auth links; land on home after login Admin 2026-07-05 23:16:25 +02:00