-
Notifications
You must be signed in to change notification settings - Fork 74
add ordered query combinator #2782
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
This PR is part of a stack of 11 bookmarks:
Created with jj-stack |
|
Claude finished @insipx's task —— View job Code Review - November 18, 2025, 4:58 PM UTC
Review SummaryThe ordered query combinator implementation is well-structured with good separation of concerns. Here are the key findings: 🔴 Critical Issues1. Missing trait method implementation (Bug) In The trait only defines: However, the implementation calls Recommendation: Either add
|
bc5a598 to
629c178
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2782 +/- ##
==========================================
+ Coverage 74.43% 74.51% +0.07%
==========================================
Files 376 378 +2
Lines 48820 48879 +59
==========================================
+ Hits 36338 36420 +82
+ Misses 12482 12459 -23 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
|
||
| /// try resolve d14n dependencies based on a backoff strategy | ||
| #[derive(Clone, Debug, Builder)] | ||
| #[builder(setter(strip_option), build_fn(error = "ResolutionError"))] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this builder was a bit annoying b/c it required more Clone in trait args so i got rid of it in favor of a standalone function. Using default exponential backoff for now anyway, so only one argument
633ed18 to
2181a03
Compare
930d4c8 to
91edc55
Compare
2181a03 to
43ff1b3
Compare
43ff1b3 to
5f5df6f
Compare
|
tests in #2802 |
5f5df6f to
ae330f1
Compare
Add ordered query combinator and modify group message querying to return ordered envelopes via
queries::combinators::ordered_query::OrderedQuerywith network backoff dependency resolutionIntroduce ordered querying that resolves dependencies with exponential backoff, switch topic handling from raw bytes to
Topic, add least-merge vector clock operations, and update group message queries to build aTopicCursorvia LCC and return ordered envelopes.📍Where to Start
Start with
orderedbehavior inqueriesby reviewingMlsApiImpl::query_group_messagesin xmtp_api_d14n/src/queries/d14n/mls.rs, then follow intoqueries::combinators::ordered_query::OrderedQueryin xmtp_api_d14n/src/queries/combinators/ordered_query.rs and the resolver in xmtp_api_d14n/src/protocol/resolve/network_backoff.rs.Macroscope summarized 43ff1b3.