Uh oh!
There was an error while loading. Please reload this page.
Merge initial and retry stfu send paths - #4432
Conversation
👋 Thanks for assigning @TheBlueMatt as a reviewer! |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@## main #4432 +/- ##
==========================================
- Coverage 85.87% 85.86% -0.01%
==========================================
Files 157 159 +2 Lines 103769 104295 +526 Branches 103769 104295 +526 ==========================================
+ Hits 89115 89558 +443 - Misses 12158 12234 +76 - Partials 2496 2503 +7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| // TODO(splicing): If we didn't win quiescence, then we can contribute as an acceptor | ||
| // instead of waiting for the splice to lock. |
There was a problem hiding this comment.
Probably no need to worry since this is handled in #4416, but looks like this TODO wasn't moved.
Uh oh!
There was an error while loading. Please reload this page.
ldk-reviews-bot
commented
Feb 23, 2026
👋 The first review has been submitted! Do you think this PR is ready for a second reviewer? If so, click here to assign a second reviewer. |
In 15b04b5, we fixed a case in `FundedChannel::try_send_stfu` where we'd send `stfu` unnecessarily for a new splice while one is already pending. The same case also existed in `FundedChannel::send_stfu`, but was not fixed. There's no good reason for both of these methods to exist, so we merge them into one as `FundedChannel::try_send_stfu`. We also add a test that reproduces the `FundedChannel::send_stfu` issue to ensure it's fixed and does not regress.
With the introduction of `QuiescentAction`, the flag has essentially become duplicate state, so we opt to remove it in favor of just checking whether we have a pending `FundedChannel::quiescent_action`. Since the quiescent flags are never persisted, we can simply remove it and update the other flags, freeing up a bit for future use.
Otherwise, now that we no longer have the awaiting quiescence state flag, we may end up sending `stfu` for a channel we intend to close.
cb92711 to
1e57132Compare
Fixes#4429.