Qt: avoid blocking on Spark activation height - #1946
Conversation
Use the existing nonblocking ClientModel height accessor for Spark send controls. Seed the cache at startup, keep header updates separate, and attach the client model before initializing the send view. Add Qt coverage for block/header cache separation and decreasing heights. Exclude the test source from AUTOUIC to avoid mistaking ui_interface.h for a generated form header.
🤖 CodeAnt AI — Review Status
|
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review. Summary by CodeRabbit
WalkthroughThe Qt client model now separates block-tip height from header height. Wallet activation checks read the client model cache, and wallet setup propagates the client model consistently. A regression test covers block-tip and header-only notifications. ChangesClient height flow
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Spark send activation checks now use a nonblocking cached block height while keeping header-only heights separate. The supplied coverage exercises the corrected cache behavior, and no merge-blocking risk remains. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 5 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
User descriptionUse ClientModel's nonblocking cached-height accessor for Spark send controls, leaving transaction creation's locked chain-height checks unchanged. Initialize the cache and client-model wiring before use, exclude header-only heights, and add Qt regression coverage. This addresses the height-query stall observed during Debug replay of 1,024 Spark spends; separate startup and replay stalls remain. CodeAnt-AI DescriptionPrevent Spark send controls from stalling while checking activation height What Changed
Impact
💡 Usage GuideChecking Your Pull RequestEvery time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later. Talking to CodeAnt AIGot a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask: This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code. ExamplePreserve Org Learnings with CodeAntYou can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input: This helps CodeAnt AI learn and adapt to your team's coding style and standards. ExampleRetrigger reviewAsk CodeAnt AI to review the PR again, by typing: Check Your Repository HealthTo analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health. |
reubenyap
left a comment
There was a problem hiding this comment.
Reviewed head ce28c3fe98f951d0b8f0a1c80e80aef4f37c6736. No additional actionable issues were found. I traced confirmed-height initialization and block/header notifications through versionedSparkSpendsAllowed(), verified wallet/client wiring precedes model use, and checked the focused Qt regression and build integration.
Use ClientModel's nonblocking cached-height accessor for Spark send controls, leaving transaction creation's locked chain-height checks unchanged. Initialize the cache and client-model wiring before use, exclude header-only heights, and add Qt regression coverage. This addresses the height-query stall observed during Debug replay of 1,024 Spark spends; separate startup and replay stalls remain.