fix: keep name-less accounts usable and count held balance as the add-money milestone - #634
Merged
Merged
Conversation
The tab swapped YouScreen out for a bare full-screen setup prompt when the profile had no name, which took the settings rows with it. My Account and Advanced are the only route to Log Out, so a name-less account could not sign out, or reach any setting at all. YouScreen now renders either way. Where the card would be it draws the card the user is about to get: a real TipcardView behind a blur, clipped back to its own outline so it reads as a card rather than a smudge, with the invitation to claim it on top. The link row and the Share/Download pair address a card that does not exist yet, so they sit out until it does. The copy is the Chats tab's own name-less state word for word. The same account meets both, and two different asks for the one thing read as two different jobs.
The tab swapped its whole contents for the tip-card setup prompt until the profile had a display name. A name-less account can still send tips, so it can still hold conversations, and those were hidden behind the prompt along with the No Chats Yet empty state the tab already has. The Chats tab is now chats whatever the profile says. The invitation to set up a tip card belongs to the tip-card tab, which makes it. The v1 Tips sheet keeps the intro: that flow has no other door into profile creation.
The tutorial read the milestone from the activity table alone, so an account holding a balance against an empty history was told to go add money it already had. The history feed does not always carry the arrival that put the balance there. A balance now settles it before history is consulted: money cannot be held without having arrived. History still answers for the spent case, where the balance is gone but the milestone must stay met, which is what it was there for. The wallet reloads the milestones when a balance moves as well as on a history change, so the answer does not wait on an activity row that may never come.
bmc08gt
force-pushed
the
fix/nameless-account-tabs-and-add-money-gate
branch
from
August 23, 2026 23:33
653bfd3 to
d318d61
Compare
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.
Three fixes that shipped in the 2026.8.3 rebuild, brought back to
mainso they aren't stranded on the release branch.fix(you)— keep the You tab usable without a display nameTipCardTabswappedYouScreenout entirely for a bare setup prompt, so an account with no display name could not reach Settings — and therefore could not log out.YouScreennow always renders; only the card slot changes. Where the card would be, a blurred stand-in card carries the invitation, and the share affordances drop out until there is a name.The card's own fill is black over a frosted backdrop, so on the black page it can only subtract brightness — the stand-in gets a pale base underneath instead, clipped back to the card's outline so the blur reads as a card rather than a smudge.
The CTA routes to
.changeDisplayName, not.profileName: the latter's submit path guards on the sheet being on the.tipsstack, so pushing it from.yousaves the name and strands the user.fix(chats)— stop gating the Chats tab on a tip cardTipsScreenswapped the whole Chats tab for the tip-card intro when the profile wasn't tippable. That hid existing conversations, and put a second copy of the invitation behind a tab that already has one next door. A name-less account can still send tips, so it can still hold conversations — the embedded tab now always rendersTipConversationsScreenwith its own "No Chats Yet" empty state.The v1 sheet keeps the intro: it is that flow's only door into profile creation.
The You tab's copy is now word-for-word the Chats tab's, since the same account hits both and two different asks for one thing read as two different jobs.
fix(wallet)— count money in hand as the add-money milestonehasEverAddedMoney()read only the activity table. On the affected account that table had 0 rows against a balance of 17452 quarks, so an account visibly holding $0.02 was being told to go add money. A balance cannot exist without having arrived, and the history feed does not always carry the arrival that put it there — so money in hand now settles the milestone before history is consulted. History still answers the spent case, where the balance is gone but the milestone must stay met.Dust counts: the check is
quarks > 0, not the giveable-balance check — too-small-to-spend still proves money arrived.The second half is re-evaluation. The check was one-shot, so
WalletScreennow recomputes the milestone and pulls history when the balance moves;onAppearalone fires once per launch and never again after a deposit lands.