ben
e77a18c49f
Stream Whisper uploads with curl so large audio does not OOM.
2026-08-13 20:29:59 +02:00
ben
1898be4def
Point the stage checkout at Gitea and keep its host ports off prod Reverb.
...
CI / test (push) Successful in 34s
CI / build-and-push (push) Successful in 6s
CI / deploy-stage (push) Skipped
CI / deploy (push) Successful in 12s
Cloning from the prod directory made SHA fetches fail, and APP_HOST_PORT 18180 collided with production Reverb.
2026-08-13 18:40:06 +02:00
ben
3601ce8b6f
Stop IndexTest from treating Flux CSS 80% as a transcription percent.
...
CI / test (push) Successful in 22s
CI / build-and-push (push) Successful in 36s
CI / deploy (push) Skipped
CI / deploy-stage (push) Failing after 1s
assertDontSee('0%') matched unrelated classes like transparent_80% and the disk meter.
2026-08-13 18:26:33 +02:00
ben
5e76bfdec1
Add a stage branch deploy beside production on z00.
...
CI / test (push) Failing after 23s
CI / build-and-push (push) Skipped
CI / deploy (push) Skipped
CI / deploy-stage (push) Skipped
Pushing stage runs CI and deploys to stage.transcribe.z00.nu with its own data, Reverb credentials, and Caddy network.
2026-08-13 18:19:47 +02:00
ben
500a88a8c1
Show the live transcript as one flowing row of confidence chips.
...
Drop per-segment cards and plain text so only colored word chips wrap in a single container while transcription runs.
2026-08-13 16:45:40 +02:00
ben
3a9cf50529
Keep live Whisper segments on screen without a page refresh.
...
Treat streamed chunks as appends, stop Livewire from remorphing the Alpine tree, and hydrate from HTTP while a run is active so segment cards appear as they arrive.
2026-08-13 16:35:33 +02:00
ben
187b6b5d12
Stream Whisper verbose metadata live without overflowing Reverb.
...
Persist accumulated verbose_json on the recording and broadcast only transcript/whisper deltas so the show page can render language, segments, word timestamps, and confidence while a run is in progress.
2026-08-13 15:55:51 +02:00
ben
4c73620458
Stream Whisper segments so the UI can show live transcript text.
...
Consume faster-whisper SSE instead of blocking on one JSON response, persist growing text and progress over Reverb, and drop the fake percent heartbeat.
2026-08-13 12:34:47 +02:00
ben
5cea5192c2
Add transcription progress handling and local Whisper integration.
...
Implement a new method for calculating elapsed transcription time in the Recording model. Enhance the TranscriptionService to handle local Whisper requests, including asynchronous processing and progress reporting. Update the recordings index view to display transcription progress percentage. Add unit tests for the new transcription service functionality.
2026-08-13 12:12:10 +02:00
ben
1877fee258
Fix flaky transcription duration assertion in CI.
...
CI / test (push) Successful in 20s
CI / build-and-push (push) Successful in 38s
CI / deploy (push) Successful in 9s
Use integer timestamps for duration and pin the test clock to a whole second so SQLite round-trips stay stable.
2026-08-13 00:49:53 +02:00
ben
b3fb74fb1b
Make the disk space meter visible and show used percent.
...
CI / test (push) Failing after 31s
CI / build-and-push (push) Skipped
CI / deploy (push) Skipped
Use an inline-colored full-width progress bar so the fill renders without relying on purged Tailwind classes.
2026-08-13 00:37:20 +02:00
ben
f42d124593
Harden stuck Whisper recovery and record transcription duration.
...
Fail jobs on timeout, treat stale reserved queue rows as orphans, skip migrate/seed on queue/reverb boot, and store how long each successful run took.
2026-08-13 00:12:06 +02:00
ben
ab14f5e452
Disable Vite in tests so CI can run without a frontend build.
...
CI / test (push) Successful in 27s
CI / build-and-push (push) Successful in 1m34s
CI / deploy (push) Failing after 14s
Feature tests were failing on the host runner with ViteManifestNotFoundException after the flaky Node build step was removed.
2026-08-12 23:25:57 +02:00
ben
8a66cf6f63
Improve recordings list sorting and live show-page status updates.
...
Add sortable columns with a fixed status width, and keep the show page in sync via Echo, polling, and Alpine hydrate while transcription runs.
2026-08-12 21:27:03 +02:00
ben
b7c36b8b3b
Compact recordings list rows to title plus one transcript preview line.
2026-08-12 20:36:22 +02:00
ben
c17f8fb506
Improve live recordings UI, upload flow, and default Flux theme.
...
Refresh list status over Reverb with polling fallback, clarify queued vs processing, streamline upload empty states, and seed an admin login.
2026-08-12 20:14:35 +02:00
ben
148ba91816
Add delete button with confirm modal on each recordings list row.
2026-08-12 19:23:35 +02:00
ben
34ccf0c32b
Move recordings UI to Livewire pages with Flux components.
...
Replace controller-driven Blade views with full-page Livewire index/show/create flows so Flux tables, toasts, and uploads work natively.
2026-08-12 19:17:52 +02:00
ben
bfcfc12f58
Add Fortify auth, Flux dark mode, demo seed, and Docker hot reload.
...
Protect recordings per user, seed a demo login on container start, and bind-mount the app with Vite HMR for local Compose development.
2026-08-12 18:38:53 +02:00
ben
e81a27cb8f
Raise audio upload limit to 2 GB per file.
...
Update validation, dropzone checks, Docker PHP ini, and docs so multi-hour recordings can be uploaded.
2026-08-12 17:42:55 +02:00
ben
771ee8db5a
Add Docker stack, Reverb live progress, and duplicate upload detection.
...
Ship FrankenPHP Compose services with Reverb WebSockets for real-time transcription status, skip re-uploading identical audio via content hash, and format disk usage without requiring intl.
2026-08-12 17:35:48 +02:00
ben
352b564f3a
Add DiskSpaceService and DiskSpaceBar component for monitoring disk usage
...
Implement DiskSpaceService to provide snapshots of disk space usage, including total, free, and used bytes, as well as human-readable formats. Create DiskSpaceBar component to display disk usage information in the UI, including a progress bar that visually represents used space. Update app layout to include the DiskSpaceBar and add tests to ensure functionality of the disk space service and its integration in the layout.
2026-08-12 16:33:57 +02:00
ben
1dcdfc0ed0
Auto-queue transcription on upload and clarify pending status.
...
Batch uploads were only storing files as pending without dispatching Whisper jobs; queue them immediately, add a bulk pending action, and show human-readable status labels.
2026-08-12 16:26:36 +02:00
ben
21b17c7657
Use local faster-whisper only for transcription.
...
Drop cloud and Ollama engine choices so audio stays on-machine via Docker Whisper, and tighten orphan detection plus UI around a single local flow.
2026-08-12 15:34:16 +02:00
ben
bc6cb5efa4
Fix stuck transcriptions and make transcripts stoppable and searchable.
...
Raise queue retry_after above the job timeout, recover orphaned runs, allow stop/restart with any engine, and keep finished transcripts searchable in the recordings list.
2026-08-12 15:10:33 +02:00
ben
eb0f019025
Fix Whisper healthcheck and root redirect test.
2026-08-12 14:42:30 +02:00
ben
e0400aadef
Add live transcription progress and Docker Whisper.
...
Surface stage, percent, and elapsed time while jobs run, and ship Compose so local confidential transcription can use faster-whisper on port 8090.
2026-08-12 14:32:56 +02:00
ben
771658040b
Add first edition of AndyTranscribe.
2026-08-12 13:59:33 +02:00