Skip to content

Chat and People with Home: sign-up, welcome text, Discovery (#86) - #121

Closed
irzhywau wants to merge 3 commits into
feat/0.7.1-modelsfrom
feat/0.7.1-chat-people
Closed

irzhywau wants to merge 3 commits into
feat/0.7.1-modelsfrom
feat/0.7.1-chat-people

Conversation

@irzhywau

@irzhywau irzhywau commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

First slice of #86 (Chat and People with Home). The checklist in #86 tracks the whole plan: #86 (comment)

Related: #117 (Sasha) brings back the invite and join controls in Home. That PR changes the Chat UI and its built files, so this branch rebases on it once it merges, before the Chat basics work starts.

What this slice does

1. Create account on the first screen (feat(home))
A new visitor on a registered Home saw the clock and the passkey circle, with no way to sign up. The lock face now shows Create account when guest registration is on. It opens the existing guest passkey enrollment.

2. Welcome text that fits the account (fix(home))
Recovery readiness now says why setup is still required: recovery_kit_missing (no kit was ever verified) or recovery_kit_outdated (the kit predates the Profile). A new account now reads "Save a Recovery Kit so you can get back into your account." The "updated kit" copy stays for outdated kits only.

3. Discovery that connects promptly and says so (fix(people))

  • Discovery shows Connecting… until its first relay pass finishes, instead of "temporarily unavailable".
  • While Discovery is on, a failed pass retries within 15 seconds (the ceiling was 60).
  • Turn On and Refresh clear the backoff, so the next worker pass retries at once.
  • Home includes Discovery state in people.changed, and People refreshes on that event. People still runs no polling of its own.
  • Failed relay passes are traced at debug level, so the seed log shows the cause.

Still to do in this PR

  • Every Home joins Community automatically (the fourth blocker in G3 Community chat: Chat and People with Home #86). This needs Anders to approve the policy change in docs/COLLABORATION_NETWORK_PROFILE.md first.
  • The live check on the seed: time the path from first visit to Community, and time Discovery.

Verification

  • cargo test -p elastos-server --lib -- discovery people recovery_readiness realtime home_summary: 95 passed, including the new tests for connecting, the Turn On/Refresh backoff reset, and the missing/outdated kit reasons.
  • cargo clippy -p elastos-server --all-targets -- -D warnings: clean. cargo fmt --check: clean.
  • node scripts/home-entropy-check.mjs, home-shell-auth-gate-smoke.mjs (guest registration off and on), recovery-profile-setup-smoke.mjs, just product-ui-source: pass.
  • Not yet run on an installed Home or on the seed.

A first-time visitor on a registered Home saw only the clock and the
passkey circle. The Create guest account action lived in the unlock card,
which the lock face hides, so new people could not find sign-up.

The lock face now shows Create account whenever guest registration is on.
It opens the existing guest passkey enrollment. Sign-in with an existing
passkey is unchanged.

Part of #86.
The welcome sheet asked every account with a Profile to "save an updated
Recovery Kit" and said "your Profile stays unchanged". A brand-new guest
has never saved a kit, so that copy did not fit.

Recovery readiness now carries a reason when setup is required:
recovery_kit_missing when no kit was ever verified, and
recovery_kit_outdated when the verified kit predates the Profile. Home
shows first-kit copy for a new account and keeps the updated-kit copy for
an outdated kit.

Part of #86.
Turning Discovery on marked the relay unavailable before any attempt, so
People said "temporarily unavailable" at once. A failed pass then backed
off up to 60 seconds, and Refresh could not shorten that wait. People
also refreshed only on a click, so it stayed stale after Discovery
connected.

- Discovery reports connecting until its first relay pass finishes.
- While Discovery is on, a failed pass retries within 15 seconds.
- Turn On and Refresh clear the backoff and retry on the next worker pass.
- Home includes Discovery state in people.changed, and People refreshes
  on that event instead of polling.
- Failed relay passes are traced at debug level.

Part of #86.
@irzhywau

Copy link
Copy Markdown
Contributor Author

Replaced by #123, which carries the same three commits stacked on #117.

@irzhywau irzhywau closed this Sep 29, 2026
@irzhywau
irzhywau deleted the feat/0.7.1-chat-people branch September 29, 2026 18:38
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