fix(ui): keep Release on step 5 while status is still FiatSent - #100
Conversation
Prefer Release/Released (and Rate) over stale FiatSent status in the Messages timeline so releasing sats no longer jumps back to "Wait for Fiat". Co-authored-by: Cursor <cursoragent@cursor.com>
|
Warning Review limit reached
Next review available in: 58 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
WalkthroughBuy and sell timeline-step resolution now prioritizes relevant actions while respecting terminal statuses. The legacy confirmation handler and relay task helper were removed, and Enter-key confirmation documentation and comments were updated. ChangesTimeline flow resolution
Enter confirmation cleanup
Estimated code review effort: 3 (Moderate) | ~25 minutes Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/ui/orders.rs`:
- Around line 1099-1111: The action-priority branches in the relevant buy/sell
flow step resolvers must not override canceled, expired, or disputed terminal
orders. Update the guards around the Rate/RateReceived and Release/Released
handling to recognize the complete terminal status set, including Canceled,
CanceledByAdmin, CooperativelyCanceled, Expired, and Dispute, while preserving
the existing Success/SettledByAdmin/CompletedByAdmin behavior. Add regression
tests covering these statuses and both stale action categories.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: c3d1856a-3727-400f-8069-7f3a607ad289
📒 Files selected for processing (1)
src/ui/orders.rs
Guard post-fiat action-priority timeline branches so canceled, expired, dispute, and admin-settled orders fall through to status mapping, while keeping Release+FiatSent on step 5 and Release+Success on Rate. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Re-reviewed the complete PR on current head f5a2aec9eb64df8bc9d3441684c9c30d67bb0c88, including the follow-up commit pushed during review.
The initial head did contain a regression: stale Release/Rate actions could override canceled or disputed statuses. The follow-up fixes it cleanly. The shared guard now defers to status for canceled, admin-canceled, cooperatively canceled, expired, disputed, admin-settled, and admin-completed orders, while preserving the intended FiatSent + Release -> ReleaseSats and completed-trade Rate behavior. Regression tests cover stale Release and Rate actions across both buy/sell resolvers and the terminal status families.
Exact-head verification with Rust 1.90.0 passed:
- focused
timeline_step_tests cargo fmt --all -- --checkcargo test --all-featurescargo clippy --all-targets --all-features -- -D warnings- 12/12 GitHub checks
No blocking regressions remain. Approved.
…e double path enter or Y
…uble path esc or n
Seller release ACK was falling through to FiatSent/SendFiat briefly; treat it and PurchaseCompleted like Rate and infer Success. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Prefer Release/Released (and Rate) over stale FiatSent status in the Messages timeline so releasing sats no longer jumps back to "Wait for Fiat".
Summary by CodeRabbit