Skip to content

feat(login): "try this next" command box + silence benign post-login log#376

Merged
UtkarshBhardwaj007 merged 2 commits into
mainfrom
feat/login-next-steps-box
Jun 13, 2026
Merged

feat(login): "try this next" command box + silence benign post-login log#376
UtkarshBhardwaj007 merged 2 commits into
mainfrom
feat/login-next-steps-box

Conversation

@UtkarshBhardwaj007

Copy link
Copy Markdown
Member

What

Two changes that improve the end of the pg login flow.

1. "Try one of these next" box (feature)

After a successful login, users often don't know what to run next. The login screen now ends with a bordered information box suggesting the creative entry-point commands:

  • pg decentralize — take any static website and deploy it to a .dot domain
  • pg mod — browse community apps and mod them
  • pg deploy — deploy an app you've already built

The command list lives in a pure-data sibling (nextSteps.ts, no React) so it stays testable; NextStepsCallout.tsx is a thin map over it, rendered via the existing shared Callout. The box shows on every successful login, after the "setup complete" row.

2. Silence benign "Not connected" log after sign-in (fix)

On login completion the session adapter is destroyed, and a still-live statement-store subscription can surface a bare Error("Not connected") from the just-closed websocket. That teardown artifact was already swallowed as an unhandled rejection, but @novasamatech/statement-store also logs it directly from its subscription error callback, printing a scary stack right after a successful login:

Statement subscription error: ... error: Not connected
    at request2 ... at subscribeStatements ... at ensureStoreSubscription

The local pnpm patch silencing that callback only matched DestroyedError. This extends it to also early-return on a bare Error whose message is exactly not connected (trimmed, case-insensitive), mirroring isBenignUnsubscriptionError in process-guard.ts — so a contextual mid-work failure still escalates. Regenerated via pnpm patch / patch-commit, so the lockfile patch hash is updated in lockstep.

Testing

  • New nextSteps.test.ts locks the three commands, the pg prefix, and no-em-dash house style.
  • The patch logic mirrors isBenignUnsubscriptionError, which is itself pinned by process-guard.test.ts (exact-match passes, contextual messages escalate).
  • All four gates pass: format:check, lint:license, typecheck, test (873 passed).

Changesets

  • login-next-steps.md (minor) — the next-steps box
  • login-not-connected-log.md (patch) — the log suppression

After a successful `pg login`, render a bordered Callout suggesting the
commands a newly paired user can run next (`pg decentralize`, `pg mod`,
`pg deploy`), each with a short description.

The command list lives in a pure-data sibling (nextSteps.ts) so it stays
testable without React; NextStepsCallout.tsx is a thin map over it. The
box shows on every successful login, after the "setup complete" row.
On `pg login` completion the session adapter is destroyed, and a still-live
statement-store subscription can surface a bare Error("Not connected") from
the just-closed websocket. That teardown artifact was already swallowed as an
unhandled rejection, but @novasamatech/statement-store also logs it directly
from its subscription error callback, printing a scary stack after a
successful login.

Extend the local pnpm patch so that callback also early-returns on a bare
Error whose message is exactly "not connected" (trimmed, case-insensitive),
in addition to DestroyedError. The match mirrors isBenignUnsubscriptionError
in process-guard.ts, so a contextual mid-work failure still escalates.
@UtkarshBhardwaj007 UtkarshBhardwaj007 merged commit 1d5c9cc into main Jun 13, 2026
20 checks passed
@UtkarshBhardwaj007 UtkarshBhardwaj007 deleted the feat/login-next-steps-box branch June 13, 2026 10:27
@github-actions

Copy link
Copy Markdown
Contributor

Dev build ready — try this branch:

curl -fsSL https://raw.githubusercontent.com/paritytech/playground-cli/main/install.sh | VERSION=dev/feat/login-next-steps-box bash

@github-actions

Copy link
Copy Markdown
Contributor

E2E Test Pass · ✅ PASS

Tag: e2e-ci-pr · Branch: feat/login-next-steps-box · Commit: 361e472 · Run logs

Cell Result Time
pr-deploy-frontend ✅ PASS 17m55s
pr-deploy-cdm ✅ PASS 4m10s
pr-install ✅ PASS 1m57s
pr-login-session ✅ PASS 3m04s
pr-mod ✅ PASS 2m05s
pr-deploy-foundry ✅ PASS 0m51s
pr-preflight ✅ PASS 4m02s
${{ matrix.cell }} ⏭️ SKIP 0m-1s
${{ matrix.cell }} ⏭️ SKIP 0m-1s

Sentry traces: view spans for this run

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.

1 participant