Conversation
jvsena42
added this pull request to stack #1423
October 5, 2026 15:53
jvsena42
marked this pull request as ready for review
October 5, 2026 16:27
Contributor
|
Contributor
Regtest APKDownload bitkit-dev-debug universal APK (expires in 30 days). |
6 of 25 tasks
jvsena42
marked this pull request as draft
October 6, 2026 11:32
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jvsena42
force-pushed
the
fix/subscription-onchain-single-swipe
branch
from
October 6, 2026 12:12
92c274c to
06e58ea
Compare
1 task
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #1421.
This PR makes accepting a subscription a single swipe when the first payment is paid on-chain, matching the Subscriptions flow in Figma and the existing Lightning behaviour.
Description
Swipe To Subscribe & Payon the Review sheet only subscribed, then the send confirmation opened with a secondSwipe To Subscribe & Payto pay. Figma shows one swipe from Review & Subscribe to Subscribed, and its flow notes do not limit that to Lightning.SendUiState.shouldAutomaticallyPayno longer requires the Lightning pay method, so the first payment due on acceptance starts by itself for on-chain savings too.First billing period ends … Each period is charged in full.line, which is not in the Figma frame. It was added in ef50785 to disclose that a short first period is charged in full.Swipe To Subscribe, as in Figma, whether or not a first payment is due. It used to readSwipe To Subscribe & Paywhen one was.fix: confirm initial subscription fees, feat: add Paykit subscriptions #1186): the network fee for the first on-chain payment is no longer shown before it is paid.Out of Scope
bitkit-ios: ported in fix: pay first onchain subscription period in one swipe bitkit-ios#881.SubscriptionsScreen.kt: the FigmaAutomatically pay this subscriptionswitch. Follow-up: neither platform has an auto-pay setting yet, so later periods are still paid by hand from the Subscription Payment Due notification, and a working switch needs the same background payment path as the item below.SendConfirmScreen.kt: showing the on-chain fee somewhere in the single-swipe flow; Figma has no fee display in this section.AppViewModel.kt: sending the first payment in the background so the swipe only waits for the Paykit request. Follow-up: in the recorded run the Paykit request (accept, then the payee's updated payment list) took about 4 min 20 s and the payment about 50 s, and the payment still runs through the Send sheet state, its PIN/biometric check, the send warnings and the First Payment Failed screen.Design
Preview
Pixel 9 emulator, dev build on regtest, payer with on-chain savings only, proposal sent from a second emulator. After: 5,000 sats plus a 141 sat fee left the wallet with one swipe.
Recording of the single swipe. The wait between the swipe and Subscribed took about five and a half minutes on the emulator and is sped up 20x; the first and last nine seconds are real time.
subscription_single_swipe_v4.mp4
QA Notes
Journeys
review-and-subscribe.xml— with the first period due on acceptance and on-chain savings only, one swipe keeps the Review and Subscribe layout with the swipe loading and ends on Subscribed with no second swipeManual Tests
N/A
Automated Checks
AppViewModelSendFlowTest.kt— an initial on-chain subscription payment starts automatically, and a hardware wallet one still requires confirmationSendConfirmScreenTest.kt— the send confirmation shows no swipe control of its own for an initial on-chain subscription paymentjust compile,just test,just lint— pass locally;SendConfirmScreenTest.ktcompiles but was not run on a device