Daniel Harvey
7f47da6c8e
Merge cms-w1-t1-postgres: SQLite → PostgreSQL migration
2026-05-17 23:31:01 -04:00
Daniel Harvey
0d14f46909
Fix review findings: scrub committed password, restore migration namespace, document Npgsql version constraint
2026-05-17 23:30:05 -04:00
Daniel Harvey
a65339395b
Migrate DeepDrftContext from SQLite to PostgreSQL; add docker-compose for local Postgres 17
2026-05-17 23:11:44 -04:00
Daniel Harvey
ed61764e10
Merge p0-dark-body-fix: dark mode body background now uses MudBlazor palette variables
2026-05-17 22:37:56 -04:00
Daniel Harvey
45ae63bc2e
Fix dark mode: wire html/body background and text to MudBlazor palette variables; add min-height: 100vh to theme wrappers
2026-05-17 22:34:38 -04:00
Daniel Harvey
2ea6b285be
Move Phase 0 to COMPLETED.md: wireframe redesign fully landed 2026-05-17
2026-05-17 22:14:00 -04:00
Daniel Harvey
66db23f989
Close last two CMS-PLAN open questions: scope confirmed, CLI removal immediate
2026-05-17 22:08:22 -04:00
Daniel Harvey
13d0b08bfd
Merge p0-w2-tc-dark: dark palette rewrite as navy/green/off-white mirror
2026-05-17 22:06:59 -04:00
Daniel Harvey
7940dd8ae9
Merge p0-w2-tb-home: Home.razor wireframe rewrite, site footer, CurrentTrack
2026-05-17 22:01:58 -04:00
Daniel Harvey
cd7f75dd15
Merge p0-w2-ta-nav: frosted-glass fixed nav
2026-05-17 22:01:45 -04:00
Daniel Harvey
531e870f02
Commit CMS-PLAN §5 dual-write transport to Option B
2026-05-17 22:01:41 -04:00
Daniel Harvey
3d94e45d0c
P0/W2/TB: rewrite Home to wireframe spec, add site footer, expose CurrentTrack; fix dead base writes, genre href scroll-to-top
2026-05-17 21:52:19 -04:00
Daniel Harvey
3887c62afc
CMS-PLAN: collapse resolved open questions into commitments
2026-05-17 21:52:05 -04:00
Daniel Harvey
ed27e0e997
P0 W2 TC: rewrite dark palette as navy/green/off-white wireframe variant; fix TextSecondary WCAG comment ~6.1:1
2026-05-17 21:51:43 -04:00
Daniel Harvey
2eb8e02f15
Replace MudAppBar with frosted-glass fixed nav in DeepDrftMenu; fix IAsyncDisposable, nav links to Pages.MenuPages, ::deep space, dark hover colour
2026-05-17 21:48:40 -04:00
Daniel Harvey
1b3e2478c7
Collapse CMS-PLAN auth section against AuthBlocks source
2026-05-17 21:41:51 -04:00
Daniel Harvey
583ff26fd7
Merge p0-w1-palette-fonts: wireframe palette + font foundation
2026-05-17 21:29:00 -04:00
Daniel Harvey
0aee8e58a3
Add CMS-PLAN.md: Blazor CMS to replace DeepDrftCli
2026-05-17 21:27:45 -04:00
Daniel Harvey
144f7c7527
Wireframe palette + font foundation: navy/green/off-white PaletteLight, Cormorant Garamond + Geist Mono + DM Sans, retire Bodoni Moda
2026-05-17 21:20:06 -04:00
Daniel Harvey
7d059da9ca
Record Phase 0 design decisions in PLAN.md
2026-05-17 21:03:50 -04:00
Daniel Harvey
22e6092d26
Add PLAN.md Phase 0: wireframe-driven home page redesign
2026-05-17 20:50:20 -04:00
Daniel Harvey
bd5f9e2b69
Add PLAN.md roadmap and COMPLETED.md companion
2026-05-17 19:43:08 -04:00
Daniel Harvey
6d61b66f63
Merge p1-w3-minors: streaming minors findings 15-22
2026-05-17 18:57:22 -04:00
Daniel Harvey
4420975cd2
Fix streaming minors: isActive_ sentinel, WAV error message, TextDecoder hoist, MIME 400, fmt first-match, processedBytes comment
2026-05-17 18:55:05 -04:00
Daniel Harvey
9f32c70e0f
Merge p1-w2-tc-streaming-majors: streaming majors findings 5-14
2026-05-17 18:23:15 -04:00
Daniel Harvey
23bbbc047b
Merge p1-w2-tb-web-cli: design majors Web.Services + Web.Client + CLI
2026-05-17 18:19:03 -04:00
Daniel Harvey
a3d137d906
Merge p1-w2-ta-content-models: design majors Content.Services + Models
2026-05-17 18:18:47 -04:00
Daniel Harvey
02d146ce02
Fix streaming majors: PCM-only validation, stream-from-disk, ConcatStream offset, AsyncDisposable, HTTP cancellation, await ensureReady, seekBeyondBuffer offset-0 guard, negative WAV chunk guard
2026-05-17 16:57:20 -04:00
Daniel Harvey
4bd3be2eb8
Fix 8 design majors: optional ILogger in libraries, IndexFactoryService singleton threading, SharedMediaTypeRegistry, required TrackDto fields, GetExtensionType dedup, PagedResult zero-guard, TrackService null-return on failure
2026-05-17 16:57:03 -04:00
Daniel Harvey
4c9bf0ca8d
Fix 9 design majors: ITrackService interface, IsDescending, ArrayPool base, CliUtils, sort sentinel cleanup, content controller via TrackService, Skip property
2026-05-17 16:10:56 -04:00
Daniel Harvey
fc5b8de81a
Merge p1-w1-tb-streaming-criticals: Critical streaming race, dirty buffer, dropped tail, fragmented header
2026-05-17 12:14:45 -04:00
Daniel Harvey
c921c8fca5
Merge p1-w1-ta-design-criticals: Critical IndexSystem lock races + TrackRepository.Update silent-create
2026-05-17 11:35:55 -04:00
Daniel Harvey
dd96caa709
Fix Critical: streaming race, dirty buffer, dropped tail, fragmented header
...
- SeekBeyondBuffer and LoadTrackStreaming assign _activeStreamingTask before
awaiting; DrainActiveStreamingTaskAsync awaits previous task before new
stream starts, closing the concurrent-seek race on the JS StreamDecoder
- Always slice ArrayPool buffer to currentBytes before sending to JS interop;
eliminates stale bytes from prior rentals reaching the audio decoder
- getSampleAlignedChunkSize accepts streamComplete flag; bypasses minimum
chunk guard on final tail so trailing bytes are decoded, not dropped
- StreamDecoder accumulates headerSearchChunks until parseHeader succeeds,
with 256 KB MAX_HEADER_SEARCH_BYTES bound; handles fragmented first chunks
and extended WAV headers with LIST/INFO/JUNK chunks
- markStreamComplete early-returns when streamComplete already set to prevent
double-drain and incorrect streamingCompleted flag after partial failure
- processedBytes advances only after successful decode; failed segments leave
cursor in place rather than permanently skipping audio
- AudioInteropService.MarkStreamCompleteAsync wires C# loop exit to JS decoder
ensuring tail drain fires even when Content-Length header is absent
2026-05-17 11:28:53 -04:00
Daniel Harvey
4a0c17c318
Fix Critical: IndexSystem lock races and TrackRepository.Update silent-create
...
- Replace object lock with SemaphoreSlim(1,1) on both DirectoryIndexDirectory
and VaultIndexDirectory; SaveIndexAsync now executes inside the semaphore
so mutate+persist is atomic
- ReloadIndexAsync acquires the semaphore before LoadIndexAsync so disk load
and in-memory swap are atomic with respect to concurrent writes
- HasIndexEntry and GetEntryMetadata converted to async Task with WaitAsync;
MediaVault.GetEntryAsync call sites updated accordingly
- TrackRepository.Update throws InvalidOperationException when Id not found
instead of silently calling Create; service layer catches and wraps as fail result
2026-05-17 11:24:50 -04:00
Daniel Harvey
56d15027e4
Add TODO-V2.md: full SOLID/DRY/modularity and streaming audit (2026-05-17)
2026-05-17 09:32:16 -04:00
Daniel Harvey
7fd9aa3c09
Ignore
2026-05-17 09:07:23 -04:00
Daniel Harvey
7cf3d965b6
Rewrite all folder-level CLAUDE.md files; update root
...
net10.0 throughout; corrected EntryKey field name; documented *.Services split.
Two new files (DeepDrftWeb.Services, DeepDrftContent.Services). FileDatabase
README inaccuracies fixed (ImageVault, project target).
2026-05-16 21:45:56 -04:00
Daniel Harvey
de0909f38f
Add CONTEXT.md and DOC_PLAN.md
...
Cold-storage audit: eight projects (net10.0), dual-database, streaming playback.
DOC_PLAN.md briefs doc-keeper on eight folder-level CLAUDE.mds to write or
rewrite; Services libraries are the biggest gap.
2026-05-16 19:33:23 -04:00
daniel-c-harvey
51cef436d7
style simplification and publish upgrades for dotnet 10
2026-01-22 08:59:48 -05:00
daniel-c-harvey
bc521d5b29
Styles & Home Page Content Cleanup
...
Mobile Menu System & Dark Mode Cookie
Theme Draft
2025-12-09 16:46:07 -05:00
daniel-c-harvey
bb3551a248
Theming Draft 2
2025-12-08 20:30:41 -05:00
daniel-c-harvey
a68dc37012
2026 Deep DRFT Theme Draft 1 WIP
2025-12-07 18:41:09 -05:00
daniel-c-harvey
75456a59ce
Spectrum Visualizer for player & Layout
2025-12-07 11:18:32 -05:00
daniel-c-harvey
c5fdf12ef4
Smooth Seeking (no scrub audio)
2025-12-07 04:54:05 -05:00
daniel-c-harvey
20db222a0f
Streaming Seek Support
2025-12-07 04:44:54 -05:00
daniel-c-harvey
8c58edd5f9
File Database Index watching
2025-12-07 04:40:52 -05:00
daniel-c-harvey
2baf0575bc
Streaming Bug Fixes
2025-12-06 06:41:32 -05:00
daniel-c-harvey
605fc94fbb
True Streaming Support Draft
2025-09-15 17:03:36 -04:00
daniel-c-harvey
0fa8ac7379
Front End Streaming Playback Improvements
2025-09-13 15:22:26 -04:00
daniel-c-harvey
cdeb300d5e
Front End Cleanup
2025-09-13 12:41:21 -04:00