Skip to content

fix(mobile): join starter channels after accepting invite - #5915

Open
brow wants to merge 1 commit into
tomb/buzz-13-browse-and-join-channels-in-mobilefrom
fix-mobile-invite-welcome
Open

fix(mobile): join starter channels after accepting invite#5915
brow wants to merge 1 commit into
tomb/buzz-13-browse-and-join-channels-in-mobilefrom
fix-mobile-invite-welcome

Conversation

@brow

@brow brow commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

What changed?

After a new mobile invite claim succeeds, Buzz now best-effort ensures membership in the same public starter channels as desktop:

  • #general
  • #welcome-everyone

Missing starters use desktop's deterministic per-relay IDs and exact public channel configuration, so concurrent mobile and desktop setup converges safely. Setup failures do not invalidate or retry an already successful invite claim, and failure for one starter does not block the other.

The success sheet offers Continue to #welcome-everyone when that channel is available. Mobile does not create the private Welcome channel because it cannot provision the desktop Welcome agents that make that channel useful.

This PR is stacked on #6145 because it deliberately reuses that PR's open-channel directory and join behavior. Once #6145 merges, this PR can be retargeted to main without changing its BUZZ-12 diff.

Fixes BUZZ-12.

How is it tested?

  • Desktop/mobile deterministic starter-ID parity coverage.
  • Existing-channel join and missing-channel creation coverage.
  • Duplicate-create convergence and per-channel failure isolation coverage.
  • Invite success remains successful when starter setup fails.
  • Widget coverage for continuing directly into #welcome-everyone.
  • Focused invite/deep-link tests: 23 passed.
  • just mobile-check: passed.
  • just mobile-test: 1,483 passed.
  • Pre-push repository checks: passed.

@themiguelamador themiguelamador left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The recovery state is only held in InviteJoinState.claimCompleted. If Welcome setup fails and the sheet is dismissed (or the process restarts), the community remains persisted, but reopening the invite takes the existing-community shortcut and never calls recovery. That leaves the user permanently on the empty community path this PR is intended to repair unless they happened to keep the original sheet open. The recovery error also overflows the invite sheet at the standard widget-test viewport, and the post-claim action is misleadingly labeled “Join”.

I fixed these in commit 84bb79edb (branch review/pr-5915-fix): existing-community invite opens now switch identities and run the same idempotent Welcome recovery without generating keys or reclaiming membership; failures reopen a dedicated “Finish setting up” / “Retry setup” state; and the sheet scrolls when recovery copy exceeds the available height. Regression coverage proves a saved community can fail recovery, retry successfully, and make zero key-generation or claim requests, and exercises the rendered error state without overflow.

Verified with the focused invite-provider and deep-link widget suites, just mobile-check, all 1,403 mobile tests, and git diff --check. Per repository policy, I did not run Flutter build/run/clean/upgrade commands.

@brow
brow marked this pull request as ready for review August 17, 2026 19:32
@brow
brow requested a review from a team as a code owner August 17, 2026 19:32
@brow brow changed the title fix(mobile): recover Welcome after invite join fix(mobile): join #Welcome after accepting invite link Aug 17, 2026
@brow
brow force-pushed the fix-mobile-invite-welcome branch from 419281d to 9ac8c76 Compare August 18, 2026 15:19
@brow brow changed the title fix(mobile): join #Welcome after accepting invite link fix(mobile): join public starters after accepting invite Aug 18, 2026
@brow
brow changed the base branch from main to tomb/buzz-13-browse-and-join-channels-in-mobile August 18, 2026 15:20
@brow brow changed the title fix(mobile): join public starters after accepting invite fix(mobile): join starter channels after accepting invite Aug 18, 2026
Signed-off-by: Tom Brow <tomb@block.xyz>
Co-authored-by: Codex <noreply@openai.com>
Ai-assisted: true
@brow
brow force-pushed the fix-mobile-invite-welcome branch from 9ac8c76 to a85985b Compare August 18, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants