daniel-c-harvey
8902ce4d63
Merge Opus duration/seek/visualizer fix into streaming-overhaul
2026-06-23 21:25:26 -04:00
daniel-c-harvey
eb58ae4a72
Fix Opus duration reporting so seekbar and visualizer work
...
Surface the sidecar duration on the first Opus chunk instead of gating it on the first decoded buffers; C# locks UI Duration on chunk 1, and async WebCodecs decode left it at 0 — killing seek and the duration-gated visualizer.
2026-06-23 21:23:43 -04:00
daniel-c-harvey
d80b777e9f
Merge WebCodecs streaming Opus decoder (+ AC9 seek re-sync) into streaming-overhaul
2026-06-23 21:03:02 -04:00
daniel-c-harvey
5a75da1769
fix: AC9 seek fine re-sync + deterministic decoder drain (WebCodecs Opus)
...
Seek now trims the lead-in so playback lands at the requested time, not the page start; decoder drain polls decodeQueueSize (bounded) instead of a single timeout. Minor cleanups.
2026-06-23 20:57:05 -04:00
daniel-c-harvey
7f3fb74126
Replace broken per-segment Opus decode with WebCodecs AudioDecoder streaming pipeline
2026-06-23 17:42:06 -04:00
daniel-c-harvey
d0118997b6
Merge Opus capability-probe fix into streaming-overhaul
2026-06-23 17:03:07 -04:00
daniel-c-harvey
5b78efaad4
fix: replace hand-assembled Opus probe blob with real ffmpeg/libopus output
...
Previous probe sample had invalid Ogg page CRC32s, so Chrome/Firefox rejected it and the capability check always returned false. New 176-byte libopus sample has verified-correct CRCs. Adds structural-validity tests.
2026-06-23 16:57:49 -04:00
daniel-c-harvey
81d4b42b72
Merge Phase 18.6 Track A (public Settings menu + streaming-quality toggle) into streaming-overhaul
2026-06-23 14:52:28 -04:00
daniel-c-harvey
77c6c42c94
remediate: replace eval cookie writes with safe JS helper + add tests (18.6 Track A)
...
Both SettingsCookieService and DarkModeCookieService now call window.DeepDrftSettings.setCookie (new Interop/settings/settings.ts) instead of eval. New tests cover SettingsServiceBase parse/format round-trip and the PreferenceAwareStreamingPlayerService invariant (Lossless skips probe; LowData inherits base).
2026-06-23 14:17:34 -04:00
daniel-c-harvey
ab75bbf6c1
Merge Phase 18.6 Track B (CMS Opus status: backfill badge + Post-Processing) into streaming-overhaul
2026-06-23 14:09:48 -04:00
daniel-c-harvey
59f48bb8cb
feature: CMS Opus status surfaces — backfill missing-N badge + upload Post-Processing phase (18.6)
2026-06-23 14:06:21 -04:00
daniel-c-harvey
c63c7ca033
feature: Phase 18.6 Track A — public Settings menu + streaming-quality toggle
2026-06-23 14:06:19 -04:00
daniel-c-harvey
e5366bc4ec
Merge Phase 18.5 (Opus end-to-end integration + Backfill-Opus) into streaming-overhaul
2026-06-23 12:52:07 -04:00
daniel-c-harvey
2bde4908d7
Wire Opus end-to-end playback + Backfill-Opus action (Phase 18.5)
...
Player picks Opus when the browser can decode it and a sidecar exists (else lossless), injecting the sidecar before stream init; seek reuses the same format. Adds the Backfill-Opus bulk API endpoint + CMS action.
2026-06-23 12:39:13 -04:00
daniel-c-harvey
dce5530890
Merge Phase 18.4 (OpusFormatDecoder + index-based seek) into streaming-overhaul
2026-06-23 08:48:06 -04:00
daniel-c-harvey
8afcd3784f
Merge Phase 18.3 (Opus delivery transport) into streaming-overhaul
2026-06-23 08:44:53 -04:00
daniel-c-harvey
261289c1b8
feature: OpusFormatDecoder — Ogg-page-aligned segmenting, sidecar parser, accurate index-based seek (Phase 18.4)
2026-06-23 08:34:39 -04:00
daniel-c-harvey
740d01a67f
feature: Phase 18.3 — Opus delivery transport (?format= stream + seek sidecar endpoint)
2026-06-23 08:34:37 -04:00
daniel-c-harvey
e807ddb91b
Merge Phase 18.2 (Opus format resolution + sidecar lookup contract) into streaming-overhaul
2026-06-23 07:49:28 -04:00
daniel-c-harvey
19793ba1c3
feature: Opus format resolution + sidecar lookup contract (Phase 18.2)
2026-06-23 07:45:06 -04:00
daniel-c-harvey
e845dc3496
Merge ffmpeg host provisioning into streaming-overhaul
2026-06-23 07:30:21 -04:00
daniel-c-harvey
ba064cc136
provision ffmpeg on DeepDrftAPI host for Opus transcode
...
Phase 18.1 needs ffmpeg (libopus). Add it to bootstrap.sh apt prereqs and a
preflight guard in install.sh; resolves via the systemd user unit's default
PATH (/usr/bin), no config change.
2026-06-23 07:30:13 -04:00
daniel-c-harvey
b3dadbb572
Merge Phase 18.1 (Opus ingest transcode + seek-index sidecar) into streaming-overhaul
2026-06-23 07:13:46 -04:00
daniel-c-harvey
6add30a4ff
fix: Wave 18.1 review — pre-skip subtraction, t=0 anchor, PreSkip in sidecar, stderr on cancel
2026-06-23 06:55:31 -04:00
daniel-c-harvey
33d6f34d8a
feature: Phase 18.1 — derive Opus 320 + seek-index sidecar at ingest
...
Background-job transcode (ffmpeg/libopus) after source store; pure C# Ogg
walker builds the 0.5s-bucketed granule→byte seek index + captures the
OpusHead/OpusTags setup header into a per-track sidecar in a new track-opus
vault. Best-effort, additive, regenerated on replace-audio.
2026-06-23 06:30:10 -04:00
daniel-c-harvey
8752fc0c98
docs: resolve Phase 18 OQ7 seek-index granularity to 0.5s buckets
2026-06-23 05:36:25 -04:00
daniel-c-harvey
274d0ace62
Merge install-prep-analysis: installer prompts for AuthBlocks:Email:From
2026-06-23 05:28:17 -04:00
daniel-c-harvey
e3a4364b8c
docs(plan): Phase 18 OQ resolutions + VBR-safe accurate Opus seek model
2026-06-23 05:26:58 -04:00
daniel-c-harvey
564b704803
fix(installer): prompt for and write AuthBlocks:Email:From
...
Without this field, DeepDrftAPI throws InvalidOperationException on
startup. Adds the EMAIL_FROM prompt after EMAIL_TOKEN, writes "From"
into the Email JSON object, and unsets the variable on cleanup.
2026-06-23 05:26:48 -04:00
daniel-c-harvey
6af6677a12
docs: spec Phase 22 — parameterized SEO metadata component (public site)
2026-06-23 05:12:31 -04:00
daniel-c-harvey
1bdaeaa164
docs(plan): add Phase 18 Opus low-data streaming; resolve Phase 21 OQ5 (no MSE)
2026-06-23 04:58:21 -04:00
daniel-c-harvey
a84a99c309
docs: spec Phase 21 — windowed streaming buffer for bounded client memory
2026-06-23 00:14:44 -04:00
daniel-c-harvey
2c1571057a
feature: Manager Menu Styles and Page Titles
Deploy DeepDrftAPI / Build, Publish & Bundle (push) Successful in 2m13s
Deploy DeepDrftManager / Build & Publish (push) Successful in 1m23s
Deploy DeepDrftPublic / Build & Publish (push) Successful in 4m4s
Deploy DeepDrftAPI / Deploy (push) Successful in 1m33s
Deploy DeepDrftManager / Deploy (push) Successful in 1m28s
Deploy DeepDrftPublic / Deploy (push) Successful in 1m28s
2026-06-22 23:04:49 -04:00
daniel-c-harvey
0b7d8e41e7
Merge account-nav-menu into dev
2026-06-22 22:42:48 -04:00
daniel-c-harvey
4833935925
feature: About Bio text
2026-06-22 22:41:39 -04:00
daniel-c-harvey
7917d56af3
feature: Manager Logos
2026-06-22 22:41:30 -04:00
daniel-c-harvey
1fd63fe368
Add AccountNavMenu to CmsLayout nav drawer
2026-06-22 22:39:21 -04:00
daniel-c-harvey
4e1f540945
Merge bump-cerebellum-final into dev
2026-06-22 22:28:10 -04:00
daniel-c-harvey
1ed518b018
chore: bump Cerebellum stack to NetBlocks 10.3.32 / BlazorBlocks 10.3.35 / AuthBlocks 10.3.39
...
Delivers the ResultDtoBase.From() null-crash fix to DeepDrft's
Users/Registrations pages.
2026-06-22 22:27:57 -04:00
daniel-c-harvey
7c41aa678d
Revert "Merge bisect-match-skipper into dev"
...
This reverts commit 475e5e671c , reversing
changes made to 0d1da9e63c .
2026-06-22 12:47:02 -04:00
daniel-c-harvey
475e5e671c
Merge bisect-match-skipper into dev
2026-06-22 12:24:00 -04:00
daniel-c-harvey
9971474403
bisect: pin DeepDrftHome to Skipper's known-good package versions
...
AuthBlocks* → 10.3.35, BlazorBlocks* → 10.3.32. Diagnostic downgrade to
isolate null-ref crash on Users/Registrations pages.
2026-06-22 12:23:19 -04:00
daniel-c-harvey
0d1da9e63c
docs: note Phase 20 visualizer-flash fix (coalesced --player-height publish)
2026-06-22 08:38:55 -04:00
daniel-c-harvey
d47c186045
Merge p20-theater-visualizer-flash into dev
2026-06-22 08:36:05 -04:00
daniel-c-harvey
670eaab34d
fix(visualizer): coalesce --player-height publish so Theater ease doesn't thrash the WebGL backing store
2026-06-22 08:19:53 -04:00
daniel-c-harvey
c58b1c9386
Merge bump-cerebellum-deps into dev
2026-06-21 11:55:40 -04:00
daniel-c-harvey
450204cdbf
Bump Cerebellum packages to fix null-Items crash on Users/Registrations pages
...
AuthBlocks → 10.3.38, BlazorBlocks → 10.3.34, NetBlocks → 10.3.31.
Pulls server-side null-Items guard (AuthBlocks) and BlazorBlocks render
guard. Direct refs for BlazorBlocks/NetBlocks raised to avoid NU1605
downgrade conflicts with AuthBlocks 10.3.38's transitive requirements.
2026-06-21 11:50:05 -04:00
daniel-c-harvey
5c22c1626a
docs: reflect Phase 20 Wave 2 theater refinements (full-screen body, eased collapse, playing-release scoping)
2026-06-21 10:18:19 -04:00
daniel-c-harvey
8628fbf215
Merge Theater Mode refinements (Phase 20 Wave 2) into dev
2026-06-21 09:23:56 -04:00
daniel-c-harvey
a23a22a2a3
fix(css): visibility transition 0s->0.45s so allow-discrete defers collapse flip to end of ease-out
2026-06-21 09:20:18 -04:00