Commit Graph

  • 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