Skip to content

fix(streaming): honor If-Range and HEAD (PinePods#986 follow-up) - #1

Closed
ashtonian wants to merge 1 commit into
honzup:fix/stream-range-requestsfrom
ashtonian:fix/pr-986-range-validation
Closed

ashtonian wants to merge 1 commit into
honzup:fix/stream-range-requestsfrom
ashtonian:fix/pr-986-range-validation

Conversation

@ashtonian

@ashtonian ashtonian commented Oct 18, 2026 •

Copy link
Copy Markdown

Replaced by the primary-repository draft madeofpendletonwool#1012. That branch preserves the original commits, incorporates current main, and passes all 18 Rust API tests. This fork-targeted draft is closed in favor of that upstream submission.

Follow-up to madeofpendletonwool#986, targeting @honzup's fix/stream-range-requests branch. The existing Range forwarding remains the foundation; credit to @honzup and @davegallant for the original fix/diagnosis. Related: madeofpendletonwool#980.

Forwarding If-Range alone does not validate it in the file-serving dependency. A stale validator must produce the complete resource instead of partial bytes from a different file. Extract the authorized file-serving step into a helper, check response validators, retry without Range on mismatch, and preserve HEAD requests.

Adds regressions for full/bounded/open/suffix responses, unsatisfiable ranges, stale and matching validators, HEAD, and conditional caching, plus focused CI. Authorization and path resolution remain in the existing handler. No runtime dependency is added.

Validation: all 14 Rust API tests passed against this branch's locked dependencies, including four media-stream regressions (cargo test --locked --manifest-path rust-api/Cargo.toml). Current-main validation was also performed during the original review. Physical iOS playback remains pending. GitHub Actions currently report action_required with no test jobs run.

This draft supplements madeofpendletonwool#986 and is intended to be folded into that PR.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant