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
daniel-c-harvey
0f0fd828d2
Refactor Audio Plaback layers for simplification and improved maintenance
2025-09-13 08:26:12 -04:00
daniel-c-harvey
9ac2c9182a
Player Client and Visual Enhancements
...
- Redesigned audio player bar to be mobile-friendly
- Added unloading for track switching (needs to be fixed)
- Added IsLoading status so loading spinner isn't hanging around when it shouldn't be
- Normalized styles with scoped files (will further reduce)
- Layout Cleanup
- EF fixes (migrations now function for deployment)
- deploy script updates (new dedicated host)
2025-09-12 20:37:17 -04:00
daniel-c-harvey
73d4b0a9c5
Front End Audio Player Always Available
2025-09-08 18:42:07 -04:00
daniel-c-harvey
a25d067dff
AUdio Player Service refactor
2025-09-08 14:20:38 -04:00
daniel-c-harvey
bf054f3d1b
API Connection Cleanup & Bugfixes
2025-09-08 11:10:23 -04:00
daniel-c-harvey
c6f4ffc1fe
Cleanup & Bug Fixes
...
- WebAssembly fix (missing app.Run)
- API comms cleanup
2025-09-08 09:53:13 -04:00
daniel-c-harvey
4f7b37813a
New Solution files for focused work
2025-09-08 09:46:56 -04:00
daniel-c-harvey
69c8fcfe3c
Front End Rework & Deployment Cleanup
...
- Restructured references to service projects instead of ASP.NET Core web projects
- Terminal.Gui front end for easy track management from the shell
2025-09-07 12:58:43 -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
daniel-c-harvey
a5b7ab041e
Deployment Configuration and Script
...
- Front End Cleanup
2025-09-06 18:40:32 -04:00
daniel-c-harvey
0951514778
Front End Work
...
- Colors & Styles
- Fonts
- Small Layout Adjustments
2025-09-06 15:21:03 -04:00
daniel-c-harvey
5a8a2da842
Front End Work
...
- Home Page
- Custom Site Styles & Mud Theme Adjustments
2025-09-06 14:19:09 -04:00
daniel-c-harvey
66d800bd26
Front End Work
...
- Redesign component wiring for audio playback
- Removed playback logic from the player control and moved it to injectable audio player engine service
- Chunked/buffered stream loading from Content API passed to Web Audio API playback in 8K blocks
2025-09-06 13:39:26 -04:00
daniel-c-harvey
3766d4e010
Front End
...
- MudBlazor Theme Manager tryout
- Navigation bar rework
- Icons and styles rework
- Track Gallery & Card layout redesign for SPA
- Track Player bottom bar
2025-09-05 22:27:12 -04:00
daniel-c-harvey
7f78545a02
*Audio Playback*
...
Content API:
- Enabling CORS for access from Blazor app
Web Server:
- Content API URL environment config
- Web Audio API JS Interop layer in TypeScript
- HttpClient configs
Web Client:
- Audio Tack player controls
- Audio Player example page
- Audio Interop Service Layer
- Named HttpClients
2025-09-05 10:48:07 -04:00
daniel-c-harvey
a04bf06327
CLI
2025-09-04 19:58:53 -04:00
daniel-c-harvey
624974a93c
Migrations
2025-09-04 19:58:46 -04:00
daniel-c-harvey
1a9a3271d4
Content API Upgrades
2025-09-04 19:58:29 -04:00
daniel-c-harvey
9de2063ea3
Infrastructure upgrades
2025-09-04 19:58:00 -04:00
daniel-c-harvey
5e02d004e3
CLAUDE.md files
2025-09-04 19:57:05 -04:00
daniel-c-harvey
97ad4e3ac7
FileDatabase Refactor and normalization
...
Test cleanup
2025-09-04 17:27:28 -04:00
daniel-c-harvey
6fefcbcfb5
FileDatabase refactor for normalization and consistency
2025-09-04 16:26:10 -04:00
daniel-c-harvey
e82366e47f
DeepDrftTests.csproj
...
- FileDatabase Tests
2025-09-04 14:20:29 -04:00
daniel-c-harvey
c4c4662c67
FileDatabase Improvements
...
- small bugfixes
- Startup configuration to load an arbitrary file database for the API
2025-09-04 14:19:57 -04:00
daniel-c-harvey
27522c1e1c
Front End Track Gallery Controls
...
- Theming adjustments (still needs a lot of work)
2025-09-04 14:18:35 -04:00
daniel-c-harvey
5050074f4f
.gitignore
2025-09-04 14:15:06 -04:00
daniel-c-harvey
d556d32829
Inject framework HttpClient to support prerendering behavior on server instead of baking in the HttpClient on the client project
2025-09-04 09:48:58 -04:00
daniel
9124e82e24
FileDatabase engine port from snailbird-content TS/Node program
2025-09-01 16:55:28 -04:00
daniel
f0d60190cc
Track Gallery front end
...
- For now uses a table but will replace with graphical media cards
2025-09-01 16:50:08 -04:00
daniel
3d79df725c
gitignore
2025-09-01 16:42:59 -04:00
daniel
77856cbe26
Unnesting the Blazor and moving the database to root
2025-08-30 22:16:46 -04:00
daniel
91ab145b85
DeepDrftWeb startup & setup
2025-08-30 22:02:29 -04:00
daniel
3a11c75e5a
DeepDrftWeb Track Controller
...
- Only provides Paged GET for now (will require auth for write ops)
2025-08-30 21:55:40 -04:00