PromucFlow_constructor/app/client
Jacques Ikot 7282f64dcf
feat: skip license page for cloud billing users (#41102)
## Description

This PR enhances the signup success flow to automatically skip the
license page when cloud billing is enabled, providing a smoother
onboarding experience for cloud users.

## Key Changes

### 🚀 New Features
- Added cloud billing detection using `useIsCloudBillingEnabled()` hook
- Implemented automatic license page skipping for cloud billing users
- Enhanced redirect logic with proper async/await handling

### 🔧 Improvements
- Added redirect state management to prevent race conditions
- Improved error handling in redirect flow with try-catch blocks
- Extracted redirect conditions into `shouldAutoRedirect` variable for
better readability
- Added redirect protection to prevent multiple simultaneous redirects

### 🛠️ Technical Details
- Added `isMultiOrgEnabled` flag to signup redirect parameters
- Made `redirectUsingQueryParam` and `onGetStarted` functions async
- Implemented `isRedirecting` state to track redirect status
- Added proper dependency management in useEffect and useCallback hooks

## Impact

- **Cloud billing users** will now bypass the license page automatically
- **Improved UX** with more robust redirect handling and loading states
- **Better performance** by preventing unnecessary redirect attempts
- **Enhanced reliability** with proper error handling and state
management

## Automation

/ok-to-test tags="@tag.Sanity, @tag.Authentication,
@tag.LicenseAndBilling"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/16167808138>
> Commit: ab4247c9e01d23159f07451f3014f76fa313134e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16167808138&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication, @tag.LicenseAndBilling`
> Spec:
> <hr>Wed, 09 Jul 2025 12:00:44 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Improved signup success experience with smarter automatic redirection
based on user status and organization settings.
  * Added a loading spinner during redirection for better user feedback.

* **Bug Fixes**
  * Prevented multiple redirects from occurring at the same time.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-10 13:42:42 -07:00
..
.husky chore: adds depandabot.yml (#40521) 2025-05-01 05:44:04 +00:00
.yarn
config fix: Suppress webpack-dev-server ResizeObserver loop development runtime error (#40968) 2025-06-18 11:16:53 +05:30
cypress chore: Add changes for new API contracts in GitSync.ts (#41101) 2025-07-10 11:13:17 +06:00
docker/templates chore: add grafana faro sdk (CE) (#38301) 2024-12-26 10:37:41 +05:30
generators chore: decouple formControl registry from the main chunk (#40939) 2025-06-17 17:20:23 +05:30
packages fix: add missing check for organization data in form login command (#41091) 2025-07-07 22:10:07 +05:30
public chore: add maximum-scale to avoid zoom on inputs in iOS (#40171) 2025-04-08 19:16:31 +05:30
scripts fix: Upgrade packages (#40935) 2025-06-16 12:12:55 +05:30
src feat: skip license page for cloud billing users (#41102) 2025-07-10 13:42:42 -07:00
test chore: decouple formControl registry from the main chunk (#40939) 2025-06-17 17:20:23 +05:30
typings
.babelrc chore: Eject CRA (#39264) 2025-02-14 14:24:41 +05:30
.dockerignore
.editorconfig
.eslintrc.base.json feat: add react-compiler eslint plugin (#37139) 2024-10-31 16:40:18 +01:00
.eslintrc.js fix: change appsmith alias (#35349) 2024-08-06 17:52:22 +03:00
.fork-ts-checkerrc
.gitignore
.lintstagedrc.json chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
.nvmrc
.prettierignore
.prettierrc
.sentryclirc
.yarnrc.yml
build.sh fix: sourcemaps (#39301) 2025-02-16 20:05:50 +03:00
cypress_ci_custom.config.ts chore: Remove Airtable tests from being excluded from CI runs (#40932) 2025-06-17 10:00:06 +05:30
cypress_ci_hosted.config.ts chore: Remove Airtable tests from being excluded from CI runs (#40932) 2025-06-17 10:00:06 +05:30
cypress_ci.config.ts chore: Remove Airtable tests from being excluded from CI runs (#40932) 2025-06-17 10:00:06 +05:30
cypress-add-tags.js
cypress.config.ts chore: change snapshot package (#35867) 2024-09-12 11:09:42 +03:00
download-assets.js
jest.config.js fix: Upgrade packages (#40935) 2025-06-16 12:12:55 +05:30
knip.json chore: Eject CRA (#39264) 2025-02-14 14:24:41 +05:30
package.json fix: upgrade tinymce to latest MIT licensed version (#41003) 2025-06-20 16:02:25 +05:30
README.md
README.old.md
start-caddy.sh chore: Remove deprecated start-https.sh message (#33856) 2024-05-31 07:18:57 +05:30
start-https.sh chore: convert consolidated api etag to a weak one (#38939) 2025-01-31 16:35:20 +05:30
tailwind.config.js
tsconfig.json chore: upgrade typescript to 5.4 (#35181) 2024-07-30 16:15:48 +02:00
tsconfig.path.json chore: rename old ADS package (#35517) 2024-08-08 15:55:00 +03:00
vercel.json
yarn.lock chore(deps): bump pbkdf2 from 3.1.2 to 3.1.3 in /app/client (#41026) 2025-06-30 09:49:18 +05:30

Appsmith Client

This project was bootstrapped with Create React App.

For details on setting up your development machine, please refer to the Setup Guide