daniel-c-harvey
77d0562b08
feature: Dark Theme Home & About Styles
2026-06-19 23:15:26 -04:00
daniel-c-harvey
aeda7e67a8
Merge p19-w3-editmodal-holder into dev (register EditModalSaveContextHolder so AuthBlocks Users/Registrations pages render)
2026-06-19 23:12:36 -04:00
daniel-c-harvey
62fe27224c
fix: register EditModalSaveContextHolder in DeepDrftManager DI
...
ModelView has a required [Inject] of this type; without it navigating to /useradmin/users or /useradmin/registrations terminated the circuit. Matches the registration pattern from SkipperHaven.
2026-06-19 23:10:08 -04:00
daniel-c-harvey
0708bb7352
docs: correct pending-registration route references to api/pendingregistration
2026-06-19 22:53:59 -04:00
daniel-c-harvey
e6d5b9b77a
Merge p19-w2-mailtrap-fromaddress into dev (wire AuthBlocks:Email:From so invite-email sends succeed)
2026-06-19 22:48:06 -04:00
daniel-c-harvey
04847391ad
fix: wire AuthBlocks:Email:From into EmailConnection.FromAddress
...
Mailtrap rejected invite sends because FromAddress was never populated. Adds the missing config assignment alongside Host/Token, and documents the From key in authblocks.example.json.
2026-06-19 22:45:49 -04:00
daniel-c-harvey
3d71b6836e
docs: correct Wave 2 hero detail, add Wave 3 note to Phase 18 COMPLETED entry
2026-06-19 22:08:04 -04:00
daniel-c-harvey
833b5a921e
Merge p18-w3-hero-dark-legibility into dev (Phase 18 Wave 3 — hero text + button dark-mode legibility)
2026-06-19 22:05:58 -04:00
daniel-c-harvey
3bf95538bd
fix: dark btn-primary hover uses green-interactive (#429d6a) not green-light (#2A5C4F) so contrast improves on hover
2026-06-19 22:05:32 -04:00
daniel-c-harvey
eb7e977f3c
feature: AppBar clearance & Theming
2026-06-19 22:04:57 -04:00
daniel-c-harvey
0b8593950b
docs: reflect Phase 19.1/19.2 landing (CMS nav drawer + auth-state DefaultLayout)
2026-06-19 22:04:02 -04:00
daniel-c-harvey
51ac1a76de
fix(dark): hero text + button legibility on navy ground (Phase 18 W3)
...
Bind page-text/page-text-muted tokens directly in hero base rules (drop
:global overrides); dark-mode overrides for btn-primary (green-accent fill)
and btn-ghost (white text, light border).
2026-06-19 22:00:26 -04:00
daniel-c-harvey
949bccfb8e
Merge p19-w1-t2-public-route-layout into dev (auth-state-driven DefaultLayout for public CMS routes)
2026-06-19 21:57:44 -04:00
daniel-c-harvey
cfaf63468d
Merge p19-w1-t1-cms-nav-drawer into dev (CMS nav drawer surfacing AuthBlocks user-admin + SuperRegister)
2026-06-19 21:57:37 -04:00
daniel-c-harvey
d6dcd82a53
fix: gate SuperRegister nav link to UserAdmin role
...
Provision User nav link was visible to all authenticated CMS users but its target page is UserAdmin-gated. Wraps the MudNavLink in HierarchicalRoleAuthorizeView matching the UserAdminMenu pattern.
2026-06-19 21:57:00 -04:00
daniel-c-harvey
3485acf3a8
feat: auth-state-driven DefaultLayout for CMS public routes
...
Resolve Routes.razor DefaultLayout from cascaded AuthenticationState so unauthenticated AuthBlocks pages (/account/login, /account/register) render in lean CmsHomeLayout instead of the authenticated CmsLayout shell.
2026-06-19 21:16:42 -04:00
daniel-c-harvey
c04c2a9e98
docs: reflect Phase 18 landing; fix palette-file claim in CLAUDE.md
2026-06-19 21:16:40 -04:00
daniel-c-harvey
f1276faabc
feat(cms): add nav drawer to CmsLayout
...
Add a MudDrawer with app-bar toggle linking Catalogue, Releases, Upload, SuperRegister, and the self-gating UserAdminMenu fragment so user-admin pages are reachable.
2026-06-19 21:06:47 -04:00
daniel-c-harvey
6029e226d5
Merge p18-w2-theme-followups into dev (Phase 18 Wave 2 — appbar navy, dark hero legibility, true page ground, green-on-green play chip)
2026-06-19 21:01:24 -04:00
daniel-c-harvey
135cc48301
fix: correct AppbarBackground dark-mode comment — appbar is lighter than #0D1B2A page ground, not the ground itself
2026-06-19 21:00:44 -04:00
daniel-c-harvey
54766fd5fc
docs: correct Phase 19 to CMS-only host model (drop DeepDrftPublic track)
...
All three AuthBlocks account paths live on DeepDrftManager; public registration is an unauthenticated CMS route like the CMS login. Path 2 reduces to a single auth-state-driven DefaultLayout fix (SkipperHaven pattern).
2026-06-19 20:46:14 -04:00
daniel-c-harvey
fcc95b9195
style: Phase 18 Wave 2 — appbar navy, dark hero legibility, true page ground, green-on-green play chip
2026-06-19 20:32:21 -04:00
daniel-c-harvey
042641d841
docs: expand Phase 19 to all three AuthBlocks registration paths + reset brief
...
Cover admin provision-now, public self-service redeem, and admin invite-by-email across CMS + public-site tracks. Add standalone AuthBlocks password-reset team brief.
2026-06-19 19:18:53 -04:00
daniel-c-harvey
0358df82ac
feat: Player & Menu Styles
2026-06-19 19:18:40 -04:00
daniel-c-harvey
0f7088fe86
Merge p18-w1-theme-dark-remediation into dev (Phase 18 dark-mode token pass)
2026-06-19 19:12:26 -04:00
daniel-c-harvey
5408d0779c
fix: scope play-glyph override to dark mode, fix connect-option hover, tokenize bio placeholder, correct popover comment
2026-06-19 19:04:05 -04:00
daniel-c-harvey
abe94953b9
docs: add Phase 19 user-management CMS wiring plan + product note
2026-06-19 19:02:40 -04:00
daniel-c-harvey
03fdcda054
style: theme-aware token pass for dark-mode surfaces (Phase 18)
...
Re-point neutral page surfaces, play-chip, and default popover from constant brand tokens to theme-aware aliases defined twice in deepdrft-tokens.css. Decorative navy/green sections and bespoke dark-glass panels untouched. Appbar-navy symptom deferred (palette C#, out of CSS scope).
2026-06-19 18:12:35 -04:00
daniel-c-harvey
5298cab9b1
feature: Re-enable Dark Mode Toggle & App Bar Styles & Mobile App Bar Fixes
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 2m9s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 4m7s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m34s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m31s
2026-06-19 17:48:26 -04:00
daniel-c-harvey
e05d93a67b
docs: document upload staging directory and Upload:StagingPath config
2026-06-19 17:45:52 -04:00
daniel-c-harvey
fd4fdd2624
docs: add Phase 18 theme/dark-mode remediation plan + product note
2026-06-19 17:41:11 -04:00
daniel-c-harvey
639f4741e6
Merge upload-temp-disk-fix into dev (stage large audio uploads on data disk instead of /tmp)
2026-06-19 17:37:26 -04:00
daniel-c-harvey
d7071fdbc2
fix: always delete staging file on mid-copy abort
...
Build the staging path before the copy in both UploadTrack and ReplaceAudio so the finally block deletes it on cancellation or IO error, not only on success.
2026-06-19 17:36:06 -04:00
daniel-c-harvey
37cf19c405
fix: stage audio uploads on data disk instead of /tmp
...
Relocate both the framework multipart buffer (via ASPNETCORE_TEMP) and the controller staging file to a configurable data-disk directory, so large WAV/FLAC/MP3 uploads no longer fail on the host's small tmpfs.
2026-06-19 17:25:51 -04:00
daniel-c-harvey
37bbfb947f
docs: note footer PRIVACY button + centered MudOverlay privacy modal
2026-06-19 17:09:37 -04:00
daniel-c-harvey
261b11436e
Merge privacy-footer-overlay into dev (PRIVACY footer button + centered overlay note)
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 2m11s
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m29s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 3m56s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m33s
Deploy DeepDrftManager / Deploy (push) Successful in 1m29s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m29s
2026-06-19 17:02:17 -04:00
daniel-c-harvey
280dbbcbc9
style: DRY footer btn CSS, add trailing newline, drop wrong section ordinal
2026-06-19 16:59:01 -04:00
daniel-c-harvey
ce17a685e0
docs: reflect Phase 17 Wave 17.3 landing; Phase 17 complete
2026-06-19 16:48:48 -04:00
daniel-c-harvey
64379c8901
feat: move footer privacy note behind PRIVACY overlay button
2026-06-19 16:48:46 -04:00
daniel-c-harvey
1f8802363c
Merge p17-w3-embed-panel into dev (Phase 17 Wave 17.3: Fixed embed queue panel + collapse/resize handshake)
2026-06-19 16:38:38 -04:00
daniel-c-harvey
58cdb4d9dc
fix: isolate multi-embed resize handshake with per-snippet token
...
ForRelease mints a per-call token used as the iframe id and threaded into the src as EmbedId; the host script matches on it so multiple embeds resize independently. ForTrack unchanged.
2026-06-19 16:32:59 -04:00
daniel-c-harvey
97cce691db
docs: document upload duplicate-detection rule, release/exists endpoint, and FindOrCreateRelease WasCreated contract
2026-06-19 16:25:50 -04:00
daniel-c-harvey
d0be26bb3e
Merge upload-duplicate-detection into dev (block duplicate-release uploads by title+artist)
2026-06-19 16:22:28 -04:00
daniel-c-harvey
466084b5a3
feat: Phase 17.3 — Fixed embed queue panel with collapse/expand iframe resize (OQ1 Option A)
...
Read-only inline queue panel below the release embed's player bar; row-jump reuses PlayRelease. ForRelease mints a taller iframe plus a postMessage resize listener for the collapse toggle; ForTrack unchanged.
2026-06-19 16:21:45 -04:00
daniel-c-harvey
558ff4b4c6
fix: close TOCTOU in CREATE path; add anti-forgery, loose-track, and case-sensitivity tests
...
FindOrCreateRelease now returns (ReleaseDto, bool WasCreated); the CREATE path in UploadAsync
rejects WasCreated=false as a duplicate rather than silently attaching on a lost race.
2026-06-19 15:55:08 -04:00
daniel-c-harvey
bd85507308
Block duplicate-release uploads by (title, artist): pre-flight check + server 409 backstop, with within-batch Cut attach via releaseId
2026-06-19 15:44:41 -04:00
daniel-c-harvey
fbd298b9c3
docs: reflect Phase 17 Wave 2 (docked overlay + Add-to-Queue) and Phase 16.5 capstone landing
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 3m2s
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m24s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 4m2s
Package install tarball / package (push) Successful in 6s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m34s
Deploy DeepDrftManager / Deploy (push) Successful in 1m31s
Deploy DeepDrftPublic / Deploy (push) Successful in 2m0s
beta-20260619-fbd298b
2026-06-19 15:42:17 -04:00
daniel-c-harvey
3da6591194
docs(phase-16): reflect live Plays card in stats CLAUDE.md
...
HomeStatsDto gains TotalPlays + UniqueListeners; StatsController now composes ITrackService + IEventService (best-effort play/listener reads).
2026-06-19 15:41:17 -04:00
daniel-c-harvey
da60296cf8
Merge p17-w2-t2-add-to-queue into dev (Phase 17 Wave 17.4: Add-to-Queue affordance)
2026-06-19 15:35:19 -04:00
daniel-c-harvey
4320ea8029
Merge p17-w2-t1-docked-overlay into dev (Phase 17 Wave 17.2: docked queue overlay + ClearUpcoming)
2026-06-19 15:34:59 -04:00