daniel-c-harvey
165d935ae7
feat: LevelMeterFab tints the minimized-dock FAB icon by live audio level
2026-06-08 07:15:57 -04:00
daniel-c-harvey
b7b539743b
docs: add LevelMeterFab product spec for minimized-dock level meter
2026-06-08 06:59:03 -04:00
daniel-c-harvey
3f02686012
docs: move Phase 2.5 Stream Now to COMPLETED.md
2026-06-07 18:39:49 -04:00
daniel-c-harvey
9015411f12
Merge branch 'p2-w5-stream-now' into dev
2026-06-07 18:35:37 -04:00
daniel-c-harvey
0d4ef369b9
feat: Stream Now instant-play of a random track from the nav button
2026-06-07 18:33:08 -04:00
daniel-c-harvey
4b1a68aa29
docs: close §2.5 open question — add GET api/track/random endpoint
2026-06-07 17:21:50 -04:00
daniel-c-harvey
ea535e0c7e
Merge branch 'frame-player-cors' into dev
2026-06-07 17:19:38 -04:00
daniel-c-harvey
ceb0984262
fix: force FramePlayer to WASM-only render mode; document CORS policy intent
2026-06-07 17:16:49 -04:00
daniel-c-harvey
94a2789127
Merge branch 'seek-state-fix' into dev
2026-06-07 17:15:45 -04:00
daniel-c-harvey
2b4cdeaf72
docs: spec Stream Now random-track instant-play feature (PLAN 2.5)
2026-06-07 16:56:56 -04:00
daniel-c-harvey
7cd85f0bb1
fix: convert absolute pause position to buffer-relative on resume after seek-beyond-buffer
2026-06-07 16:55:31 -04:00
daniel-c-harvey
465cb1ff6c
feat: allow /FramePlayer to be embedded in external iframes via CORS + CSP frame-ancestors
2026-06-07 16:53:49 -04:00
daniel-c-harvey
40e001cc7a
docs: move Phase 2.1 cover art to COMPLETED.md
2026-06-07 16:46:17 -04:00
daniel-c-harvey
a6eba5d8c3
Merge branch 'p2-w2-t2-cms-image' into dev
2026-06-07 16:41:41 -04:00
daniel-c-harvey
c766cdf5b8
Merge branch 'p2-w2-t1-public-image' into dev
2026-06-07 16:41:39 -04:00
daniel-c-harvey
905d7fa409
Merge branch 'share-button' into dev
2026-06-07 16:41:35 -04:00
daniel-c-harvey
c4dc382bd7
fix: client-side image type guard and deselect affordance on TrackEdit
2026-06-07 16:41:02 -04:00
daniel-c-harvey
fa28bfb5cc
feat: add Share popover to track detail page
2026-06-07 16:38:37 -04:00
daniel-c-harvey
5703ac2752
feat: CMS cover-art upload on track edit page
2026-06-07 16:33:53 -04:00
daniel-c-harvey
10cb96ef7c
feat: add public image proxy and wire TrackCard cover art to api/image/{entryKey}
2026-06-07 16:33:24 -04:00
daniel-c-harvey
f6616ed109
Merge branch 'p2-w1-cover-art-api' into dev
2026-06-07 16:27:42 -04:00
daniel-c-harvey
6ef88bef38
docs: document SetMinimized as single mutation point in AudioPlayerBar
2026-06-07 16:20:58 -04:00
daniel-c-harvey
7bd9a434ca
Merge branch 'player-minimize-sync' into dev
2026-06-07 16:16:44 -04:00
daniel-c-harvey
627d5623f0
feat: image vault + cover-art API (upload/serve endpoints, ImagePath metadata link)
2026-06-07 16:16:38 -04:00
daniel-c-harvey
1e9313a5d7
docs: move iframe player and backward seek to COMPLETED.md
2026-06-07 16:15:30 -04:00
daniel-c-harvey
5bc1b63b61
fix: route all _isMinimized mutations through SetMinimized so spacer stays in sync
...
Expand, ToggleMinimized, and Close now share one guarded mutator that fires
OnMinimized and renders. Fixed prerender branch left as a direct assignment.
2026-06-07 16:14:55 -04:00
daniel-c-harvey
9ead3bf2a7
docs: add player minimize/spacer sync design brief
2026-06-07 15:24:19 -04:00
daniel-c-harvey
eecab12f48
Merge branch 'wav-duration-fix' into dev
2026-06-07 15:10:58 -04:00
daniel-c-harvey
858110306c
fix: preserve full-track duration after seek-beyond-buffer reinit
2026-06-07 15:09:48 -04:00
daniel-c-harvey
4e6ec75000
Merge branch 'seek-fix' into dev
2026-06-07 15:07:13 -04:00
daniel-c-harvey
8e4d783ec2
chore: Move TrackCard & Friends
2026-06-07 15:06:58 -04:00
daniel-c-harvey
daa334a947
fix: seek lower-bound guard and pointer-down callback ordering
...
AudioPlayer.ts: route seeks below bufferStart to seekBeyondBuffer;
previous missing lower-bound caused clamped playback after first seek.
WaveformSeeker: fire OnSeekStart/OnSeekChange before capturePointer
await to prevent fast-click race that locked _isSeeking true.
Latent: WavOffsetService encodes remaining-only DataSize, overwriting
JS this.duration after seek — not fixed here, scope separately.
2026-06-07 15:02:34 -04:00
daniel-c-harvey
bd15b66aee
feature: Home Page & Footer Mobile Friendly
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 1m56s
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m3s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 3m22s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m33s
Deploy DeepDrftManager / Deploy (push) Successful in 1m27s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m29s
2026-06-07 13:48:12 -04:00
daniel-c-harvey
4072197313
Merge branch 'hero-animation-seam' into dev
2026-06-07 13:05:33 -04:00
daniel-c-harvey
22452815c6
docs: mark WASM seam G1/R1 resolved in audit doc
2026-06-07 13:02:21 -04:00
daniel-c-harvey
8ba3a10e15
fix: gate hero fade-up on SSR pass only to stop double-fire on WASM hydration
2026-06-07 12:57:54 -04:00
daniel-c-harvey
ba31e124f2
docs: WASM SSR-handoff seam audit and remediation plan
2026-06-07 10:09:40 -04:00
daniel-c-harvey
86d70c1af6
Merge branch 'hero-xs' into dev
2026-06-07 10:06:23 -04:00
daniel-c-harvey
e04f780014
fix: stack hero-actions buttons full-width at xs (<=599px)
2026-06-07 10:06:20 -04:00
daniel-c-harvey
80a79c1232
Merge branch 'xs-responsive' into dev
2026-06-07 10:01:06 -04:00
daniel-c-harvey
75766154bb
fix: correct xs breakpoint from 600px to 599px in Home.razor.css (sm starts at 600px)
2026-06-07 09:50:09 -04:00
daniel-c-harvey
cb9c5f9b3c
fix: add trailing newline to DeepDrftFooter.razor.css
2026-06-07 09:45:38 -04:00
daniel-c-harvey
5d3ea49de8
fix: stack NowPlayingStats vertically and tighten footer padding at xs (<=599px)
2026-06-07 09:43:51 -04:00
daniel-c-harvey
a2b8b12bf0
Merge branch 'p1-w1-original-filename' into dev
2026-06-07 09:03:13 -04:00
daniel-c-harvey
fcaf8f0bf6
Merge branch 'waveform-fixes' into dev
2026-06-07 09:00:50 -04:00
daniel-c-harvey
3de88c786a
feat: capture and display original upload filename for tracks
2026-06-07 09:00:17 -04:00
daniel-c-harvey
5cdd69d7d9
fix: WaveformSeeker resize drift and mobile fast-tap crash
...
- Add ResizeObserver (JS observeResize/unobserveResize + C# OnWidthChanged)
so _elementWidth stays current after window resize, fixing hover indicator drift
- Move _isSeeking = true before capturePointer await so a fast mobile tap
that fires pointerup mid-await still commits the seek
- Replace all Duration!.Value null-forgiving dereferences with explicit
Duration is > 0 guards in all four pointer event handlers
- Silence post-dispose resize callback rejections with .catch(() => {})
2026-06-07 09:00:10 -04:00
daniel-c-harvey
6dfb3a2f23
fix: AudioPlayerBar Styles
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m10s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 3m31s
Deploy DeepDrftManager / Deploy (push) Successful in 1m24s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m29s
2026-06-07 08:19:52 -04:00
daniel-c-harvey
54939721e4
docs: move Phase 6 responsive home page from PLAN.md to COMPLETED.md
2026-06-07 07:56:22 -04:00
daniel-c-harvey
ec88759b55
Merge branch 'p6-w1-home-mobile' into dev
2026-06-07 07:53:32 -04:00