Conversation
|
Verified on CI: synonymdev/bitkit-android#1299 resolved its e2e branch to this one and |
|
Send-shard update (required): Android merge-gate Product changes on android#1299 are unrelated; this is a harness flake (timed sheet already gone / auto-dismissed). If the intro is shown we still tap Later / Cancel; if it is missing we log and continue. |
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Hard-waiting on BackgroundPaymentsIntro-later flakes the Android send shard when the timed sheet is already gone or auto-dismissed. Poll like waitForToastBestEffort and still dismiss Later/Cancel when the intro is shown. Co-authored-by: piotr-iohk <piotr-iohk@users.noreply.github.com>
9494c00 to
56232dc
Compare
|
Rebased onto latest
|
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit 9b95a97)
Companion of synonymdev/bitkit-android#1299
Part of synonymdev/bitkit-android#797
@boost_1 - Can do CPFPrestores the wallet from seed, reinstalls, and only then mines the block that confirms the boosted receive. The restored wallet never saw that transaction in the mempool, so on synonymdev/bitkit-android#1299 the confirmation is its first sight of the deposit and the received sheet opens over the screen. The next step isdoNavigationClose(), which fails withelement ("...resourceId("HeaderMenu")") still not displayed after 30000ms.The sheet is correct there: the wallet really did receive a transaction it had not seen before, and the restore has already finished, so neither the restore guard nor the one-hour block-timestamp guard applies. The spec is what needs to change.
This PR:
dismissReceivedPaymentIfShown()totest/helpers/actions.ts, a tolerant wrapper aroundacknowledgeReceivedPayment()that returns false instead of throwing when no sheet appears.@boost_1betweenmineBlocks(1)anddoNavigationClose().The helper is tolerant on purpose: iOS does not notify confirmed-only receives yet (synonymdev/bitkit-ios#455), and neither does Android master, so the same spec has to pass with and without the sheet.
acknowledgeReceivedPaymentIfPresent()could not be reused as is, because it is strict on thelocalbackend that this shard runs on.@boost_2 - Can do RBFalso restores and mines, and is left alone: the block there confirms the outgoing RBF transaction, and the incoming 100k was already confirmed before the restore, so no confirmed-only receive follows the restore. It passes on synonymdev/bitkit-android#1299 today.Not run locally: the change adds one helper call and a helper that only wraps an existing one in try/catch.
test/specs/boost.e2e.tsis prettier-clean;test/helpers/actions.tshad pre-existing prettier warnings before this change and the added block is formatted to the repo config.The branch is named after the app branch so
determine-e2e-branchpicks it up on synonymdev/bitkit-android#1299 and that PR'se2e-tests-local - onchain_boost_receive_widgetsshard runs against this spec.