From 7d2404f9aeed1feece1b26a49c485427a373cbb4 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Thu, 1 Oct 2026 20:07:23 -0700 Subject: [PATCH 1/3] quest: plan ffi-shape request accept and the upgrade-page renames Co-Authored-By: Claude Opus 5.5 --- quest/m1/ffi-shape/README.md | 6 +++++- quest/m1/ffi-shape/request-accept.md | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 quest/m1/ffi-shape/request-accept.md diff --git a/quest/m1/ffi-shape/README.md b/quest/m1/ffi-shape/README.md index f18042a408..5c167993d0 100644 --- a/quest/m1/ffi-shape/README.md +++ b/quest/m1/ffi-shape/README.md @@ -49,12 +49,16 @@ work no child does: - A layers guide under `doc/lib` mapping net, media, json, flate, audio, and video to each language's module, linked from every binding page. - The bindings section of the following release's upgrade page: old call to - new call per language. + new call per language, including every rename the children made (#4697: + `subscribe` to `consume`, Go's `All(ctx)` iterators and `ConnectionStatus*` + constants, Kotlin and Dart `announced().updates()`, config records in place + of setters and named parameters). - `just test interop --all` green on the finished line. ## Required - [Net](/quest/m1/ffi-shape/net.md) - client and server take config records, snapshots are records, and the verbs match moq-net +- [Request accept](/quest/m1/ffi-shape/request-accept.md) - a request's origins are `accept()` arguments, removing the last root setters - [Media](/quest/m1/ffi-shape/media.md) - catalog, import, and container consume move under `media` - [Codecs](/quest/m1/ffi-shape/codec.md) - audio and video encoders and decoders move under their own namespaces with one constructor shape diff --git a/quest/m1/ffi-shape/request-accept.md b/quest/m1/ffi-shape/request-accept.md new file mode 100644 index 0000000000..6863008212 --- /dev/null +++ b/quest/m1/ffi-shape/request-accept.md @@ -0,0 +1,17 @@ +# [XS] A request's origins are accept() arguments + +## Goal + +`MoqRequest` loses its `set_publish`/`set_consume` setters. The origins a +server serves an incoming session with are arguments to `accept()`, in +moq-ffi and every wrapper, so the root namespace has no setters left. + +## Plan + +[Net](/quest/m1/ffi-shape/net.md) (#4697) replaced every other root setter +with config records but left these two. Mirror the shape of moq-net's +server-side request accept. Use one optional argument per origin, or a small +record if the wrapper idioms read better with one. Update the `doc/lib` +samples and the server examples in every binding. + +Public API: breaking in every binding, on `dev` with the line. Wire: none. From ca44fe44b6c9cbed7eda4641e7401c5d5bb6a3ca Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Thu, 1 Oct 2026 20:08:48 -0700 Subject: [PATCH 2/3] quest: correct the moq-net request accept shape in ffi-shape/request-accept Co-Authored-By: Claude Opus 5.5 --- quest/m1/ffi-shape/request-accept.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/quest/m1/ffi-shape/request-accept.md b/quest/m1/ffi-shape/request-accept.md index 6863008212..853455ad16 100644 --- a/quest/m1/ffi-shape/request-accept.md +++ b/quest/m1/ffi-shape/request-accept.md @@ -9,8 +9,10 @@ moq-ffi and every wrapper, so the root namespace has no setters left. ## Plan [Net](/quest/m1/ffi-shape/net.md) (#4697) replaced every other root setter -with config records but left these two. Mirror the shape of moq-net's -server-side request accept. Use one optional argument per origin, or a small +with config records but left these two. moq-net's server request takes its +origins through consuming `with_publisher`/`with_subscriber` builders before +`ok()`; a shared FFI handle can't consume itself, so the origins move onto +`accept()` instead. Use one optional argument per origin, or a small record if the wrapper idioms read better with one. Update the `doc/lib` samples and the server examples in every binding. From 22b24c7584fc5e760179765f072f2eb85d54b8a4 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Thu, 1 Oct 2026 20:12:06 -0700 Subject: [PATCH 3/3] quest: note request-accept's server-default origins Co-Authored-By: Claude Opus 5.5 --- quest/m1/ffi-shape/request-accept.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/quest/m1/ffi-shape/request-accept.md b/quest/m1/ffi-shape/request-accept.md index 853455ad16..7daab7fd78 100644 --- a/quest/m1/ffi-shape/request-accept.md +++ b/quest/m1/ffi-shape/request-accept.md @@ -13,7 +13,12 @@ with config records but left these two. moq-net's server request takes its origins through consuming `with_publisher`/`with_subscriber` builders before `ok()`; a shared FFI handle can't consume itself, so the origins move onto `accept()` instead. Use one optional argument per origin, or a small -record if the wrapper idioms read better with one. Update the `doc/lib` +record if the wrapper idioms read better with one. + +`MoqServerConfig.publish`/`consume` stay as the server defaults that seed each +request, and an omitted argument inherits them. Today `set_publish(None)` can +also clear an inherited origin; keep or drop that case on purpose, and test +inherited, overridden, and (if kept) cleared origins. Update the `doc/lib` samples and the server examples in every binding. Public API: breaking in every binding, on `dev` with the line. Wire: none.