Skip to content

🚸 app: improve card creation timeout ux - #1105

Merged
cruzdanilo merged 1 commit into
mainfrom
timeout
Jun 25, 2026
Merged

🚸 app: improve card creation timeout ux#1105
cruzdanilo merged 1 commit into
mainfrom
timeout

Conversation

@dieguezguille

@dieguezguille dieguezguille commented Jun 19, 2026

Copy link
Copy Markdown
Member

closes #1098

Summary by CodeRabbit

Summary

  • New Features

    • Added a delayed setup modal to the Exa Card activation flow when setup takes longer than expected, with “Keep waiting” or a “Contact support” option.
    • The app now remembers whether support has already been contacted to adjust the prompts shown later.
  • Bug Fixes

    • Improved activation behavior during repeated attempts by updating the stored support-contacted state and guiding users to either card details or the delayed setup flow.
  • Localization

    • Updated Spanish and Portuguese strings for the new setup status and support messaging.
  • Release

    • Patch release for the mobile card setup UX improvement.

@dieguezguille dieguezguille self-assigned this Jun 19, 2026
@changeset-bot

changeset-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 6cca2bd

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@exactly/mobile Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a delayed setup modal for card creation, wires it into card generation and activation flows, records support-contact state in React Query, and adds matching translations plus release metadata.

Changes

Card Setup Timeout UX

Layer / File(s) Summary
Query defaults
src/utils/queryClient.ts
Registers ["settings","card-support-contacted"] defaults with false initial data, no retries, infinite cache timing, and a cache-backed query function.
SetupDelaySheet component
src/components/card/SetupDelaySheet.tsx
Implements the delayed setup modal, prompt dismissal tracking, support-contact branching, staged Intercom messaging, and cache updates after message send.
Card.tsx integration
src/components/card/Card.tsx
Adds delayed refetch behavior during pending card generation, resets support-contact state on mutation outcomes, and renders SetupDelaySheet with mutation state.
ActivateCard.tsx integration
src/components/home/card-upgrade/ActivateCard.tsx
Extends activation mutation state, resets support-contact state on outcomes, and renders SetupDelaySheet with activation state.
Translations and release metadata
src/i18n/es.json, src/i18n/pt.json, .changeset/heavy-worms-cheer.md
Adds Spanish and Portuguese strings for the new setup-delay messages and adds the patch changeset entry.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • franm91
  • cruzdanilo
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately describes the main user-facing change: improving card creation timeout UX.
Linked Issues check ✅ Passed The PR adds a timeout modal after 5 attempts, with support chat, a prefilled message, and a keep-waiting dismiss action.
Out of Scope Changes check ✅ Passed The changes stay focused on the slow card-creation timeout flow and supporting i18n/query state updates; no unrelated scope is evident.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch timeout
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch timeout

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.

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request improves the card creation timeout user experience by introducing a SetupDelaySheet component that prompts users to contact support or keep waiting when setup takes longer than expected. Feedback highlights a critical issue in Card.tsx where refetchCard() resolves instead of rejecting on error, causing standard errors to incorrectly trigger the delay signal. Additionally, it is recommended to refactor SetupDelaySheet.tsx to handle the support message trigger via a useEffect hook in the parent component rather than relying on the unmount lifecycle of a separate helper component, which can be removed to simplify the code.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread src/components/card/Card.tsx
Comment thread src/components/card/SetupDelaySheet.tsx Outdated
Comment thread src/components/card/TimeoutSheet.tsx
Comment thread src/components/card/SetupDelaySheet.tsx Outdated

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 32e6c724-042e-4cea-b2f2-5f9264de488f

📥 Commits

Reviewing files that changed from the base of the PR and between 66180c0 and e02a86f.

📒 Files selected for processing (7)
  • .changeset/heavy-worms-cheer.md
  • src/components/card/Card.tsx
  • src/components/card/SetupDelaySheet.tsx
  • src/components/home/card-upgrade/ActivateCard.tsx
  • src/i18n/es.json
  • src/i18n/pt.json
  • src/utils/queryClient.ts

Comment thread src/components/card/Card.tsx
@codecov

codecov Bot commented Jun 19, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 36.36364% with 35 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.65%. Comparing base (6b45c89) to head (6cca2bd).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/components/card/TimeoutSheet.tsx 51.61% 15 Missing ⚠️
src/components/card/Card.tsx 21.42% 11 Missing ⚠️
src/components/home/card-upgrade/ActivateCard.tsx 0.00% 8 Missing ⚠️
src/utils/queryClient.ts 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1105      +/-   ##
==========================================
- Coverage   71.79%   71.65%   -0.15%     
==========================================
  Files         246      247       +1     
  Lines        9549     9596      +47     
  Branches     3069     3088      +19     
==========================================
+ Hits         6856     6876      +20     
- Misses       2431     2458      +27     
  Partials      262      262              
Flag Coverage Δ
e2e 71.64% <36.36%> (+23.79%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 02848a35-bd5f-41bc-a7ac-235407d3f409

📥 Commits

Reviewing files that changed from the base of the PR and between e02a86f and f3e417c.

📒 Files selected for processing (7)
  • .changeset/heavy-worms-cheer.md
  • src/components/card/Card.tsx
  • src/components/card/SetupDelaySheet.tsx
  • src/components/home/card-upgrade/ActivateCard.tsx
  • src/i18n/es.json
  • src/i18n/pt.json
  • src/utils/queryClient.ts

Comment thread src/utils/queryClient.ts

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4dd8c961-0b53-4d8b-8501-49293c62e5be

📥 Commits

Reviewing files that changed from the base of the PR and between 6c0671e and 0f4a343.

📒 Files selected for processing (7)
  • .changeset/heavy-worms-cheer.md
  • src/components/card/Card.tsx
  • src/components/card/SetupDelaySheet.tsx
  • src/components/home/card-upgrade/ActivateCard.tsx
  • src/i18n/es.json
  • src/i18n/pt.json
  • src/utils/queryClient.ts

Comment thread src/components/card/TimeoutSheet.tsx

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0f4a343f81

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/components/card/TimeoutSheet.tsx

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2bc9a4ec0e

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/components/card/Card.tsx

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 161326f3-f02d-440b-b0cf-90ed3cf1a721

📥 Commits

Reviewing files that changed from the base of the PR and between 0f4a343 and b855fb5.

📒 Files selected for processing (7)
  • .changeset/heavy-worms-cheer.md
  • src/components/card/Card.tsx
  • src/components/card/SetupDelaySheet.tsx
  • src/components/home/card-upgrade/ActivateCard.tsx
  • src/i18n/es.json
  • src/i18n/pt.json
  • src/utils/queryClient.ts

Comment thread src/components/card/Card.tsx

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 00c45eb31e

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/components/home/card-upgrade/ActivateCard.tsx Outdated
@cruzdanilo
cruzdanilo merged commit 6cca2bd into main Jun 25, 2026
12 of 14 checks passed
@cruzdanilo
cruzdanilo deleted the timeout branch June 25, 2026 18:37
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.

ui: timeout for card creation

2 participants