daniel-c-harvey
1e063d95f4
chore: Trigger CI
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 2m21s
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m33s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 4m17s
Package install tarball / package (push) Successful in 7s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m33s
Deploy DeepDrftManager / Deploy (push) Successful in 1m28s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m30s
2026-06-23 08:50:22 -04:00
daniel-c-harvey
1fdbec2533
Merge cors-manager-origin into dev
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 2m15s
Package install tarball / package (push) Successful in 6s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m35s
beta-20260623-1fdbec2
2026-06-23 08:21:33 -04:00
daniel-c-harvey
70842cb576
docs: add production install checklist
2026-06-23 08:15:56 -04:00
daniel-c-harvey
f2a0d39521
config: add app.deepdrft.com to API CORS allowlist
2026-06-23 08:15:55 -04:00
daniel-c-harvey
1bda2b7bea
docs: reflect Phase 23 SEO crawl directives as landed
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m29s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 4m7s
Deploy DeepDrftManager / Deploy (push) Successful in 1m23s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m28s
2026-06-23 07:40:57 -04:00
daniel-c-harvey
8773803712
feature: og default image
2026-06-23 07:40:42 -04:00
daniel-c-harvey
3cc11bcbb5
Merge p23-w1-t2-cms-noindex into dev
...
Phase 23 Track B: make DeepDrftManager uncrawlable — static robots.txt (Disallow: /) + blanket noindex meta in the CMS head. No env gate; the CMS is always uncrawlable.
2026-06-23 07:36:01 -04:00
daniel-c-harvey
0ba4fc6597
Merge p23-w1-t1-public-crawl-endpoints into dev
...
Phase 23 Track A: env-gated /robots.txt + /sitemap.xml on DeepDrftPublic. Thin controller + pure builders, reuses api/release + ReleaseRoutes + SeoOptions.BaseUrl. Non-prod uncrawlable; sitemap loc equals page canonical by construction.
2026-06-23 07:35:52 -04:00
daniel-c-harvey
7a0ccdd784
fix: correct WalkPageSize to 100 (actual server PageSize cap) and update comment
2026-06-23 07:33:24 -04:00
daniel-c-harvey
ca057dc630
chore: make DeepDrftManager uncrawlable and noindex (Phase 23.3)
...
Static robots.txt (Disallow: /) in wwwroot + blanket noindex meta in App.razor head. No env gate — the CMS is always uncrawlable. Defense in depth per spec OQ-C1.
2026-06-23 07:23:49 -04:00
daniel-c-harvey
5f4807cc4a
feature: Phase 23 Track A — env-gated /robots.txt + /sitemap.xml public crawl endpoints
2026-06-23 07:23:42 -04:00
daniel-c-harvey
9a4b79d377
docs: spec Phase 23 — SEO crawl directives (sitemap.xml, robots.txt, CMS noindex)
2026-06-23 07:10:20 -04:00
daniel-c-harvey
33383cd675
Merge p22-w2-jsonld-type-fix into dev
...
Deploy DeepDrftPublic / Build & Publish (push) Successful in 4m20s
Package install tarball / package (push) Successful in 6s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m25s
Fix JSON-LD @type serialization: concrete nodes were emitting a bare Type alongside @type because the attribute sat only on the abstract base override. Validator now clean.
beta-20260623-33383cd
2026-06-23 06:57:44 -04:00
daniel-c-harvey
56f7013314
fix: put [JsonPropertyName("@type")] on each concrete JsonLdNode override
...
System.Text.Json emitted both "@type" and a bare "Type" because the attribute was only on the abstract base member. Adds regression assertions for all node types.
2026-06-23 06:57:05 -04:00
daniel-c-harvey
2653e62eeb
docs: reflect Phase 22 SEO metadata component as landed
2026-06-23 06:21:52 -04:00
daniel-c-harvey
45bd599bdd
Merge p22-w1-seo-metadata-component into dev
...
Phase 22: parameterized SEO metadata component for the public site — SeoHead + typed JSON-LD builders, per-medium release schema, env-gated noindex (beta uncrawled), inline-safe JSON-LD escaping.
2026-06-23 06:16:31 -04:00
daniel-c-harvey
f976af0f7c
fix(seo): escape inline JSON-LD, per-release byArtist, soft-404 + env-gated noindex
...
Escape </>& in JSON-LD body to kill script-breakout; byArtist now uses the release artist; detail-page not-found branches emit noindex; default robots gated to Production via a PersistentState SeoEnvironment bridge.
2026-06-23 06:10:03 -04:00
daniel-c-harvey
f3b89ca9d7
feature: Phase 22 SEO metadata component for public site
...
One presentational SeoHead renders the full OG/Twitter/JSON-LD head surface at prerender via typed schema.org builders. Per-medium release schema, config-sourced canonicals, 404 noindex. Zero CMS change.
2026-06-23 05:41:55 -04:00
daniel-c-harvey
8752fc0c98
docs: resolve Phase 18 OQ7 seek-index granularity to 0.5s buckets
2026-06-23 05:36:25 -04:00
daniel-c-harvey
274d0ace62
Merge install-prep-analysis: installer prompts for AuthBlocks:Email:From
2026-06-23 05:28:17 -04:00
daniel-c-harvey
e3a4364b8c
docs(plan): Phase 18 OQ resolutions + VBR-safe accurate Opus seek model
2026-06-23 05:26:58 -04:00
daniel-c-harvey
564b704803
fix(installer): prompt for and write AuthBlocks:Email:From
...
Without this field, DeepDrftAPI throws InvalidOperationException on
startup. Adds the EMAIL_FROM prompt after EMAIL_TOKEN, writes "From"
into the Email JSON object, and unsets the variable on cleanup.
2026-06-23 05:26:48 -04:00
daniel-c-harvey
6af6677a12
docs: spec Phase 22 — parameterized SEO metadata component (public site)
2026-06-23 05:12:31 -04:00
daniel-c-harvey
1bdaeaa164
docs(plan): add Phase 18 Opus low-data streaming; resolve Phase 21 OQ5 (no MSE)
2026-06-23 04:58:21 -04:00
daniel-c-harvey
a84a99c309
docs: spec Phase 21 — windowed streaming buffer for bounded client memory
2026-06-23 00:14:44 -04:00
daniel-c-harvey
2c1571057a
feature: Manager Menu Styles and Page Titles
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 2m13s
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m23s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 4m4s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m33s
Deploy DeepDrftManager / Deploy (push) Successful in 1m28s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m28s
2026-06-22 23:04:49 -04:00
daniel-c-harvey
0b7d8e41e7
Merge account-nav-menu into dev
2026-06-22 22:42:48 -04:00
daniel-c-harvey
4833935925
feature: About Bio text
2026-06-22 22:41:39 -04:00
daniel-c-harvey
7917d56af3
feature: Manager Logos
2026-06-22 22:41:30 -04:00
daniel-c-harvey
1fd63fe368
Add AccountNavMenu to CmsLayout nav drawer
2026-06-22 22:39:21 -04:00
daniel-c-harvey
4e1f540945
Merge bump-cerebellum-final into dev
2026-06-22 22:28:10 -04:00
daniel-c-harvey
1ed518b018
chore: bump Cerebellum stack to NetBlocks 10.3.32 / BlazorBlocks 10.3.35 / AuthBlocks 10.3.39
...
Delivers the ResultDtoBase.From() null-crash fix to DeepDrft's
Users/Registrations pages.
2026-06-22 22:27:57 -04:00
daniel-c-harvey
7c41aa678d
Revert "Merge bisect-match-skipper into dev"
...
This reverts commit 475e5e671c , reversing
changes made to 0d1da9e63c .
2026-06-22 12:47:02 -04:00
daniel-c-harvey
475e5e671c
Merge bisect-match-skipper into dev
2026-06-22 12:24:00 -04:00
daniel-c-harvey
9971474403
bisect: pin DeepDrftHome to Skipper's known-good package versions
...
AuthBlocks* → 10.3.35, BlazorBlocks* → 10.3.32. Diagnostic downgrade to
isolate null-ref crash on Users/Registrations pages.
2026-06-22 12:23:19 -04:00
daniel-c-harvey
0d1da9e63c
docs: note Phase 20 visualizer-flash fix (coalesced --player-height publish)
2026-06-22 08:38:55 -04:00
daniel-c-harvey
d47c186045
Merge p20-theater-visualizer-flash into dev
2026-06-22 08:36:05 -04:00
daniel-c-harvey
670eaab34d
fix(visualizer): coalesce --player-height publish so Theater ease doesn't thrash the WebGL backing store
2026-06-22 08:19:53 -04:00
daniel-c-harvey
c58b1c9386
Merge bump-cerebellum-deps into dev
2026-06-21 11:55:40 -04:00
daniel-c-harvey
450204cdbf
Bump Cerebellum packages to fix null-Items crash on Users/Registrations pages
...
AuthBlocks → 10.3.38, BlazorBlocks → 10.3.34, NetBlocks → 10.3.31.
Pulls server-side null-Items guard (AuthBlocks) and BlazorBlocks render
guard. Direct refs for BlazorBlocks/NetBlocks raised to avoid NU1605
downgrade conflicts with AuthBlocks 10.3.38's transitive requirements.
2026-06-21 11:50:05 -04:00
daniel-c-harvey
5c22c1626a
docs: reflect Phase 20 Wave 2 theater refinements (full-screen body, eased collapse, playing-release scoping)
2026-06-21 10:18:19 -04:00
daniel-c-harvey
8628fbf215
Merge Theater Mode refinements (Phase 20 Wave 2) into dev
2026-06-21 09:23:56 -04:00
daniel-c-harvey
a23a22a2a3
fix(css): visibility transition 0s->0.45s so allow-discrete defers collapse flip to end of ease-out
2026-06-21 09:20:18 -04:00
daniel-c-harvey
6e12d0161a
fix(theater): replace max-height collapse with grid-rows + visibility; fix keyboard-focus leak when collapsed
2026-06-21 09:12:24 -04:00
daniel-c-harvey
9716092805
feat(theater): full-screen detail body, eased content collapse, playing-release scoping
...
Detail bodies fill 100vh below the nav so the visualizer reads full-screen; Theater toggle eases page content and the player-bar now-showing panel in/out instead of popping (reduced-motion honored); Theater only applies to the currently-playing release.
2026-06-21 08:59:09 -04:00
daniel-c-harvey
a577df88dd
docs: reflect Phase 20 Theater Mode landing in PLAN, COMPLETED, CLAUDE.md, and spec status
2026-06-20 22:17:58 -04:00
daniel-c-harvey
011dbe8d81
Merge Theater Mode (Phase 20) into dev
2026-06-20 22:12:23 -04:00
daniel-c-harvey
2fc2d4eb6d
test: fix PascalCase nit in CoerceTheaterMode_BothOff_TheaterBecomesFalse
2026-06-20 22:09:34 -04:00
daniel-c-harvey
14f3af41e4
fix(theater): auto-exit Theater Mode when both visualizer subsystems are disabled
...
Adds CoerceTheaterMode() to WaveformVisualizerControlState; ToggleLava/ToggleWaveform
call it before NotifyChanged so all observers see consistent state in one Changed cycle.
Covers the dead-end escape route bug (Phase 20 review finding).
2026-06-20 22:03:39 -04:00
daniel-c-harvey
fa01b9c8e0
feat(public): add Theater Mode to release detail pages
...
Toggle left of the lava popover hides release content so the visualizer fills
the surface; player bar grows to carry the playing release's cover, title, and
share. State on WaveformVisualizerControlState; pages and bar observe it.
2026-06-20 21:51:30 -04:00