Audio-Uploads begrenzen, eine Antwort pro Gruppe und klare README #2

Open
peter wants to merge 1 commit from codex/audio-limits-single-winner-20261018 into main
First-time contributor

Multipart-Uploads konnten die bestehende Audiogrenze umgehen, und verspätete oder doppelte Geräteanfragen konnten mehrere Antworten für denselben Aufruf auslösen. Die HTTP-Audioaufnahme prüft jetzt den gesamten Requestbody vor dem Multipart-Parser, auch bei fehlendem oder falschem Content-Length. Parserfehler und Abbrüche geben Ressourcen wieder frei.

Eine separate, getestete Geräteauswahl wartet auf das Anmeldefenster und begrenzt auf ausstehende Uploads. Sie schreibt den Gewinner genau einmal fest. Doppelte gleichzeitige Anfragen desselben Geräts erhalten HTTP 409; spätere Aufnahmen eröffnen innerhalb derselben Gruppe keine zweite Antwort. Abgebrochene oder fehlerhafte Teilnehmer blockieren die übrigen Geräte nicht unnötig.

Die deutsche README erklärt den Mac-Schnellstart, Whisper/LM Studio/TTS, Browser-Test, HomeWatch-Anbindung, Uploadgrenzen, Auswahlregeln und Fehlerbehebung. Ausführliche Protokoll- und Bestandsnotizen bleiben in REFERENCE.md erhalten. Die neuen Tests laufen ohne Mac, Mikrofon oder Modellgewichte.

Validierung: Alle 14 modellfreien Regressionstests mit echten ASGI-Anfragen bestehen und laufen zusätzlich in Forgejo CI. Sie prüfen Uploadgrenzen, Chunking, Multipart-Fehler/Ressourcenfreigabe, verspätete Teilnehmer, Timeouts, Doppelanfragen und Abbruch. Ein HTTP-Test belegt genau einen Pipeline-Aufruf bei zwei Geräten; ein weiterer deckt A1/A2/B mit HTTP 422/409/200 ab. Echter Mikrofon-/Modellbetrieb und mehrere physische Uhren sind separat zu prüfen.

Betrieb: weiterhin nur ein Serverprozess für die gemeinsame Geräteauswahl. Diese Änderung ergänzt keine Client-Authentifizierung und keine Decoder-, WebSocket- oder TCP-Limits; diese Grenzen sind ausdrücklich dokumentiert.

Multipart-Uploads konnten die bestehende Audiogrenze umgehen, und verspätete oder doppelte Geräteanfragen konnten mehrere Antworten für denselben Aufruf auslösen. Die HTTP-Audioaufnahme prüft jetzt den gesamten Requestbody vor dem Multipart-Parser, auch bei fehlendem oder falschem Content-Length. Parserfehler und Abbrüche geben Ressourcen wieder frei. Eine separate, getestete Geräteauswahl wartet auf das Anmeldefenster und begrenzt auf ausstehende Uploads. Sie schreibt den Gewinner genau einmal fest. Doppelte gleichzeitige Anfragen desselben Geräts erhalten HTTP 409; spätere Aufnahmen eröffnen innerhalb derselben Gruppe keine zweite Antwort. Abgebrochene oder fehlerhafte Teilnehmer blockieren die übrigen Geräte nicht unnötig. Die deutsche README erklärt den Mac-Schnellstart, Whisper/LM Studio/TTS, Browser-Test, HomeWatch-Anbindung, Uploadgrenzen, Auswahlregeln und Fehlerbehebung. Ausführliche Protokoll- und Bestandsnotizen bleiben in REFERENCE.md erhalten. Die neuen Tests laufen ohne Mac, Mikrofon oder Modellgewichte. Validierung: Alle 14 modellfreien Regressionstests mit echten ASGI-Anfragen bestehen und laufen zusätzlich in Forgejo CI. Sie prüfen Uploadgrenzen, Chunking, Multipart-Fehler/Ressourcenfreigabe, verspätete Teilnehmer, Timeouts, Doppelanfragen und Abbruch. Ein HTTP-Test belegt genau einen Pipeline-Aufruf bei zwei Geräten; ein weiterer deckt A1/A2/B mit HTTP 422/409/200 ab. Echter Mikrofon-/Modellbetrieb und mehrere physische Uhren sind separat zu prüfen. Betrieb: weiterhin nur ein Serverprozess für die gemeinsame Geräteauswahl. Diese Änderung ergänzt keine Client-Authentifizierung und keine Decoder-, WebSocket- oder TCP-Limits; diese Grenzen sind ausdrücklich dokumentiert.
Bound audio uploads and seal one answering device per wake group
All checks were successful
Audio upload and arbitration regression tests / audio (push) Successful in 10s
Audio upload and arbitration regression tests / audio (pull_request) Successful in 9s
855595e677
All checks were successful
Audio upload and arbitration regression tests / audio (push) Successful in 10s
Audio upload and arbitration regression tests / audio (pull_request) Successful in 9s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin codex/audio-limits-single-winner-20261018:codex/audio-limits-single-winner-20261018
git switch codex/audio-limits-single-winner-20261018

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff codex/audio-limits-single-winner-20261018
git switch codex/audio-limits-single-winner-20261018
git rebase main
git switch main
git merge --ff-only codex/audio-limits-single-winner-20261018
git switch codex/audio-limits-single-winner-20261018
git rebase main
git switch main
git merge --no-ff codex/audio-limits-single-winner-20261018
git switch main
git merge --squash codex/audio-limits-single-winner-20261018
git switch main
git merge --ff-only codex/audio-limits-single-winner-20261018
git switch main
git merge codex/audio-limits-single-winner-20261018
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tompeak/Demokrit!2
No description provided.