fix(currency-creation): pop the creation flow when a launch finishes - #694
Merged
Conversation
The launch screen is a fullScreenCover over the creation wizard, and its `dismissParentContainer` was wired to `router.dismissSheet()`. The creation flow is pushed onto the Wallet tab's stack, so there is no sheet to pop and that call returns early — both exits from CurrencyLaunchProcessingScreen, the finished handoff and the failure dismissal, did nothing. The screen hides the back button and disables interactive dismiss, so a user whose launch bill was claimed by someone else was left in the wizard with only its back chevron and force-quit the app. Pop the wizard's owning stack to root instead, matching the convert flow. The stack is named rather than resolved through `popToRoot()`'s topmost lookup, since HomeTabView clears `activeTabStack` while the cover is up. The wiring was correct when it landed in #213, where `.balance` was sheet-hosted and dismissing the sheet tore down the whole flow; #619 made `.balance` tab-hosted and this call site was missed.
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.
Someone who finishes creating a currency and taps the post-launch reward bill gets stuck in the creation wizard once that bill is claimed. The only control left is the wizard's back chevron; the reporter force-quit the app to get out.
The launch screen is a
fullScreenCoverpresented from the wizard, and it wireddismissParentContainertorouter.dismissSheet():The creation flow is pushed onto the Wallet tab's stack (
WalletScreentile →.currencyCreationSummary→.currencyCreationWizard), sopresentedSheetsis empty and the call returns early. Both exits fromCurrencyLaunchProcessingScreen— the finished handoff inhandleReceiveLaunchedCurrency()and the.failedbutton — were therefore no-ops, and the screen setsnavigationBarBackButtonHidden(true)andinteractiveDismissDisabled(true), so nothing else could unwind it either.The claim itself is not the bug. A
received: truebill is deliberately a liveSendCashOperationthat others can grab; it just exposed the dead exit.This pops the wizard's owning stack to root instead, matching
ConvertFlowDestinationViewand the pushed Buy flow. It names the stack rather than relying onpopToRoot()'s topmost lookup, becauseHomeTabView.onDisappearclearsactiveTabStackwhile the cover is up. The wizard is only ever pushed, never a sheet root, so there is no host to branch on the wayBuyAmountScreendoes.The wiring was correct when it landed in #213 —
.balancewas sheet-hosted then, and dismissing the sheet tore down the whole flow. #619 made.balancetab-hosted and this call site was missed.CurrencyCreationFlowDismissalTestscovers both the ordinary case and the one where the cover has already clearedactiveTabStack.