Daniel Harvey
5bf75d5abf
Merge branch 'content-sql-unification' into dev
2026-05-25 09:25:29 -04:00
Daniel Harvey
d9e4052e39
fix: review remediation — _busy finally block, TrackNotFoundMessage const, null-safe error log
2026-05-25 09:11:15 -04:00
Daniel Harvey
f404602536
refactor: make DeepDrftContent sole authority over track SQL + vault; Manager goes HTTP-only
2026-05-25 08:46:09 -04:00
Daniel Harvey
72c33d9940
CMS -> API refactor part 1
2026-05-25 04:04:59 -04:00
Daniel Harvey
2b59eddad3
docs: update CLAUDE.md for CmsTrackService, no-controller CMS pattern
2026-05-24 21:31:37 -04:00
Daniel Harvey
ab6f9eafee
Merge branch 'cms-direct-service' into dev
2026-05-24 21:16:58 -04:00
Daniel Harvey
7f99479cae
fix(manager): review remediation — DeleteTrackAsync dead code, TrackEdit Id long, dead @using
2026-05-24 21:14:26 -04:00
Daniel Harvey
428359b241
refactor(manager): replace internal CMS HTTP layer with direct CmsTrackService calls
2026-05-24 20:46:22 -04:00
Daniel Harvey
058e4ca196
docs: clear resolved TrackNew bearer-token entry from TODO
2026-05-24 19:01:30 -04:00
Daniel Harvey
af59915cef
Merge branch 'tracknew-bearer' into dev
2026-05-24 18:59:18 -04:00
Daniel Harvey
e2a2064f7a
fix(tracknew): attach bearer token to WAV upload request
2026-05-24 18:57:48 -04:00
Daniel Harvey
695acc70bb
Merge branch 'auth-redirect-fix' into dev
2026-05-24 18:45:48 -04:00
Daniel Harvey
95772c655e
fix(manager): redirect unauth nav to login instead of 401
...
AddAuthBlocks installs JwtBearer as the default challenge scheme; the
authorization middleware 401s unauthenticated nav requests before the
Blazor router runs. Tokens live in localStorage and are only readable
via JS interop after the SignalR circuit is live.
- Program.cs: MapRazorComponents .AllowAnonymous() so nav reaches the
Blazor router; API surfaces (MapAuthBlocks, MapControllers) still
enforce JWT. Fix middleware order to UseAuthentication -> UseAntiforgery
-> UseAuthorization per Blazor Web App template.
- App.razor: InteractiveServerRenderMode(prerender:false) on Routes and
HeadOutlet so AuthorizeRouteView evaluates after JS interop is ready;
extract to static field (was two inline allocations per render cycle).
- CmsLayout/Pages: drop conflicting per-component @rendermode directives
(parent now owns the render mode).
- Routes.razor: break authenticated-but-wrong-role redirect loop; split
NotAuthorized into unauthenticated -> RedirectToLogin and
authenticated-wrong-role -> RedirectToAccessDenied (new component).
- Pages/Index.razor: deleted — NavigateTo('/cms') was unreachable for
unauthenticated users and racey for authorized ones.
2026-05-24 18:29:07 -04:00
Daniel Harvey
e6dc15e451
docs: add TODO.md tracking TrackNew upload bearer-token bug
2026-05-23 05:09:49 -04:00
Daniel Harvey
d6156552cd
Merge branch 'authblocks-10333' into dev
2026-05-23 05:04:11 -04:00
Daniel Harvey
e73b3c3218
chore(manager): upgrade AuthBlocks to 10.3.33; migrate ITokenService → IAuthSession, SystemRoleConstants, hoist usings to _Imports
2026-05-22 23:33:25 -04:00
Daniel Harvey
770baffb88
remove NetBlocks and DeepDrftCli from DeepDrftHome.sln
2026-05-21 21:42:59 -04:00
Daniel Harvey
fc49a65824
fix(cms): use SystemRoleConstants.Admin in /cms page auth
2026-05-21 21:32:35 -04:00
Daniel Harvey
5a9ac3d060
Merge branch 'cms-inline' into dev
2026-05-21 21:29:51 -04:00
Daniel Harvey
01b8813b61
docs: reflect DeepDrftCms RCL inlined into DeepDrftManager
2026-05-21 20:51:02 -04:00
Daniel Harvey
710705415a
move DeleteTrackDialog to Shared/, drop redundant usings
2026-05-21 20:44:32 -04:00
Daniel Harvey
ce1cbccad5
inline DeepDrftCms RCL into DeepDrftManager and delete the project
2026-05-21 20:36:00 -04:00
Daniel Harvey
db463a9049
Merge branch 'palette-init-order' into dev
2026-05-21 16:01:04 -04:00
Daniel Harvey
f76c96fe34
add NotFound page, wire Routes.NotFoundPage, set log level to Debug
2026-05-21 15:55:34 -04:00
Daniel Harvey
389fc88aa0
fix(palettes): reorder DeepDrftPalettes static props so Light/Dark/Typography init before Default/Cms (fixes null MudTheme NRE)
2026-05-21 15:46:10 -04:00
Daniel Harvey
e496d9cde6
Merge branch 'remove-thememanager' into dev
2026-05-21 15:24:15 -04:00
Daniel Harvey
b27f687291
remove broken MudBlazor.ThemeManager 3.0.0 dependency — incompatible with MudBlazor 8.15.0, ThemeManagerTheme wrapper produced NRE in GenerateTheme; wire MudThemeProvider to DeepDrftPalettes.Default and hardcode AppBar Elevation=4
2026-05-21 15:22:52 -04:00
Daniel Harvey
599fc7ce9b
Merge branch 'routes-layout-fix' into dev
2026-05-21 10:35:05 -04:00
Daniel Harvey
94163f4ad6
fix(client): remove @layout MainLayout from _Imports.razor — DefaultLayout on RouteView covers pages; directive incorrectly applied to Routes causing double-MainLayout crash
2026-05-21 10:29:21 -04:00
Daniel Harvey
1176553bac
Merge branch 'remove-statehaschanged' into dev
2026-05-21 10:03:01 -04:00
Daniel Harvey
0b7475e7ea
fix(MainLayout): remove redundant StateHasChanged() from OnInitialized to prevent nested ProcessRenderQueue and NullReferenceException in MudThemeProvider during SSR prerender
2026-05-21 10:02:40 -04:00
Daniel Harvey
9b6784d49a
Merge branch 'routes-to-client' into dev
2026-05-21 09:07:41 -04:00
Daniel Harvey
a88a523f39
fix(public): await OnSeekEnd in onpointerleave handlers (was fire-and-forget)
2026-05-21 09:06:26 -04:00
Daniel Harvey
c436e564be
fix(public): move Routes.razor to client assembly so InteractiveAuto can resolve it in WASM
2026-05-21 08:56:01 -04:00
Daniel Harvey
daa1530292
Merge branch 'public-structural-fix' into dev
2026-05-21 07:55:10 -04:00
Daniel Harvey
5d823868c8
docs(AudioPlayerProvider): explain IsFixed=true intent and runtime-swap caveat
2026-05-21 07:52:13 -04:00
Daniel Harvey
b4fff43cb3
fix(public): break OnStateChanged callback chain and lazy-init audio player to stop circuit memory blowup
2026-05-21 07:36:55 -04:00
Daniel Harvey
ae2bdcd065
Merge branch 'public-prerender-hang' into dev
2026-05-21 06:34:13 -04:00
Daniel Harvey
2fac9e51e6
refactor(client): rename GetDarkModeAsync→GetDarkMode, drop commented JS interop, fix misleading comment
2026-05-21 06:29:13 -04:00
Daniel Harvey
cb5c2fd2b9
fix(public): move DeepDrftMenu dark-mode sync to OnAfterRenderAsync to unhang SSR prerender under interactive Routes
2026-05-21 06:22:55 -04:00
Daniel Harvey
4221ad6f45
Merge branch 'public-interactivity-fix' into dev
2026-05-20 21:34:07 -04:00
Daniel Harvey
970bd4e107
fix(public): restore InteractiveAuto at router root so MainLayout hydrates
2026-05-20 21:29:39 -04:00
Daniel Harvey
28f585915a
chore: move wireframe to design/
2026-05-20 16:54:21 -04:00
Daniel Harvey
f40c342882
chore: replace local dev path in filedatabase.example.json with placeholder
2026-05-20 16:53:40 -04:00
Daniel Harvey
96b6ed2adf
Merge branch 'split-tracksview-prerender' into dev
2026-05-20 16:50:11 -04:00
Daniel Harvey
3839d81e9b
Merge branch 'split-redirect-login' into dev
2026-05-20 16:49:59 -04:00
Daniel Harvey
e8072f8b17
refactor(public): in-process ITrackDataService on server prerender; HTTP on WASM
2026-05-20 16:49:43 -04:00
Daniel Harvey
f45a0e1f78
fix(manager): replace inline NavigateTo in NotAuthorized with AuthBlocksWeb.RedirectToLogin
2026-05-20 16:48:43 -04:00
Daniel Harvey
35099a54e5
Merge branch 'split-audit' into dev
2026-05-20 16:27:58 -04:00
Daniel Harvey
0a18b8e74c
Merge branch 'split-postmerge-bugs' into dev
2026-05-20 15:59:38 -04:00