Daniel Harvey
ccaf7c2d48
docs(split): update CLAUDE.md, PLAN.md, COMPLETED.md for Phase 4 rename (DeepDrftWeb -> DeepDrftPublic)
2026-05-19 23:09:29 -04:00
Daniel Harvey
a981a99978
docs(split): mark Phases 2+3 landed; update CLAUDE.md credential table for new host split
2026-05-19 18:21:21 -04:00
Daniel Harvey
0a0a1826ce
Merge branch 'split-phase3-shared' into dev
2026-05-19 17:23:46 -04:00
Daniel Harvey
bb6c393cc6
Merge branch 'split-phase2-strip' into dev
2026-05-19 17:22:05 -04:00
Daniel Harvey
8b8796fc58
refactor(split): extract DeepDrftShared.Client RCL with shared atoms
...
TrackCard, TracksGallery, DDIcons, DeepDrftPalettes (Default+Cms), DeepDrftFontLinks,
and palette CSS tokens extracted. Both hosts and DeepDrftCms reference the shared RCL.
2026-05-19 17:14:23 -04:00
Daniel Harvey
490bbbe942
feat(split): strip AuthBlocks from DeepDrftWeb; move CMS controllers to DeepDrftManager
...
Public host is now auth-free: no AuthBlocks, no DeepDrftCms ref, no stealth routing.
MainLayout restored to full chrome. DeepDrft.Content/.Cms HttpClients wired on Manager.
2026-05-19 17:01:24 -04:00
Daniel Harvey
840192fb79
Merge branch 'split-phase1-manager' into dev
2026-05-19 15:29:41 -04:00
Daniel Harvey
e905b3974d
docs(split): mark Phase 1 landed in PLAN.md and TWO-APP-SPLIT.md
2026-05-19 15:27:14 -04:00
Daniel Harvey
cd650c4365
feat(manager): stand up DeepDrftManager CMS host (Phase 1 of two-app split)
...
InteractiveServer only, full AuthBlocks, no WASM. Controllers scaffolded for future
CMS controller migration. CmsStealthRoutingHandler omitted by design (subdomain topology).
2026-05-19 15:25:25 -04:00
Daniel Harvey
9243818863
docs(design): lock two-app split decisions per Daniel 2026-05-19
...
Folds Daniel's answers throughout TWO-APP-SPLIT.md: locked names
(DeepDrftPublic, DeepDrftManager, DeepDrftShared.Client), subdomain
topology, services-direct (no host-to-host HTTP), stealth-routing
dropped, audio stack stays public-only in Wave 1 with extraction on
roadmap. PLAN.md in-flight pointer updated.
2026-05-19 12:52:08 -04:00
Daniel Harvey
9384e228f5
docs(design): two-app split — public site vs. CMS
...
design/TWO-APP-SPLIT.md proposes splitting the entangled Blazor host into
independent public and CMS apps to escape the layout/cascading-auth deadlock.
Ten open questions at §10. PLAN.md gains an in-flight pointer.
2026-05-19 12:04:03 -04:00
Daniel Harvey
d003c5c94f
Merge branch 'routing-fix2' into dev
2026-05-19 08:33:35 -04:00
Daniel Harvey
54865e7d10
fix(routing): move @rendermode InteractiveAuto from MainLayout onto the public pages so MudBlazor providers boot interactively
2026-05-19 08:32:59 -04:00
Daniel Harvey
258502893f
Merge branch 'routing-analysis' into dev
2026-05-19 01:51:46 -04:00
Daniel Harvey
dba8b1d63e
fix(routing): static Routes/HeadOutlet, InteractiveAuto on MainLayout, InteractiveServer on CmsLayout — Routes lived in server-only assembly and couldn't hydrate in WASM
2026-05-19 01:49:19 -04:00
Daniel Harvey
410b183d23
Merge branch 'routes-interactive' into dev
2026-05-19 01:34:22 -04:00
Daniel Harvey
0c0ecfb101
fix(render-mode): remove conflicting @rendermode directives from CMS layouts/pages and MainLayout
2026-05-19 01:33:30 -04:00
Daniel Harvey
4e781f7b56
fix(routing): move InteractiveAuto render mode from MainLayout to Routes in App.razor
2026-05-19 01:29:14 -04:00
Daniel Harvey
028fcec28a
Merge branch 'authblocks-bump' into dev
2026-05-19 01:10:24 -04:00
Daniel Harvey
f749ff79cf
bump Cerebellum.AuthBlocks* references 10.3.31 -> 10.3.32 to pick up prerender-fix release
2026-05-19 01:07:38 -04:00
Daniel Harvey
e164047584
chore: bump Cerebellum.AuthBlocks* to 10.3.31
2026-05-19 00:53:00 -04:00
Daniel Harvey
2ab9381759
Merge branch 'fix-layout-routing' into dev
2026-05-19 00:09:29 -04:00
Daniel Harvey
3dfa645101
style: replace fully-qualified AllowAnonymous with @using + short form in Home and TracksView
2026-05-19 00:07:22 -04:00
Daniel Harvey
4379883048
fix(routing): add [AllowAnonymous] to public pages so static-SSR AuthorizeRouteView doesn't block unauthenticated requests
2026-05-19 00:03:48 -04:00
Daniel Harvey
9689de462d
Merge branch 'routes-static' — static Routes, correct render-mode island boundaries
2026-05-18 23:39:57 -04:00
Daniel Harvey
90e07ea9d7
fix(routing): static Routes, InteractiveAuto HeadOutlet, drop DefaultLayout
...
Routes needs no render mode — layouts declare the interactive mode.
MainLayout (WASM) and CmsLayout (Server) are top-level islands with no
conflicting parent render mode. DefaultLayout removed so AuthBlocks auth
pages render self-contained without being forced into the WASM layout.
2026-05-18 23:39:44 -04:00
Daniel Harvey
c20c7d0dbd
Merge branch 'layout-split' — proper render-mode split, CmsLayout, server-side Routes
2026-05-18 23:31:47 -04:00
Daniel Harvey
d31a08bd15
fix(routing): InteractiveServer routing, WASM interactivity declared at layout level
...
Routes moves to InteractiveServer so the server router always sees all
assemblies (including AuthBlocksWeb). MainLayout declares
@rendermode InteractiveWebAssembly — the single source of WASM
interactivity for all public pages. CmsLayout in DeepDrftCms provides
a server-rendered admin shell without the audio dock. Assembly-level
_Imports.razor files set the default layout for each group; no per-page
rendermode declarations needed. Routes.razor moves to the server host
(its correct home) carrying the full AdditionalAssemblies list.
2026-05-18 23:31:10 -04:00
Daniel Harvey
8e7347f498
Merge branch 'auth-routing-fix' — WASM router falls back to server for /account/* routes
2026-05-18 23:14:24 -04:00
Daniel Harvey
7c9f3b1630
fix(client): force server reload for /account/* routes unknown to WASM router
...
AuthBlocksWeb pages live in a server-only assembly not bundled in the WASM
client. When InteractiveAuto switches routing to WASM, /account/login has
no matching component and shows NotFound. Routes.razor now intercepts
NotFound for /account/* paths and forces a full-page reload to the server
router, which knows the real login page via AddAdditionalAssemblies.
2026-05-18 23:14:15 -04:00
Daniel Harvey
1b5f193a78
Merge branch 'factory-fix' — DbContextFactory loads connections.json, no env var required
2026-05-18 22:39:32 -04:00
Daniel Harvey
e34f76b3bb
fix(data): load connection string from connections.json; correct HasIndex comment
2026-05-18 22:39:20 -04:00
Daniel Harvey
fdd44b2bce
Merge branch 'p9-w1-t1-arch-lift' — BlazorBlocks data lift, project renames, initial Postgres migration
2026-05-18 22:30:11 -04:00
Daniel Harvey
14a0bf8d97
Merge branch 'p9-w1-t2-stealth-routing' — CMS /cms/* stealth routing (404 on unauthorized)
2026-05-18 22:30:04 -04:00
Daniel Harvey
54126db882
docs(plan): mark CMS Wave 1 landed; move W1.0-W1.2 to COMPLETED.md
2026-05-18 22:24:46 -04:00
Daniel Harvey
cd700dc758
feat(data): rename *.Services projects, lift TrackEntity onto BlazorBlocks data layer, regenerate initial Postgres migration
...
DeepDrftWeb.Services → DeepDrftData; DeepDrftContent.Services → DeepDrftContent.Data.
TrackEntity:BaseEntity, TrackRepository:Repository<>, TrackManager:Manager<>+ITrackService.
Drops DeepDrftModels PagingParameters/PagedResult in favour of Models.Common.* from BlazorBlocks.
InitialCreate migration captures full schema including is_deleted index.
2026-05-18 22:22:09 -04:00
Daniel Harvey
f4388a5cc3
feat(web): stealth-route /cms/* — return 404 to unauthorized callers
...
Any /cms/* hit (including exact /cms) that fails authorization returns
404 instead of redirecting to /account/login. CMS-PLAN §3.4 constraint.
2026-05-18 21:23:15 -04:00
Daniel Harvey
130f1357ec
docs(plan): promote ARCHITECTURE-PROPOSAL decisions; add CMS stealth-routing constraint
2026-05-18 20:49:33 -04:00
Daniel Harvey
65944ed9f5
docs: add ARCHITECTURE-PROPOSAL.md for layer/host restructure direction
2026-05-18 20:40:12 -04:00
Daniel Harvey
7903d722e3
Merge branch 'example-files' into dev
2026-05-18 19:05:30 -04:00
Daniel Harvey
a5e37c9130
docs: add *.example.json onboarding files for all three hosts
2026-05-18 19:03:46 -04:00
Daniel Harvey
39138bef21
Merge branch 'secrets-migration' into dev
2026-05-18 17:52:04 -04:00
Daniel Harvey
ad7741744d
docs: update CLAUDE.md files to reflect CredentialTools secrets loading pattern
2026-05-18 17:39:42 -04:00
Daniel Harvey
fc9bc3d607
chore(secrets): load API key, connection strings, and AuthBlocks via CredentialTools across all three hosts; strip secret placeholders from appsettings.json
2026-05-18 17:35:29 -04:00
Daniel Harvey
12c4046965
docs: move CMS Wave 1 W1.3-W1.6 and PLAN.md §2.4 to COMPLETED.md
2026-05-18 16:19:04 -04:00
Daniel Harvey
1b971e9a9d
Merge cms-w3-t4-edit: PUT api/cms/track/{id} + /cms/tracks/{id} edit page
2026-05-18 16:15:35 -04:00
Daniel Harvey
45e16fece7
Merge cms-w3-t2-upload: WAV upload flow — POST api/track/upload, POST api/cms/track, /cms/tracks/new
...
# Conflicts:
# DeepDrftContent/CLAUDE.md
2026-05-18 16:15:13 -04:00
Daniel Harvey
da8ee84903
Merge cms-w3-t3-delete: DELETE endpoints, FileDatabase remove, DeleteTrackDialog
2026-05-18 15:48:02 -04:00
Daniel Harvey
9f31277e96
Merge cms-w3-t1-track-list: CMS track list page at /cms/tracks
2026-05-18 15:47:57 -04:00
Daniel Harvey
7b20694a31
Fix W3-T4 review: log+sanitize catch messages, add validation attrs to CmsTrackUpdateRequest, document T3 delete dependency
2026-05-18 15:43:00 -04:00