Skip to content

Piper: stream ingress uploads to allow voices larger than 16 MiB - #4912

Open
WhoCares1337 wants to merge 2 commits into
home-assistant:masterfrom
WhoCares1337:piper-ingress-stream
Open

WhoCares1337 wants to merge 2 commits into
home-assistant:masterfrom
WhoCares1337:piper-ingress-stream

Conversation

@WhoCares1337

@WhoCares1337 WhoCares1337 commented Oct 29, 2026 •

Copy link
Copy Markdown

Uploading a custom voice through the Piper web UI fails with HTTP 413 for any file over 16 MiB, which covers nearly every medium-quality voice (~60 MB). The Supervisor reads non-streamed ingress bodies with aiohttp's client_max_size (16 MiB). With ingress_stream: true, POST bodies are passed on as a stream, and that limit doesn't apply (supervisor/api/ingress.py). The web UI (Flask/Werkzeug) handles the chunked body without problems.

Tested on HA OS with a local copy of the add-on with ingress_stream: true: a 60.6 MB voice uploaded successfully, where 2.5.2 returns 413.

Fixes home-assistant/supervisor#7381

Summary by CodeRabbit

  • New Features
    • Upload larger voice files through the web interface, including typical medium-quality voices of around 60 MB.
  • Bug Fixes
    • Prevented HTTP 413 errors when uploading voice files larger than 16 MiB.

@home-assistant home-assistant Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @WhoCares1337

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@home-assistant
home-assistant Bot marked this pull request as draft October 29, 2026 10:49
@home-assistant

Copy link
Copy Markdown

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review.

Walkthrough

The Piper add-on configuration now enables ingress streaming and updates the version to 2.5.3. The changelog records the change and the upload-size issue.

Changes: Piper ingress uploads

Layer / File(s) Summary
Enable ingress streaming and document the release
piper/config.yaml, piper/CHANGELOG.md
The configuration enables ingress_stream and updates the add-on version to 2.5.3. The changelog describes uploads larger than 16 MiB and the HTTP 413 issue.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix · Severity of issue fixed: Medium

Suggested reviewers: synesthesiam

Merge Risk: Minimal · previous review 90082

The add-on enables ingress streaming and documents the large-upload fix; no merge-blocking risk is identified.

Pre-merge checks: Passed 4
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: enabling streamed Piper ingress uploads for voice files larger than 16 MiB.
Linked Issues check Passed The PR addresses directly linked issue #7381. piper/config.yaml enables ingress_stream, which implements the stated streaming-ingress fix for uploads larger than 16 MiB. The changelog records the …
Out of Scope Changes check Passed The supplied change summary lists only the Piper version update, the ingress_stream configuration, and a related changelog entry. These changes support the upload fix in #7381. No unrelated change i…
Full details: Linked Issues check

Explanation

The PR addresses directly linked issue #7381. piper/config.yaml enables ingress_stream, which implements the stated streaming-ingress fix for uploads larger than 16 MiB. The changelog records the 2.5.3 behavior. The supplied change summary reports no other coding requirement.

Full details: Out of Scope Changes check

Explanation

The supplied change summary lists only the Piper version update, the ingress_stream configuration, and a related changelog entry. These changes support the upload fix in #7381. No unrelated change is demonstrated.

Finishing Touches
Fix failing CI checks
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Create a new PR

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6386a52c-c7c3-4ff1-add0-67972ffd9596
Commits

Reviewing files that changed from the base of the PR and between 209fedd and 9008246.

Files selected for processing: 2
  • piper/CHANGELOG.md
  • piper/config.yaml

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ingress uploads larger than 16 MiB fail with HTTP 413 (e.g. Piper add-on custom voice upload)

1 participant