Repository navigation
feat(ffi): export kio's clock as moq_clock_* - #390
Merged
Merged
Conversation
Quest-Claim: c2fbdc40c41c001e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Maintainer decision, 2026-11-01: hold this PR until rust2 has one moq pin again, once TypeScript can move to moq's main (quest (written by Claude Opus 5.5) |
This was referenced Nov 1, 2026
…-limit # Conflicts: # ffi/MIGRATE.md # ffi/justfile # quest/m1/ffi-export/recursion-limit.md # ts/justfile
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-limit # Conflicts: # ts/justfile
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-limit # Conflicts: # quest/m1/ffi-export/crates.md
kixelated
marked this pull request as ready for review
November 4, 2026 19:07
|
This run was cancelled before it finished. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 2 minutes. View limit details
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Problem
The exporter pinned moq apart from
just ts, at30f25c04, since past moq-dev/moq#7032 moq-tokio'sSendcheck overflowed the recursion limitjust ffi moqdenies. moq'smainpasses that check again, and has since moved moq-clock intokio::clock(moq-dev/moq#7027), sors/moq-clockis gone.Approach
One moq pin for
just tsandjust ffi: the model fixture's moq-net rev, now moq'smainatffcb7cd9, whichjust tsreads andffi/justfilereads from it withjust --evaluate. ffi still checks it out in its own clone, as fix(ffi): check out ffi's moq pin apart from ts's #423 keeps them apart.The model fixture follows the pin: its snapshot is regenerated and its differential test passes. moq-net no longer depends on uuid, so the fixture's wasm32 uuid dependency goes.
just ffi standinexports kio's clock in moq-clock's place, so its items aremoq_clock_*.ffi/moq/ffi.tomlfollowsjust ffi censusand the export over the 697 moq commits the pin moves: new refusals excluded, excludes that now name nothing dropped, andPattern::capturesexported.Only the renames the pin forces, each keeping the old name's form where one existed:
clock::wallismoq_clock_now_wallandclock::intervalismoq_clock_interval_every.Clockheldmoq_clock, which kio's clock now owns, so it ismoq_mux_clock.auth::RequestKindismoq_request_kind, besideauth::Request::kind.hang::Catalog::mediaismoq_hang_catalog_to_media(and_extra_,_ext_per instance), beside its fieldmedia.Every rename is a gap the configless naming quest, C names and crates with no config, removes.
The moq programs in all seven languages follow moq's API: JSON writes take a broadcast-clock timestamp on a timed track (feat!: JSON writes take a broadcast-clock timestamp in every binding moq#7691),
path::Error, andorigin::Consumer::request. The bench'smoq-c.cpasses moq-c'smoq_timestamp, andts/bench/moq.tspasses a group's sequence as thebigintmoq's TypeScript now takes (feat(net)!: carry group IDs past 2^53 as bigint moq#7681).Finishes
quest/m1/ffi-export/crates.mdandquest/m1/ffi-export/recursion-limit.md, and deletes both. Atffcb7cd9,just ffi moqbuilds the export with-D recursion_depth_exceeding_limit.Impact
moq_nowismoq_clock_now(C++moq::clock_now, Kotlin, Swift, DartclockNow, GoClockNow, Pythonclock_now), and each of moq-clock's items moves undermoq_clock_. moq-mux'sClockismoq_mux_clock,auth::RequestKindismoq_request_kind, andhang::Catalog::mediaismoq_hang_catalog_to_media. moq's upstream API changes follow.just ffi's default moq revision isjust ts's.Alternatives
ts/target/moqitself: fix(ffi): check out ffi's moq pin apart from ts's #423 moved ffi off it so neither recipe touches the other's checkout.Catalog::mediainstead of renaming it per instance: drops a method that maps.Follow-ups
Catalog::medianeeds one rename per instance. The configless naming quest removes renames altogether.Decisions
From the maintainer, 2026-11-04: the exporter becomes configless in names.md, so this PR keeps only the renames the pin forces and makes no other naming choice. The question of moq-mux's
ClockC name is dropped:moq_mux_clockstands until that rule replaces it. The earlier split-pin question cleared once #397 moved TypeScript to moq's main (hold).Review
Round 1:
quest review, Codex gpt-6.1-sol at medium effort, on head9d954422: no findings. Head5b17e0b4adds only a merge ofmain(#598's quest files), whose one conflict keeps this PR's deletion ofcrates.md.just ci,just ffi moq, andjust ts moqpass on9d954422;just checkpasses on5b17e0b4. Earlier, on this pin,just ts census,just ffi bench, andjust ts benchpassed.🤖 Generated with Claude Code