Repository navigation
Conversation
Quest-Claim: 849684300b525059
Drop moq_crypto::cpu::check and UnsupportedCpu, since rind 0.4 has no runtime CPU check, and move every caller to the adapters' upstream APIs. 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>
This branch has not been deployed
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.
Moves MoQ to rind 0.4 and the patch releases of rind-rustls, rind-jsonwebtoken, rind-object-store, and rind-rcgen that make each adapter's API its upstream's, so
mainkeeps building the day they publish. Finishes quest/m0/rind-adapters.md.Changes
Cargo.toml:rind0.4.0 (keepingwipe),rind-rustls0.23.4,rind-rcgen0.14.4,rind-jsonwebtoken11.0.4,rind-object-store0.14.4.Cargo.lockis not updated: those versions are not on crates.io yet, so CI cannot resolve this branch until they publish.rind_rustls::default_provider()andrind_object_store::default_provider()lose their.unwrap()/.expect(..)/?;rind_jsonwebtoken::default_provider().expect(..)becomes&rind_jsonwebtoken::DEFAULT_PROVIDER;KeyPair::generate(&alg)becomesgenerate_for(&alg)everywhere (one test wants P-384);to_pkcs8().secret_pkcs8_der()becomesserialize_der()/serialized_der().moq_crypto::cpu::checkandmoq_crypto::cpu::UnsupportedCpuare deleted;moq_crypto::cpukeeps only theDitre-export.moq_crypto::provider::provider()returnsProviderandinstall_default()returns(), since neither can fail now.moq_tokio::cryptore-exports follow, and itscheck/UnsupportedCpure-exports go.UnsupportedCpuerror variants go from moq-auth, moq-crypto's e2ee, moq-hls, moq-quic, moq-rtmp, moq-tokio (tls, mdns, quic backend), moq-uring, moq-webrtc (and p2p), and qmux, with the doc comments that named them.default_provider()become infallible, and dimpl'sConfigError::UnsupportedCpugoes. moq-quic's privateprovider()wrapper, which only translated the CPU error, is inlined; moq-webrtc's privatertc_config()and theResultaroundrtc_config_with_codecs/rtc_with_codecsgo.moq-relay'sRelay::loadandmoq-auth'scrypto::initno longer check.quest/m0/README.md.Public API
Breaking (
!):cpu::checkandcpu::UnsupportedCpuremoved;provider::provider()returnsProviderinstead ofResult<Provider, UnsupportedCpu>;provider::install_default()returns();e2ee::Error::UnsupportedCpuremoved.crypto::checkandcrypto::UnsupportedCpuremoved;crypto::provider()/install_default()as above;UnsupportedCpuvariants removed from its TLS, mdns, and QUIC backend errors.UnsupportedCpuvariant.Migration: drop calls to
cpu::check(), drop the?/.unwrap()afterprovider()andinstall_default(), and delete match arms onUnsupportedCpu. rind 0.4 refuses an unsupported target at compile time, so there is nothing left to handle at runtime.Wire: none.
Choices made without asking
cpu::checkandUnsupportedCpurather than keep a check that cannot fail. That madeprovider()andinstall_default()infallible, which the quest's "moq_crypto::providerkeeps its signatures" did not anticipate; keeping aResultthat can never beErrwould be the compatibility shim the guidelines forbid.Verification
rind 0.4 is not published and its CPU-check removal has not landed on rind
main, so the branch was checked against a local rind with an uncommitted[patch.crates-io]pointing all five crates at: #519's branch (771f0e6e) merged with #548's branch (versions), plus a local edit removingcheckandMissingFeaturefromrind::cpu's public re-export to stand in for the CPU-check removal.cargo check --workspace --all-targets --all-features: passes.cargo clippy --workspace --all-targets --all-features -- -D warnings: passes.cargo fmt --all: applied.cargo test --all-featuresfor moq-crypto, moq-auth, moq-quic, and moq-tokio: passes. moq-webrtc undercargo nextest: 1677 passed (its str0m tests each set a global tracing subscriber, so they need nextest's process per test).just checkdid not run: the host'squest gatequeue held it past two hours. Run it once rind publishes;check cfails onmainalready (quest/m0/check-c-moqinstance.md).Waiting
cargo search rindshows 0.4.0, and that each of rind-rustls, rind-jsonwebtoken, rind-object-store, and rind-rcgen has a release whoserindrequirement is 0.4, fromhttps://crates.io/api/v1/crates/<crate>/<version>/dependencies; then correct the four adapter requirements inCargo.tomlto those versions, runcargo update -p rind -p rind-rustls -p rind-jsonwebtoken -p rind-object-store -p rind-rcgen, runjust check, and mark ready. Re-read Fix the JS packages and release. #519's and the CPU-check removal's Public API sections when they merge, in case a signature moved.Follow-ups
MIGRATE.mdfor moq-auth, moq-crypto, moq-hls, moq-rtmp, and moq-tokio still describe the shared unsupported-CPU error from the last cut; the next release cut writes the migration above into them.Models
Size: S
Implementer: Claude Code, claude-opus-5-5, unknown effort
🤖 Generated with Claude Code
(Written by Claude Opus 5.5)