Skip to content

chore: merge release into main - #5150

Merged
moq-bot[bot] merged 28 commits into
mainfrom
merge/release-into-main
Oct 10, 2026
Merged

moq-bot[bot] merged 28 commits into
mainfrom
merge/release-into-main

Conversation

@moq-bot

@moq-bot moq-bot Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Carries what release published (versions, CHANGELOGs, backports) back to trunk. Opened by the Back-merge workflow.

Check's land job merges it as a merge commit once Check and Test pass. Never squash. A squash leaves the merge base at the last cut, so the next back-merge conflicts. On a conflict, merge main into merge/release-into-main and resolve it there.

kixelated and others added 15 commits October 9, 2026 14:53
(cherry picked from commit 2c0cf67)

Co-authored-by: Grok 4.7 <noreply@x.ai>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit b0eca50)

Backport drops the chunk_interleaving benchmark, its bench-rtmp recipe,
and the nightly smoke step: nightly only runs on main, which keeps them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Release predates moq_net_sim and announce::Event, so the backported test
runs on paused tokio time and reads announce::Update/Kind instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On drafts 14-17 the subgroup header has no FIRST_OBJECT bit, so a stream
that starts at the live edge reached Frame.decode with a non-zero first
delta and failed the group. Run release's existing first-object peek on
those drafts too, and drop the stream so the subscription resumes at the
next group.

(cherry picked from commit 321fc02, adapted)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…5081)

Backport to release. The Rust regression test writes the draft-18 status
object inline with release's encode form and runs under tokio::test,
since release lacks the end_marker helper and moq_net_sim. Quest edits
dropped.

(cherry picked from commit 52a2a89)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Jchavarria <jose.chavarria@ridgerun.com>
Co-authored-by: Codex <noreply@openai.com>
(cherry picked from commit 7556594)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…5086)

run_unis waited for each accepted uni stream's type before accepting the
next. QUIC opens lower-numbered streams implicitly, so the stream it waited
on could be one whose bytes sat behind connection flow control held by later
streams' unread data, deadlocking the connection with any IETF peer.

Each stream now reads its type and is served in its own child. A stream that
breaks the session records the error in a shared slot, which ends the loop as
before. Backports only the session.rs half of #5086; the resume.rs half fixes
main-only code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uses the rest (#4924)

Co-authored-by: Luke Curley <kixelated@gmail.com>
(cherry picked from commit d653d67)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…4658)

On drafts 19-22 a requester may FIN its request stream right after
SUBSCRIBE (draft-21 section 6.4.2.2). The publisher treated that FIN as a
cancellation, so no media flowed. On draft 17+ any REQUEST_UPDATE byte also
made Reader::poll_closed fail and silently ended the subscription.

Port the subscription half of #4658 to release:
- From draft 19, a clean FIN on a SUBSCRIBE or SUBSCRIBE_NAMESPACE stream
  stops reading but keeps serving; RESET_STREAM or STOP_SENDING cancels.
  Drafts 14-18 keep FIN cancellation.
- From draft 17, a subscription REQUEST_UPDATE is parsed: a priority change
  is applied and acknowledged with REQUEST_OK, anything else is refused
  with NOT_SUPPORTED and ends the subscription with PUBLISH_DONE
  UPDATE_FAILED.
- moq-tokio's wrapped send stream observes STOP_SENDING while idle, which
  the Rust subscriber's FIN plus STOP_SENDING unsubscribe needs once a FIN
  no longer cancels.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drops the quest/ file change, since release does not carry that quest.

(cherry picked from commit 4ae871c)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ci: the back-merge no longer enables auto-merge (backport #4619)
fix(js): drop a headless subgroup before FIRST_OBJECT (backport #5019)
fix(rtmp): reassemble interleaved chunk streams independently (backport #4735)
fix(hang): accept AV1 profile 2 codec strings (backport #5064)
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T00:52:25.558593Z 714e091 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kixelated

Copy link
Copy Markdown
Collaborator

Automated review of 714e0916 (release → main back-merge)

Carries one backport (#5136, "the back-merge no longer enables auto-merge", backport of #4619) from release back to main. The only file touched is sh/gh/back-merge.sh, which drops the gh pr merge --auto --match-head-commit step and the find_pr re-lookup, leaving landing to Check's land job.

I checked that main's .github/workflows/check.yml already has the land job (needs check + test, gated on the repo's own branch, --match-head-commit), so after this merges the script and workflow agree on main. No issues found.

Non-blocking: release's own check.yml has no land job, which is fine since back-merges only target main. CI (Check, Test, platform builds) was still running at review time. Land it as a merge commit, not a squash, as the PR body says.

Verdict: MERGE once CI is green.

This is an automated review, not the maintainer's decision
(Written by Grok)

kixelated and others added 11 commits October 9, 2026 17:27
fix(net): read each IETF uni stream's type in its own task (backport #5086)
fix(moq-mux): configure H.265 from the SPS head when scuffle_h265 refuses the rest (backport #4924)
…start

fix(transcode): refuse a fetch that starts mid-group (backport #4812)
fix(net): accept an End of Group status on a marked subgroup stream (backport #5081)
…ption

fix(net): keep IETF subscriptions alive after a request FIN (backport #4658)
fix(net): give an anonymous dial its own hop (backport #5025)

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Automated review by review (OpenAI)

Reviewed commit: 2c84a50

No new actionable backmerge-specific findings in the cumulative 30-file delta against main at 54dfe98. The source fixes are already present on main, with release-specific API/test adaptations; manifests, lockfiles, and workflow files are unchanged. The independently reported deferred-FIN loss and in-flight priority update issues also exist on main, so they are not introduced by this backmerge.

Direction: resolve the current merge conflicts by merging main into this branch, preserving main’s newer implementations and test harness. Validate the resolved merge and require passing Check/Test before landing as a merge commit.

Verification limits: static GitHub source/patch comparison only; no builds or tests run, and no resolved merge tree to validate. GitHub currently reports mergeable=false / dirty; this head has no Check/Test results (only a skipped Auto-merge check).

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 714e0916c8

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread sh/gh/back-merge.sh
Comment on lines 51 to 52
if [[ -z "$pr" ]]; then
gh pr create --repo "$repo" --head "$branch" --base main \

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Restore automatic merging of the back-merge PR

Whenever release is ahead, the script now ends after creating or locating the PR, so nothing actually queues or merges it. I inspected the reviewed tree: .github/workflows/check.yml contains only check and test jobs, and a repository-wide search found no land job or other merger for this branch. This also matches the CLI help: gh pr create --help says it only creates a pull request, while gh pr merge --help documents --auto --merge as the mechanism removed here. Consequently every release back-merge remains open until manually merged, breaking the advertised release automation.

Useful? React with 👍 / 👎.

Conflicts are release backports whose originals are already on main
(#4812, #4658, #5086, #5081, #5019, #5025); resolved to main's side.
doc/bin/rtmp.md keeps main's text, since #5033 dropped the #4735
internal-limits paragraph the backport carried. Ports
requester_reset_cancels_subscriptions, which only the #4658 backport
carried, into main's publisher test harness.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Automated review by review (OpenAI)

Reviewed commit: 94d177e

The merge-conflict blocker from my previous review is resolved. Complete tree comparison against main at 9828d79 shows only the 33-line requester-reset regression test; runtime code, build inputs, dependencies, and workflows match main. No new actionable findings in the test or conflict resolution.

The earlier missing landing job concern does not apply to this head: land requires Check/Test and pins the merge to the checked head. The #5133 FIN/priority issues noted previously remain preexisting on main, unchanged here.

Direction: wait for passing Check/Test, then land as a merge commit. Verification: static source/tree inspection only; no builds or tests run. GitHub reports mergeable=true; Check/Test are currently queued.

@moq-bot
moq-bot Bot merged commit a6c0db3 into main Oct 10, 2026
8 checks passed
@moq-bot
moq-bot Bot deleted the merge/release-into-main branch October 10, 2026 02:36
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.

3 participants