Skip to content

fix(onboarding): clarify continue to chat fallback#2173

Merged
graycyrus merged 1 commit into
tinyhumansai:mainfrom
ajay-automates:codex/obvious-continue-chat
May 19, 2026
Merged

fix(onboarding): clarify continue to chat fallback#2173
graycyrus merged 1 commit into
tinyhumansai:mainfrom
ajay-automates:codex/obvious-continue-chat

Conversation

@ajay-automates
Copy link
Copy Markdown

@ajay-automates ajay-automates commented May 19, 2026

Summary

  • Makes the profile-build fallback clearly tell users that chat is ready.
  • Highlights the fallback copy and Continue to chat CTA in a focused callout.
  • Updates existing onboarding tests to assert the new recovery-state copy.

Problem

Solution

  • Reworded the fallback from a failure-style message to a ready-state message.
  • Wrapped the fallback message and CTA in a subtle primary-tinted panel so the action is more obvious.
  • Kept the existing continue behavior unchanged.

Submission Checklist

  • Tests added or updated (happy path + at least one failure / edge case) per Testing Strategy
  • Diff coverage ≥ 80% — CI coverage is expected to validate this; local coverage was blocked by missing node_modules in this checkout and is documented below.
  • Coverage matrix updated — N/A: behaviour-only copy/CTA prominence change, no feature row added/removed/renamed.
  • All affected feature IDs from the matrix are listed in the PR description under ## Related — N/A: no coverage-matrix feature ID changed.
  • No new external network dependencies introduced (mock backend used per Testing Strategy)
  • Manual smoke checklist updated if this touches release-cut surfaces (docs/RELEASE-MANUAL-SMOKE.md) — N/A: narrow onboarding fallback UI copy/prominence change.
  • Linked issue closed via Closes #NNN in the ## Related section

Impact

  • Desktop onboarding UI only.
  • No persistence, security, migration, or backend behavior changes.
  • Existing fallback navigation behavior is preserved.

Related


AI Authored PR Metadata (required for Codex/Linear PRs)

Linear Issue

  • Key: N/A
  • URL: N/A

Commit & Branch

  • Branch: codex/obvious-continue-chat
  • Commit SHA: d8a98912951ffe8b306a995d15881d7218503483

Validation Run

  • pnpm --filter openhuman-app format:check — not run locally; blocked by missing node_modules, see below.
  • pnpm typecheck — not run locally; blocked by missing node_modules, see below.
  • Focused tests: pnpm debug unit app/src/pages/onboarding/steps/__tests__/ContextGatheringStep.test.tsx — attempted locally, blocked by missing node_modules; CI is running the suite.
  • Rust fmt/check (if changed): N/A, no Rust changes.
  • Tauri fmt/check (if changed): N/A, no Tauri changes.

Validation Blocked

  • command: pnpm debug unit app/src/pages/onboarding/steps/__tests__/ContextGatheringStep.test.tsx
  • error: local checkout is missing node_modules; pnpm reported: Local package.json exists, but node_modules missing, did you mean to install?
  • impact: focused Vitest validation did not run locally in this clone.

Behavior Changes

  • Intended behavior change: profile-build fallback now frames the state as chat-ready and makes the CTA more prominent.
  • User-visible effect: users should more easily understand they can continue into chat while profile enrichment continues later.

Parity Contract

  • Legacy behavior preserved: Continue to chat still calls the same onNext path; only copy and presentation changed.
  • Guard/fallback/dispatch parity checks: existing recoverable-error tests were updated for the new copy.

Duplicate / Superseded PR Handling

  • Duplicate PR(s): N/A
  • Canonical PR: this PR
  • Resolution (closed/superseded/updated): N/A

@ajay-automates ajay-automates requested a review from a team May 19, 2026 05:12
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

📝 Walkthrough

Walkthrough

This PR updates the post-login profile build fallback to communicate readiness rather than failure. English translations change from "couldn't build your full profile" to "your chat is ready," the error card is styled with primary-themed colors, and tests are updated to verify both the new messaging and UI presentation.

Changes

Profile Build Fallback Messaging & UI

Layer / File(s) Summary
Error message translation updates
app/src/lib/i18n/chunks/en-4.ts, app/src/lib/i18n/en.ts
onboarding.contextGathering.errorDesc translation updated to "Your chat is ready" with note that profile building continues in the background, replacing the prior "We couldn't build your full profile right now" wording.
Error card styling and test verification
app/src/pages/onboarding/steps/ContextGatheringStep.tsx, app/src/pages/onboarding/steps/__tests__/ContextGatheringStep.test.tsx
Error state rendering changed to a primary-styled alert card with border and background that contain the translated error description and OnboardingNextButton. Test assertions updated to expect the new "your chat is ready" message in both the insufficient-scope failure and learning_save_profile rejection cases.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • tinyhumansai/openhuman#2144: Updates onboarding context-gathering i18n copy in app/src/lib/i18n/en.ts with overlapping changes to the profile-building-in-background messaging.

Suggested labels

working

🐰 A fallback that felt like a fail,
Now reads like hope, not broken mail!
"Your chat is ready," clear and bright,
Profile builds soft while you chat tonight.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: clarifying the fallback message and UI when users proceed to chat despite incomplete profile building.
Linked Issues check ✅ Passed The PR fully addresses all coding requirements from #2157: reworded fallback copy to a ready-state message, wrapped it in a styled alert card for prominence, preserved core continue-to-chat flow, and updated tests to verify the new messaging.
Out of Scope Changes check ✅ Passed All changes are scoped to the onboarding fallback UI, translation strings, and related tests; no backend, persistence, or unrelated functionality modifications are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot added the working A PR that is being worked on by the team. label May 19, 2026
Copy link
Copy Markdown
Contributor

@graycyrus graycyrus left a comment

Choose a reason for hiding this comment

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

Walkthrough

Clean, focused change that reframes the onboarding profile-build fallback from a failure message to a ready-state message, and wraps the CTA in a visually prominent callout panel. Copy, component, and tests are all updated consistently. No logic, security, or architectural concerns.

Change summary

File Change Description
app/src/lib/i18n/chunks/en-4.ts copy Fallback string → chat-ready tone
app/src/lib/i18n/en.ts copy Same string in main bundle
app/src/pages/onboarding/steps/ContextGatheringStep.tsx UI Wrap fallback in primary-tinted panel, adjust text color
app/src/pages/onboarding/steps/__tests__/ContextGatheringStep.test.tsx test Update assertions to match new copy

Notes

  • [minor] Issue #2157 acceptance criteria includes "Optional auto-progress considered — Either auto-progress after a safe delay or document why manual action is preferred." This PR doesn't implement auto-progress or document why it was skipped. Worth a quick comment in the PR description or issue thread explaining the decision (e.g., manual action preferred to avoid surprising users).

Otherwise this looks good — the copy is clearer, the panel draws the eye to the CTA, tests cover both the timeout and error paths, and all CI is green. Nice improvement.

@ajay-automates
Copy link
Copy Markdown
Author

Thanks for the review. On the optional auto-progress criterion: I kept this manual because the fallback appears after a profile-build failure/timeout, and auto-navigating from that recovery state could feel surprising or make users miss the context that profile enrichment is still incomplete. Making the CTA prominent keeps the escape hatch obvious while preserving user control.

Copy link
Copy Markdown
Contributor

@graycyrus graycyrus left a comment

Choose a reason for hiding this comment

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

Looks good, nice work!

@graycyrus graycyrus self-assigned this May 19, 2026
@graycyrus graycyrus merged commit afe1147 into tinyhumansai:main May 19, 2026
27 of 33 checks passed
AusAgentSmith pushed a commit to AusAgentSmith/openhuman that referenced this pull request May 23, 2026
Co-authored-by: Ajay Kumar Reddy Nelavetla <ajay@Ajays-MacBook-Air.local>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

working A PR that is being worked on by the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Continue to chat is too easy to miss after profile build fallback

2 participants