Daniel Harvey
1738d262de
Fix W3-T3 review: attach JWT in DeleteTrackDialog, int→long TrackId, log RemoveResourceAsync failure, drop redundant {Reason} log param
2026-05-18 15:42:58 -04:00
Daniel Harvey
4a59df6baa
Add CMS track delete: DeepDrftContent DELETE endpoint, DeepDrftWeb SQL-first orchestration, DeepDrftCms confirmation dialog (W3-T3)
2026-05-18 15:20:08 -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
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
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
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-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
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
b16bcfc6cd
Backend Services Split into separate projects for reference from other front ends
2025-09-07 12:56:52 -04:00