Commit Graph

  • 68bf328e7c docs: add Phase 8 §8.7 to COMPLETED (upload cache invalidation + Albums→Releases rename) daniel-c-harvey 2026-06-11 18:57:03 -04:00
  • b5bd1c977b Merge branch 'p8-w7-release-label-upload-stale' into dev daniel-c-harvey 2026-06-11 18:55:50 -04:00
  • 4b26e0a969 fix: invalidate VM cache after upload and rename Albums tab/card to Releases daniel-c-harvey 2026-06-11 18:55:36 -04:00
  • c6078a3e71 assets: add studio, live, and DJ mix images for home medium section daniel-c-harvey 2026-06-11 18:50:07 -04:00
  • 0874042040 docs: move Phase 8.6 from PLAN to COMPLETED, correct type labels to Studio/Live/Mix daniel-c-harvey 2026-06-11 18:49:58 -04:00
  • 6d3b9cd4d3 Merge branch 'p8-w6-medium-section' into dev daniel-c-harvey 2026-06-11 18:38:10 -04:00
  • 9792d4346e docs: add Phase 8 §8.6 to COMPLETED (cache invalidation + orphaned release fixes) daniel-c-harvey 2026-06-11 17:58:31 -04:00
  • fc20a5d3d2 Merge branch 'p8-w6-stale-refresh-album-delete' into dev daniel-c-harvey 2026-06-11 17:57:08 -04:00
  • f02974b3c2 fix: refresh stale browse cache on track edits and allow deleting empty releases daniel-c-harvey 2026-06-11 17:56:18 -04:00
  • a6e565e445 feat: replace home genre cards with Music through Every Medium image section daniel-c-harvey 2026-06-11 17:55:13 -04:00
  • 38e345ccf7 docs: add Phase 8.6 'Music through Every Medium' section spec to PLAN daniel-c-harvey 2026-06-11 17:48:25 -04:00
  • fd8c0e389f fix: correct missing @ directives on ExpandedGenre bindings in genre browser daniel-c-harvey 2026-06-11 17:30:11 -04:00
  • b359786e69 docs: move Phase 8 §8.1-§8.5 from PLAN to COMPLETED (landed 2026-06-12) daniel-c-harvey 2026-06-11 17:00:55 -04:00
  • bef3f590ca Merge branch 'p8-w5c-batch-edit' into dev daniel-c-harvey 2026-06-11 16:57:18 -04:00
  • 407ed90341 feat: add BatchEdit page and extract reusable batch sub-components from BatchUpload daniel-c-harvey 2026-06-11 16:56:55 -04:00
  • 92a3bea129 Merge branch 'p8-w5b-t2-genre-browser' into dev daniel-c-harvey 2026-06-11 16:45:10 -04:00
  • 6480953189 Merge branch 'p8-w5b-t1-album-browser' into dev daniel-c-harvey 2026-06-11 16:45:07 -04:00
  • b22c3f96d7 feat: add CmsGenreBrowser genre browse mode to CMS track list daniel-c-harvey 2026-06-11 16:42:46 -04:00
  • 62620bc0d4 feat(cms): add expandable Album browser to Track Browser daniel-c-harvey 2026-06-11 16:26:44 -04:00
  • 55b26b2e41 Merge branch 'p8-w5a-foundation' into dev daniel-c-harvey 2026-06-11 16:18:19 -04:00
  • 508a522a8d feat(cms): add Track Browser foundation with mode toggle and CmsTrackGrid daniel-c-harvey 2026-06-11 16:17:45 -04:00
  • cf557e16aa Merge branch 'p7-w6-parallax-pop' into dev daniel-c-harvey 2026-06-11 16:09:34 -04:00
  • a2f9742f8a fix(parallax): prime parallax position with pre-Blazor init script to kill Server->WASM position pop daniel-c-harvey 2026-06-11 16:08:55 -04:00
  • a29b961c27 docs: move Phase 8 §8.0 to COMPLETED; unblock §8.1-§8.5 in PLAN daniel-c-harvey 2026-06-11 15:58:30 -04:00
  • e077b8ec7b Merge branch 'p8-w12-release-track-normalize' into dev daniel-c-harvey 2026-06-11 15:55:10 -04:00
  • 612b21b1e7 Merge branch 'p7-w5-parallax-prerender-pos' into dev daniel-c-harvey 2026-06-11 15:47:48 -04:00
  • 70d4a87cd5 fix: include Release nav on all TrackRepository query paths; add unique constraint on release(title, artist) daniel-c-harvey 2026-06-11 14:48:52 -04:00
  • ae531116b7 fix(parallax): animate background-position-y directly so SSR parallax works pre-WASM daniel-c-harvey 2026-06-11 14:45:30 -04:00
  • 63bdc5ee93 feature: Home Pictures part 1 daniel-c-harvey 2026-06-11 13:47:41 -04:00
  • f767d288c5 feat: normalize release-cardinal fields out of track into a Release entity (Phase 8 §8.0) daniel-c-harvey 2026-06-11 12:51:21 -04:00
  • 9d7f2ff003 feat(home): wire ParallaxImage hero to homepage; tweak crossfade to 700ms daniel-c-harvey 2026-06-11 12:12:35 -04:00
  • c59f59c3fe Merge branch 'p7-w4-parallax-css-scroll' into dev daniel-c-harvey 2026-06-11 12:12:05 -04:00
  • 91566692f6 fix(parallax): drive --parallax-pos via CSS scroll animation to kill SSR/hydration position pop daniel-c-harvey 2026-06-11 11:57:43 -04:00
  • 16f356a760 docs: resolve TrackDto nesting (§0.3) and add §8.0 wave sequencing daniel-c-harvey 2026-06-11 11:09:24 -04:00
  • 8983592e56 Merge branch 'p7-w3-parallax-ssr' into dev daniel-c-harvey 2026-06-11 11:07:55 -04:00
  • 92ddc5bb3e fix(parallax): add aspect-ratio mode to ParallaxImage to kill SSR/hydration layout shift daniel-c-harvey 2026-06-11 11:06:16 -04:00
  • 76e5080278 docs: gate Phase 8 on TrackEntity normalization (§8.0); fold review decisions daniel-c-harvey 2026-06-11 11:03:48 -04:00
  • 675710d086 Merge branch 'p7-w2-parallax-aspect-ratio' into dev daniel-c-harvey 2026-06-11 10:24:03 -04:00
  • c46c3a2f9c feat(parallax): aspect-ratio-aware auto height via WindowHeightFraction + ResizeObserver, drop DotNetObjectReference round-trip daniel-c-harvey 2026-06-11 10:23:25 -04:00
  • 49e99ff986 docs: add Phase 8 (CMS Track Browser) to PLAN; supersede §6.2 daniel-c-harvey 2026-06-11 09:49:19 -04:00
  • 5a345cabea docs(plan): move Phase 1.2 audio format diversity to COMPLETED.md daniel-c-harvey 2026-06-11 09:45:03 -04:00
  • 25ade16b07 Merge branch 'p1.2-w3-factory-wiring' into dev daniel-c-harvey 2026-06-11 09:42:05 -04:00
  • 5d9ba1c953 feat(audio): wire Mp3FormatDecoder and FlacFormatDecoder into AudioPlayer factory daniel-c-harvey 2026-06-11 09:32:33 -04:00
  • ab418bf840 docs: move ParallaxImage 7.1 from PLAN to COMPLETED (landed 2026-06-11) daniel-c-harvey 2026-06-11 09:28:22 -04:00
  • d3f1d6a8a0 Merge branch 'p7-w1-parallax-image' into dev daniel-c-harvey 2026-06-11 09:24:16 -04:00
  • 4d9505c341 feat: add ParallaxImage scroll-parallax component to DeepDrftShared.Client daniel-c-harvey 2026-06-11 09:23:34 -04:00
  • 0439d3da4f docs: record Phase 1.2 Wave 2 progress; update PLAN.md and DeepDrftPublic.Client CLAUDE.md daniel-c-harvey 2026-06-11 09:13:04 -04:00
  • 98142754fa Merge branch 'fix-upload-field-name' into dev daniel-c-harvey 2026-06-11 09:10:55 -04:00
  • 3da12067f6 fix: match multipart field name "audioFile" to API [FromForm] binding in UploadTrackAsync daniel-c-harvey 2026-06-11 09:10:50 -04:00
  • 86e1243eba Merge branch 'p1.2-w2-t2-flac-decoder' into dev daniel-c-harvey 2026-06-11 09:08:49 -04:00
  • b6b212e429 Merge branch 'p1.2-w2-t1-mp3-decoder' into dev daniel-c-harvey 2026-06-11 09:08:40 -04:00
  • 879c30a5e5 fix(flac): add FLAC frame-sync scan to getAlignedSegmentSize; extend IFormatDecoder rawData param daniel-c-harvey 2026-06-11 09:08:33 -04:00
  • a2771c71aa fix(mp3): guard sub-frame tail in getAlignedSegmentSize to prevent over-read past availableBytes daniel-c-harvey 2026-06-11 09:04:53 -04:00
  • 81b8796ba5 fix: send ReleaseType as int in CmsTrackService.UpdateAsync daniel-c-harvey 2026-06-11 08:50:10 -04:00
  • 489215e415 fix: send ReleaseType as int not string in CmsTrackService.UpdateAsync daniel-c-harvey 2026-06-11 08:49:00 -04:00
  • b7b5933b25 docs(parallax): fold in resolved JS-placement and direction decisions daniel-c-harvey 2026-06-11 08:48:57 -04:00
  • c4930e80ba feat(audio): add FLAC IFormatDecoder for chunked streaming + seek daniel-c-harvey 2026-06-11 08:40:53 -04:00
  • b04081b960 feat(audio): add Mp3FormatDecoder streaming strategy daniel-c-harvey 2026-06-11 08:40:52 -04:00
  • bd6bd4d827 docs(plan): spec ParallaxImage shared component (Phase 7) daniel-c-harvey 2026-06-11 08:36:00 -04:00
  • c835a54652 docs: record Phase 1.2 Wave 1 progress; update processor, client, and API CLAUDE.md daniel-c-harvey 2026-06-11 08:23:56 -04:00
  • 909d259df9 Merge branch 'p1.2-w1-t2-decoder-interface' into dev daniel-c-harvey 2026-06-11 08:20:12 -04:00
  • f10e20a0e2 Merge branch 'p1.2-w1-t1-format-processors' into dev daniel-c-harvey 2026-06-11 08:20:05 -04:00
  • 009f565b73 fix: remove dead CalculateByteOffset C# shim; guard AudioPlayer.calculateByteOffset on parsed format daniel-c-harvey 2026-06-11 06:13:52 -04:00
  • 4a46ec36b3 fix(mp3): remove dead FrameSize field, fix CBR duration ID3 exclusion, add MPEG2 bitrate table, pin CBR test assertions daniel-c-harvey 2026-06-11 06:13:20 -04:00
  • 0b0bcb3dee refactor(audio): extract IFormatDecoder/WavFormatDecoder and wire Content-Type to JS format selection daniel-c-harvey 2026-06-11 06:08:09 -04:00
  • 34e7f2f8ed docs(plan): move Phase 6 CMS Enhancements (6.1 dashboard, 6.3 batch upload) to COMPLETED.md daniel-c-harvey 2026-06-11 05:49:33 -04:00
  • 3bb8104967 feat(audio): add MP3 and FLAC upload support via format-routed processors daniel-c-harvey 2026-06-11 05:49:17 -04:00
  • a82bd875d9 Merge branch 'p6-w2-batch-upload': batch upload page daniel-c-harvey 2026-06-10 21:44:47 -04:00
  • 72171c9374 feat(cms): add batch upload page for multi-track releases at /tracks/upload daniel-c-harvey 2026-06-10 21:43:31 -04:00
  • 480c961a09 Merge branch 'p6-w1-t2-data-model': ReleaseType + TrackNumber data model daniel-c-harvey 2026-06-10 21:36:28 -04:00
  • 754dc311a6 Merge branch 'p6-w1-t1-cms-dashboard': CMS home dashboard daniel-c-harvey 2026-06-10 21:36:17 -04:00
  • d47a5e00af feat(tracks): add ReleaseType and TrackNumber to track metadata model and CMS edit form daniel-c-harvey 2026-06-10 21:36:00 -04:00
  • 77dee5eac5 feat(cms): replace home redirect with catalogue dashboard of track/album/genre cards daniel-c-harvey 2026-06-10 21:35:59 -04:00
  • f8186fb7c7 docs: move Phase 1.1 to COMPLETED.md; update DeepDrftContent CLAUDE.md for float and padded WAV support daniel-c-harvey 2026-06-10 20:42:58 -04:00
  • 092ac0b5f2 Merge branch 'p1-w1-wav-format-extensions' into dev daniel-c-harvey 2026-06-10 20:41:04 -04:00
  • 3953229ae4 docs(plan): confirm Phase 6 batch-upload decisions; renumber CMS Enhancements daniel-c-harvey 2026-06-10 20:40:42 -04:00
  • 8d80d43a47 test: assert data region in float and padded-container conversion tests; add TryExtractPcm null-return coverage daniel-c-harvey 2026-06-10 20:08:45 -04:00
  • eddbb00cd9 feat(audio): accept EXTENSIBLE IEEE-float and padded 24-in-32 WAV daniel-c-harvey 2026-06-10 20:04:55 -04:00
  • aa1f7d50f1 docs(plan): spec Phase 2 CMS enhancements — home dashboard and batch upload daniel-c-harvey 2026-06-10 19:34:10 -04:00
  • b4cda76114 fix: Cover Art Upload Enable State daniel-c-harvey 2026-06-10 19:21:39 -04:00
  • 38529a962a docs(plan): add Phase 1.1 Extended WAV format support daniel-c-harvey 2026-06-10 15:31:25 -04:00
  • d2a9475ba2 Merge branch 'extensible-wav-support' into dev daniel-c-harvey 2026-06-10 15:27:47 -04:00
  • e84823be39 docs: update AudioProcessor notes for EXTENSIBLE-PCM WAV support daniel-c-harvey 2026-06-10 15:26:50 -04:00
  • 6c602170a9 fix(audio): guard EXTENSIBLE fmt OOB read on truncated buffer; document padded-container gap daniel-c-harvey 2026-06-10 15:24:31 -04:00
  • 88ac5b2c88 fix(audio): support WAVE_FORMAT_EXTENSIBLE PCM WAVs, normalizing them to standard PCM on upload daniel-c-harvey 2026-06-10 15:20:34 -04:00
  • 0f5eaa42b5 Merge branch 'soft-delete-fix' into dev daniel-c-harvey 2026-06-10 14:32:50 -04:00
  • f0185587f7 fix(data): route all TrackRepository queries through soft-delete-filtered Query daniel-c-harvey 2026-06-10 14:32:31 -04:00
  • 0a5ddfdad8 Merge branch 'seek-load-race' into dev daniel-c-harvey 2026-06-10 14:31:48 -04:00
  • 8b94a5fdf7 fix: assign seek CTS synchronously and guard load finally to stop seek/load race daniel-c-harvey 2026-06-10 14:30:12 -04:00
  • fb27918ed6 fix: guard LoadTrackStreaming OCE catch with loadCts identity so an in-flight seek isn't clobbered mid-load daniel-c-harvey 2026-06-10 14:22:35 -04:00
  • 691d904273 Merge branch 'track-new-image' into dev daniel-c-harvey 2026-06-10 14:18:44 -04:00
  • ded5a3e5eb feat(manager): add optional cover art upload to Add Track form daniel-c-harvey 2026-06-10 14:14:35 -04:00
  • f25d0f624f Merge branch 'seek-hardening' into dev daniel-c-harvey 2026-06-10 13:25:17 -04:00
  • 43f54cb950 Merge branch 'p2-w1-filter-views' into dev daniel-c-harvey 2026-06-10 12:43:33 -04:00
  • f40940b957 fix: guard SeekBeyondBuffer OCE catch with when(seekCts.IsCancellationRequested) so timeout OCEs fall through to error handler daniel-c-harvey 2026-06-10 11:08:54 -04:00
  • 10256677ac docs: close Phase 2.2/2.3 — move to COMPLETED.md, update DeepDrftPublic proxy CLAUDE.md daniel-c-harvey 2026-06-10 10:58:16 -04:00
  • 6fe7663667 fix: harden seek — timeout no longer swallowed as cancel, rapid seek-on-seek no longer clears active seek flag daniel-c-harvey 2026-06-10 10:55:49 -04:00
  • 5cae83b9ed feat: add search/album/genre filtering and /albums + /genres browse pages daniel-c-harvey 2026-06-10 10:54:56 -04:00
  • d9b92e0703 Merge branch 'seek-cancel-fix' into dev daniel-c-harvey 2026-06-10 09:03:11 -04:00
  • 0fd1977353 fix: silence false error log when streaming is cancelled during seek daniel-c-harvey 2026-06-10 09:01:59 -04:00