This website requires JavaScript.
d6dcd82a53
fix: gate SuperRegister nav link to UserAdmin role
daniel-c-harvey
2026-06-19 21:57:00 -04:00
3485acf3a8
feat: auth-state-driven DefaultLayout for CMS public routes
daniel-c-harvey
2026-06-19 21:16:42 -04:00
c04c2a9e98
docs: reflect Phase 18 landing; fix palette-file claim in CLAUDE.md
daniel-c-harvey
2026-06-19 21:16:40 -04:00
f1276faabc
feat(cms): add nav drawer to CmsLayout
daniel-c-harvey
2026-06-19 21:06:47 -04:00
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)
daniel-c-harvey
2026-06-19 21:01:24 -04:00
135cc48301
fix: correct AppbarBackground dark-mode comment — appbar is lighter than #0D1B2A page ground, not the ground itself
daniel-c-harvey
2026-06-19 21:00:44 -04:00
54766fd5fc
docs: correct Phase 19 to CMS-only host model (drop DeepDrftPublic track)
daniel-c-harvey
2026-06-19 20:46:14 -04:00
fcc95b9195
style: Phase 18 Wave 2 — appbar navy, dark hero legibility, true page ground, green-on-green play chip
daniel-c-harvey
2026-06-19 20:32:21 -04:00
042641d841
docs: expand Phase 19 to all three AuthBlocks registration paths + reset brief
daniel-c-harvey
2026-06-19 19:18:53 -04:00
0358df82ac
feat: Player & Menu Styles
daniel-c-harvey
2026-06-19 19:18:40 -04:00
0f7088fe86
Merge p18-w1-theme-dark-remediation into dev (Phase 18 dark-mode token pass)
daniel-c-harvey
2026-06-19 19:12:26 -04:00
5408d0779c
fix: scope play-glyph override to dark mode, fix connect-option hover, tokenize bio placeholder, correct popover comment
daniel-c-harvey
2026-06-19 19:04:05 -04:00
abe94953b9
docs: add Phase 19 user-management CMS wiring plan + product note
daniel-c-harvey
2026-06-19 19:02:40 -04:00
03fdcda054
style: theme-aware token pass for dark-mode surfaces (Phase 18)
daniel-c-harvey
2026-06-19 18:12:35 -04:00
5298cab9b1
feature: Re-enable Dark Mode Toggle & App Bar Styles & Mobile App Bar Fixes
daniel-c-harvey
2026-06-19 17:48:26 -04:00
e05d93a67b
docs: document upload staging directory and Upload:StagingPath config
daniel-c-harvey
2026-06-19 17:45:52 -04:00
fd4fdd2624
docs: add Phase 18 theme/dark-mode remediation plan + product note
daniel-c-harvey
2026-06-19 17:41:11 -04:00
639f4741e6
Merge upload-temp-disk-fix into dev (stage large audio uploads on data disk instead of /tmp)
daniel-c-harvey
2026-06-19 17:37:26 -04:00
d7071fdbc2
fix: always delete staging file on mid-copy abort
daniel-c-harvey
2026-06-19 17:36:06 -04:00
37cf19c405
fix: stage audio uploads on data disk instead of /tmp
daniel-c-harvey
2026-06-19 17:25:51 -04:00
37bbfb947f
docs: note footer PRIVACY button + centered MudOverlay privacy modal
daniel-c-harvey
2026-06-19 17:09:37 -04:00
261b11436e
Merge privacy-footer-overlay into dev (PRIVACY footer button + centered overlay note)
daniel-c-harvey
2026-06-19 17:02:17 -04:00
280dbbcbc9
style: DRY footer btn CSS, add trailing newline, drop wrong section ordinal
daniel-c-harvey
2026-06-19 16:59:01 -04:00
ce17a685e0
docs: reflect Phase 17 Wave 17.3 landing; Phase 17 complete
daniel-c-harvey
2026-06-19 16:48:48 -04:00
64379c8901
feat: move footer privacy note behind PRIVACY overlay button
daniel-c-harvey
2026-06-19 16:48:46 -04:00
1f8802363c
Merge p17-w3-embed-panel into dev (Phase 17 Wave 17.3: Fixed embed queue panel + collapse/resize handshake)
daniel-c-harvey
2026-06-19 16:38:38 -04:00
58cdb4d9dc
fix: isolate multi-embed resize handshake with per-snippet token
daniel-c-harvey
2026-06-19 16:32:59 -04:00
97cce691db
docs: document upload duplicate-detection rule, release/exists endpoint, and FindOrCreateRelease WasCreated contract
daniel-c-harvey
2026-06-19 16:25:50 -04:00
d0be26bb3e
Merge upload-duplicate-detection into dev (block duplicate-release uploads by title+artist)
daniel-c-harvey
2026-06-19 16:22:28 -04:00
466084b5a3
feat: Phase 17.3 — Fixed embed queue panel with collapse/expand iframe resize (OQ1 Option A)
daniel-c-harvey
2026-06-19 16:21:45 -04:00
558ff4b4c6
fix: close TOCTOU in CREATE path; add anti-forgery, loose-track, and case-sensitivity tests
daniel-c-harvey
2026-06-19 15:55:08 -04:00
bd85507308
Block duplicate-release uploads by (title, artist): pre-flight check + server 409 backstop, with within-batch Cut attach via releaseId
daniel-c-harvey
2026-06-19 15:44:41 -04:00
fbd298b9c3
docs: reflect Phase 17 Wave 2 (docked overlay + Add-to-Queue) and Phase 16.5 capstone landing
beta-20260619-fbd298b
daniel-c-harvey
2026-06-19 15:42:17 -04:00
3da6591194
docs(phase-16): reflect live Plays card in stats CLAUDE.md
daniel-c-harvey
2026-06-19 15:41:17 -04:00
da60296cf8
Merge p17-w2-t2-add-to-queue into dev (Phase 17 Wave 17.4: Add-to-Queue affordance)
daniel-c-harvey
2026-06-19 15:35:19 -04:00
4320ea8029
Merge p17-w2-t1-docked-overlay into dev (Phase 17 Wave 17.2: docked queue overlay + ClearUpcoming)
daniel-c-harvey
2026-06-19 15:34:59 -04:00
678d3f66ad
Merge p16-w5-t2-privacy-footer into dev (anonId privacy disclosure footer line)
daniel-c-harvey
2026-06-19 15:33:28 -04:00
be04e53a97
Merge p16-w5-t1-plays-card into dev (Phase 16 Wave 16.5: home Plays-card live)
daniel-c-harvey
2026-06-19 15:31:37 -04:00
58b30d3c13
feat(footer): add anonId privacy disclosure line
daniel-c-harvey
2026-06-19 15:26:07 -04:00
be1a55fd37
feat(stats): flip home Plays card live (Phase 16.5)
daniel-c-harvey
2026-06-19 15:26:07 -04:00
9d0ce99a5d
fix: PlayRelease always materialises a defensive copy so Items alias can't wipe the queue on jump; add aliasing regression test
daniel-c-harvey
2026-06-19 15:23:20 -04:00
1d387c2a34
feat(player): add append-only "Add to Queue" buttons beside detail-page play affordances
daniel-c-harvey
2026-06-19 15:18:38 -04:00
fe3819f378
feat(player): docked queue overlay with reorder, remove, jump, and clear-upcoming
daniel-c-harvey
2026-06-19 15:18:25 -04:00
cfcc2693f2
docs: reflect raised upload cap (~1.86 GB) and 1200s response timeout
daniel-c-harvey
2026-06-19 15:14:07 -04:00
621c4f9cb3
docs(phase-16): draft anonId privacy-note copy; note deferred Postgres integration harness
daniel-c-harvey
2026-06-19 15:10:15 -04:00
67eeb38529
Merge fix-large-upload-cap into dev (raise CMS upload cap to ~1.86 GB + nginx timeouts)
daniel-c-harvey
2026-06-19 15:08:48 -04:00
9aa66e8a62
docs: resolve remaining seven Phase 17 open questions (all 11 now closed)
daniel-c-harvey
2026-06-19 15:08:39 -04:00
3b9ca700c9
raise upload size cap to ~1.86 GB and nginx timeouts to 1200s
daniel-c-harvey
2026-06-19 15:02:49 -04:00
4317a2f9e7
docs(phase-16): record 16.2 absorption + 16.3 anonId landing
daniel-c-harvey
2026-06-19 14:57:23 -04:00
297805b5a8
Merge p16-w3-anonid into dev (Phase 16 Wave 16.3: unique-listener anonId layer)
daniel-c-harvey
2026-06-19 14:43:46 -04:00
944f23a88c
docs: reflect Phase 17 Wave 17.1 landing (queue Move/RemoveAt + QueueList)
daniel-c-harvey
2026-06-19 14:43:36 -04:00
75e5d99aea
Merge p17-w1-queue-engine-list into dev (Phase 17 Wave 17.1: queue Move/RemoveAt + shared QueueList)
daniel-c-harvey
2026-06-19 14:38:25 -04:00
c084efa78e
feat(phase-16.3): light up anonId unique-listener layer
daniel-c-harvey
2026-06-19 14:37:55 -04:00
f296bbdf00
Add queue Move/RemoveAt + dormant-Enqueue coherence and shared QueueList (Phase 17.1)
daniel-c-harvey
2026-06-19 14:32:08 -04:00
ebbaa3f84f
docs: resolve four Phase 17 open questions (OQ1/OQ4/OQ8/OQ10), defer ReleaseGallery card affordance
daniel-c-harvey
2026-06-19 13:42:19 -04:00
a715f4b28d
Merge p16-w1-foundation into dev (Phase 16 Wave 16.1: anonymous play & share telemetry substrate)
daniel-c-harvey
2026-06-19 13:34:01 -04:00
90555dc4e0
docs: spec Phase 17 player-bar queue view (queue button, overlay/embed modes, add-to-queue)
daniel-c-harvey
2026-06-19 13:29:57 -04:00
0fbf81b23e
Merge branch 'dev' into p16-w1-foundation
daniel-c-harvey
2026-06-19 13:28:50 -04:00
4114aa0be4
docs: reflect embed new-tab title link and embed queue skip buttons
daniel-c-harvey
2026-06-19 13:22:29 -04:00
884ccab826
Merge p16-embed-newwindow into dev (embed: new-tab title link + queue skip buttons)
daniel-c-harvey
2026-06-19 13:17:36 -04:00
3c1998de4f
feat(embed): show skip-prev/next buttons in embed when queue exists
daniel-c-harvey
2026-06-19 13:10:50 -04:00
622ee940f4
fix(phase-16): forward X-Forwarded-For from EventProxyController so the API rate limiter partitions per client IP
daniel-c-harvey
2026-06-19 13:09:21 -04:00
18e171213c
feat: open player title link in new tab when embedded (Fixed mode)
daniel-c-harvey
2026-06-19 13:08:04 -04:00
e9c61bac1a
docs: reflect whole-release embeds, queue armed-idle state, and per-track share
daniel-c-harvey
2026-06-19 13:00:13 -04:00
dbd90ee52a
feat(phase-16): anonymous play & share telemetry substrate (wave 16.1)
daniel-c-harvey
2026-06-19 12:59:00 -04:00
1b7861e168
Merge p16-release-embed into dev (whole-release embeds + per-track share)
daniel-c-harvey
2026-06-19 12:55:11 -04:00
098020db32
feat: add per-track SharePopover to Cut detail track rows
daniel-c-harvey
2026-06-19 12:08:27 -04:00
912256d99a
Add whole-release embeds to FramePlayer and un-gate the release embed share affordance
daniel-c-harvey
2026-06-19 12:05:35 -04:00
1931574ad4
Merge gitattributes-knob-eol into dev (pin knob.js to LF, stop CRLF churn on Windows checkout)
daniel-c-harvey
2026-06-19 11:39:40 -04:00
25aba1cbb7
docs(phase-16): resolve decisions D1-D7; re-sequence waves bottom-up, card last
daniel-c-harvey
2026-06-19 11:32:24 -04:00
81d0028f2b
fix: pin knob.js to LF in .gitattributes to stop CRLF churn on Windows checkout
daniel-c-harvey
2026-06-19 11:32:18 -04:00
62007a6517
fix: Icons
daniel-c-harvey
2026-06-19 11:15:19 -04:00
13b07beb0b
fix: Styles & Links & Content
daniel-c-harvey
2026-06-19 11:15:09 -04:00
7711c5067c
docs: reflect DurationSeconds write on replace-audio
daniel-c-harvey
2026-06-19 10:15:59 -04:00
eaa71ebea3
Merge replace-audio-duration-sync into dev (sync DurationSeconds on audio replace via unconditional SetDuration)
daniel-c-harvey
2026-06-19 10:13:19 -04:00
e8359d5473
fix: replace-audio duration write now unconditional via SetDuration
daniel-c-harvey
2026-06-19 04:19:39 -04:00
7265754c27
fix: write DurationSeconds to SQL after replace-audio vault swap
daniel-c-harvey
2026-06-18 15:03:38 -04:00
abc832467d
docs(plan): add Phase 16 spec — anonymous play & share tracking
daniel-c-harvey
2026-06-18 14:28:02 -04:00
47919a226e
feature: Home page graphics
daniel-c-harvey
2026-06-18 14:25:08 -04:00
933b7145e5
Merge knob-js-deploy-fix into dev (commit compiled RCL knob JS so it ships in publish output)
daniel-c-harvey
2026-06-18 13:18:43 -04:00
f21647423a
docs: document track replace-audio endpoint and edit-form gating
daniel-c-harvey
2026-06-18 13:17:30 -04:00
df7acd9e80
docs: reflect live home-hero stats (duration column, stats endpoint, backfill, NowPlayingStats wiring)
daniel-c-harvey
2026-06-18 13:14:52 -04:00
3a4db834ac
fix: track compiled RCL knob JS for MapStaticAssets deployment
daniel-c-harvey
2026-06-18 13:14:09 -04:00
d12151278a
Merge cms-track-replace-gating into dev
daniel-c-harvey
2026-06-18 13:14:08 -04:00
ca90302f21
fix: register-new-then-remove-old in ReplaceTrackAudioAsync; replace wording in timeout messages; doc comment on ExistingTrackCount
daniel-c-harvey
2026-06-18 13:11:59 -04:00
16784b37f2
feat(cms): replace track audio in edit form, gate last-track delete
daniel-c-harvey
2026-06-18 12:59:56 -04:00
e9e6b6054f
Merge nowplaying-stats into dev (live home-hero aggregate stats + track duration column)
daniel-c-harvey
2026-06-18 12:58:54 -04:00
8fa330fbd3
fix: exclude live tracks under soft-deleted releases from home stats cut/mix figures
daniel-c-harvey
2026-06-18 12:42:23 -04:00
5f0422a263
Wire NowPlayingStats to live aggregates: add SQL track duration column, stats endpoint, and duration backfill
daniel-c-harvey
2026-06-18 11:53:49 -04:00
8ddecb4acc
about styles
daniel-c-harvey
2026-06-17 22:35:41 -04:00
17a35247c1
docs: mark About page follow-ups (2) + (4) resolved in COMPLETED.md
daniel-c-harvey
2026-06-17 22:27:10 -04:00
fb987acc18
Merge p12-w5-khabran-bio into dev (Khabran bio + multi-paragraph bio render)
daniel-c-harvey
2026-06-17 22:18:06 -04:00
b524b8e6ec
feature: Images edits
daniel-c-harvey
2026-06-17 22:18:01 -04:00
9cfc31f725
content(about): wire Khabran's bio + multi-paragraph render
daniel-c-harvey
2026-06-17 22:16:18 -04:00
d512a1d329
Merge p12-w4-pullquote into dev (widen desktop pull-quote, fix 960px snap)
daniel-c-harvey
2026-06-17 22:10:18 -04:00
4e2033e40c
fix(about): widen pull-quote desktop max-width 44ch to 70ch to end ribbon snap at 960px
daniel-c-harvey
2026-06-17 22:04:20 -04:00
8c811c411c
docs: mark About photo slots largely resolved in COMPLETED.md
daniel-c-harvey
2026-06-17 21:57:26 -04:00
44c17c8b73
Merge p12-w3-about-photos into dev (bio portraits, image swaps, circular framing, pull-quote width)
daniel-c-harvey
2026-06-17 21:52:25 -04:00
d961eadc93
feature: Cleanup Waveform Controls
daniel-c-harvey
2026-06-17 21:51:29 -04:00
c7d627b817
feat(about): wire bio portraits, swap images, circular frame, widen pull-quote
daniel-c-harvey
2026-06-17 21:45:55 -04:00