feat(xmtp_proto): XIP-83 d14n QueryApi.Subscribe protos (vector-cursor topics, OriginatorEnvelope delivery)#3781
Conversation
…r topics, OriginatorEnvelope delivery) Regenerate xmtp_proto from xmtp/proto main (f04e01a9, #338) to pull in the decentralized (d14n) XIP-83 binding: QueryApi.Subscribe (bidi mutable subscription) + SubscribeRequest/ SubscribeResponse/Ping/Pong with per-originator vector cursors and OriginatorEnvelope delivery. Purely additive generated code (proto_version bump + xmtpv4 message_api Subscribe types + descriptor); unrelated generator drift restored to main per the established regen pattern. Nothing consumes the new types yet — the d14n transport + actor follow in later PRs, mirroring the v3 client stack (#3770 -> #3771 -> #3772) on the shared bidi_stream primitive. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @tylerhawkes's task —— View job Code Review Complete ✓Review Date: 2026-06-24 23:18 UTC SummaryThis PR regenerates proto definitions for XIP-83 d14n Findings✅ Code Quality: Excellent
✅ Scope Verification: Accurate
✅ Architecture: Sound
✅ Security & Performance: No concerns
✅ Test Coverage: N/A for generated code
RecommendationLGTM — Approve and merge. This is a clean proto regeneration that unblocks the d14n client subscription stack. No issues found. |
ApprovabilityVerdict: Approved Auto-generated protobuf code adding new XIP-83 Subscribe API types and gRPC scaffolding. All files are owned by the author, changes are purely additive type definitions with no hand-written logic or behavioral modifications to existing code. You can customize Macroscope's approvability policy. Learn more. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3781 +/- ##
=======================================
Coverage 84.43% 84.43%
=======================================
Files 408 408
Lines 59904 59904
=======================================
+ Hits 50578 50580 +2
+ Misses 9326 9324 -2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
What
Regenerate
xmtp_protofromxmtp/protomain (f04e01a9, proto #338) to pull in the decentralized (d14n) XIP-83 binding:QueryApi.Subscribe(bidirectional mutable subscription) plusSubscribeRequest/SubscribeResponse/Ping/Pong, using per-originator vector cursors andOriginatorEnvelopedelivery.Why
This is the client-side counterpart to the d14n backend (xmtpd #2020,
QueryApi.Subscribe). It's the proto-regen step that makes the d14n Subscribe types available in libxmtp so the client lane can be built on top.It mirrors the v3 client stack —
#3769(protos) →#3770(sharedbidi_streamtransport, already merged) →#3771→#3772. The d14n binding reuses that samebidi_streamprimitive; only the proto types differ (xmtpv4.message_apivector-cursor /OriginatorEnvelopevsmls.api.v1single-cursor /GroupMessage+WelcomeMessage).Scope
Purely additive generated code — no hand-written changes:
crates/xmtp_proto/proto_version:ac2aa57f→f04e01a9crates/xmtp_proto/src/gen/xmtp.xmtpv4.message_api.{rs,serde.rs}: the new Subscribe typescrates/xmtp_proto/src/gen/proto_descriptor.bin: runtimeFILE_DESCRIPTOR_SETcarries the new typesUnrelated generator-version drift in other gen packages (
message_api.v1,message_contents,mls.database,mls.message_contents*) was restored tomain, per the established regen pattern (same as #3769). Nothing consumes the new types yet — the d14n transport impl and actor follow in later PRs.Verification
./dev/gen_protos.sh(defaultmain) from the public proto repo.cargo check -p xmtp_proto --features grpc_server_implsandcargo check -p xmtp_api_d14nclean (existing xmtpv4 consumers still compile).🤖 Generated with Claude Code
Note
Add XIP-83 bidirectional streaming Subscribe proto types to
QueryApiSubscribeRequestandSubscribeResponseproto message types supporting a vector-cursor topic subscription model with mutate, ping/pong, and catchup semantics.query_api_serverwith a bidirectional streamingSubscribemethod using the new request/response types.notification_api_server(server-streamingSubscribeAllEnvelopes) andpublish_api_server(unaryPublishPayerEnvelopes).Macroscope summarized 10cb8a2.