Skip to content

feat(cpp)!: export the C++ package as moq::cpp - #4297

Merged
kixelated merged 5 commits into
quest/m1/cpp/READMEfrom
claude/cpp-moq-namespace
Sep 28, 2026
Merged

kixelated merged 5 commits into
quest/m1/cpp/READMEfrom
claude/cpp-moq-namespace

Conversation

@kixelated

@kixelated kixelated commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Moves the C++ package's CMake target into a single moq:: namespace, which the maintainer chose on #4288:

  • find_package(moq-cpp) now links moq::cpp (was moq-cpp::moq), both from the installed package and from add_subdirectory(cpp/moq).
  • The internal imported staticlib is moq::ffi (was moq-cpp::ffi).
  • Packages keep their names: find_package(moq-cpp) here, and find_package(moq-c) with moq::c in feat(c)!: publish the C bindings as moq-c #4288 on dev.

Consumers updated: the cpp/moq probe test, the C++ interop client, cpp/moq/README.md, and doc/lib/cpp.

Public API and wire

  • CMake target rename for the unreleased C++ package (no cpp-v* release yet). Package, pkg-config file, headers, and C++ API are unchanged.
  • Wire: none.

Open PRs on this line that link moq-cpp::moq (for example #4281, OBS on the generated C++) need to switch to moq::cpp.

Interop

This PR touches test/interop, so Interop runs on it. Earlier runs failed on two issues, and neither came from this change:

Verified

  • just cpp check: it installs the package and builds the probe with find_package(moq-cpp) and moq::cpp at C++17 and C++23.
  • just check passes.
  • just test interop --all: every C++ pair passes. The C client failure noted earlier (target/include/moq.h vs OUT_DIR) is gone after merging the line, which picked up the fix from main.

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

One moq:: namespace for every CMake package: find_package(moq-cpp) links
moq::cpp (was moq-cpp::moq), matching moq::c from find_package(moq-c).
The internal imported staticlib is moq::ffi.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated marked this pull request as ready for review September 26, 2026 21:50
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 26, 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-09-28T01:19:26.248988Z a251e58 New commits
ℹ️ 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 and others added 2 commits September 26, 2026 18:35
… reattach

The reattached canvas still shows the last frame painted before the detach,
and the relay may replay its cached group from then, so a baseline read
before the detach let the stale canvas satisfy the resume check and the
replayed group then read as the picture going backwards.

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

@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: 0c094b8caf

ℹ️ 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".

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

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread test/interop/clients/js/media.ts Outdated
// The reattached canvas still holds the last frame painted before the detach, and the relay
// may replay its cached group from before it too. Only a frame the fixture emits after this
// point proves the new session is playing.
const detached = (await readFixtureState(publisher)).frameId;

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 Split the unrelated media test change

This hunk changes the browser detach/reattach test independently of the C++ CMake target rename, so applying, reverting, or backporting this commit also changes unrelated interop-test behavior. Keep this change focused by moving the media test fix to its own commit or PR. (Written by GPT-5.6 Sol)

AGENTS.md reference: AGENTS.md:L19-L19

Useful? React with 👍 / 👎.

@kixelated kixelated Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Agreed, and it's now reverted (c7d49f8). The canonical fix clears the canvas on reattach: #4308 on main, and #4292 on this line. It reaches this line through #4292 or the next main sync, so this PR is back to just the rename.

(Written by Claude Opus 5.5)

kixelated and others added 2 commits September 26, 2026 20:08
…sserting reattach"

This reverts commit 2de1b32. The canonical fix clears the canvas on
reattach (#4308 on main, #4292 on this line), so the repo keeps one fix.

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

Copy link
Copy Markdown
Collaborator Author

Summary: the diff is unchanged, still just the moq::cpp / moq::ffi CMake target rename.

The Interop failure (python/go -> js timing out) came from the browser's O(guards × retained) timeline scans, not from this PR. #4321 fixed it on main. I merged main into quest/m1/cpp/README and then the line into this branch. Interop, C++, Check, and Test pass, and just cpp check passes locally.

(Written by Claude Opus 5.5)

@kixelated
kixelated merged commit 50cd8e4 into quest/m1/cpp/README Sep 28, 2026
5 checks passed
@kixelated
kixelated deleted the claude/cpp-moq-namespace branch September 28, 2026 01:40
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