Skip to content

chore: remove dev feature flag from new application onboarding#1153

Open
MayankBansal12 wants to merge 3 commits intodevelopfrom
chore/remove-ff-application
Open

chore: remove dev feature flag from new application onboarding#1153
MayankBansal12 wants to merge 3 commits intodevelopfrom
chore/remove-ff-application

Conversation

@MayankBansal12
Copy link
Member

Date: 10-03-26

Developer Name: @MayankBansal12


Issue Ticket Number:-

Description:

  • Removes feature flag from new join steps
  • Removes dev flag from new signup (role for user)
  • Removes dev flag from application detail page

Is Under Feature Flag

  • Yes
  • No

Database changes

  • Yes
  • No

Breaking changes (If your feature is breaking/missing something please mention pending tickets)

  • Yes
  • No

Is Development Tested?

  • Yes
  • No

Tested in staging?

  • Yes
  • No

Add relevant Screenshot below ( e.g test coverage etc. )

@coderabbitai
Copy link

coderabbitai bot commented Mar 10, 2026

Summary by CodeRabbit

  • Bug Fixes

    • Streamlined the sign-up flow with simplified username generation process.
    • Improved application navigation by removing unnecessary query parameters from URLs.
  • Refactor

    • Updated sign-up form button text behavior for different workflow steps.
    • Modified stepper component usage in the onboarding flow for improved user experience.

Walkthrough

This PR systematically removes the dev feature flag from routing, navigation, and signup logic throughout the application. It simplifies conditional branching by removing dev-mode guards from routes, eliminates username validation, hardcodes dev=true in API URLs, and consolidates template logic to streamline the signup and application flows.

Changes

Cohort / File(s) Summary
Routing & Route Guards
app/routes/applications.js, app/routes/applications/detail.js
Removed router service injection, dev query parameter handling, and beforeModel redirects based on dev flag status.
Navigation Components
app/components/application/detail-header.js, app/components/join-steps/status-card.js
Removed dev: true query parameter from router transitions; navigation now uses only essential route parameters.
Signup Controller & Flow
app/controllers/new-signup.js, app/constants/apis.js
Removed devFlag parameter from registerUser and SELF_PROFILE_UPDATE_URL, eliminated username availability check, and hardcoded dev=true in API URLs; signup payload now always includes firstName, lastName, and username.
UI Templates & Logic
app/components/new-signup/input.hbs, app/templates/join.hbs, app/templates/new-signup.hbs
Updated button text conditionals based on step (role now shows "Submit"), swapped Stepper/NewStepper component usage between dev/non-dev branches, and added non-dev registration path in THIRD_STEP.
Test Updates
tests/integration/components/new-signup/input-test.js, tests/integration/components/status-card-test.js, tests/unit/controllers/new-signup-test.js, tests/unit/routes/applications-test.js
Removed dev query parameter assertions, replaced checkUserName stubs with generateUsername, removed dev-based redirect tests, and updated test expectations to align with simplified signup flow.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • Hariom01010
  • iamitprakash
  • Suvidh-kaushik

Poem

🐰 The dev flag takes its final bow,
One true path we'll follow now!
No more branching left and right,
Signup flows shine pure and bright! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title accurately describes the main change: removing dev feature flags from the new application onboarding flow, which aligns with the changeset across multiple files.
Description check ✅ Passed The pull request description is related to the changeset, mentioning removal of feature flags from join steps, new signup role handling, and application detail page.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/remove-ff-application

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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@tests/integration/components/new-signup/input-test.js`:
- Around line 98-115: The test title is inconsistent with its assertion: update
the test name string in tests/integration/components/new-signup/input-test.js so
it matches the expected button text ("Submit") when currentStep is 'role' (or
alternatively change the asserted text to "Next" if that is the intended
behavior); locate the test that sets currentStep: 'role' and references
NEW_SIGNUP_STEPS and the <NewSignup::Input> render, and rename the test
description from "button should have text Next if the current step is role" to
"button should have text Submit if the current step is role" (or adjust the
assert.dom(...).hasText(...) to 'Next' if you prefer that behavior).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: f3d94434-f672-4eb4-a12b-61a30935ab32

📥 Commits

Reviewing files that changed from the base of the PR and between 7c91d6f and b843b72.

📒 Files selected for processing (13)
  • app/components/application/detail-header.js
  • app/components/join-steps/status-card.js
  • app/components/new-signup/input.hbs
  • app/constants/apis.js
  • app/controllers/new-signup.js
  • app/routes/applications.js
  • app/routes/applications/detail.js
  • app/templates/join.hbs
  • app/templates/new-signup.hbs
  • tests/integration/components/new-signup/input-test.js
  • tests/integration/components/status-card-test.js
  • tests/unit/controllers/new-signup-test.js
  • tests/unit/routes/applications-test.js
💤 Files with no reviewable changes (5)
  • app/routes/applications/detail.js
  • tests/unit/routes/applications-test.js
  • app/components/application/detail-header.js
  • app/routes/applications.js
  • tests/integration/components/status-card-test.js

Comment on lines +98 to 115
test('button should have text Next if the current step is role', async function (assert) {
assert.expect(2);
this.setProperties({
onClick: function () {
this.currentStep = NEW_SIGNUP_STEPS[5];
},
currentStep: 'lastName',
isDevMode: true,
currentStep: 'role',
});

await render(hbs`
<NewSignup::Input
@onClick={{this.onClick}}
@onClick={{this.onClick}}
@currentStep={{this.currentStep}}
@dev={{this.isDevMode}}
/>`);

assert.dom('[data-test-button="signup"]').exists();
assert.dom('[data-test-button="signup"]').hasText('Next');
assert.dom('[data-test-button="signup"]').hasText('Submit');
});
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Test name contradicts the assertion.

The test is named "button should have text Next if the current step is role" but the assertion at line 114 expects the button to have text "Submit". The test name should be updated to match the actual expected behavior.

📝 Proposed fix
-  test('button should have text Next if the current step is role', async function (assert) {
+  test('button should have text Submit if the current step is role', async function (assert) {
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
test('button should have text Next if the current step is role', async function (assert) {
assert.expect(2);
this.setProperties({
onClick: function () {
this.currentStep = NEW_SIGNUP_STEPS[5];
},
currentStep: 'lastName',
isDevMode: true,
currentStep: 'role',
});
await render(hbs`
<NewSignup::Input
@onClick={{this.onClick}}
@onClick={{this.onClick}}
@currentStep={{this.currentStep}}
@dev={{this.isDevMode}}
/>`);
assert.dom('[data-test-button="signup"]').exists();
assert.dom('[data-test-button="signup"]').hasText('Next');
assert.dom('[data-test-button="signup"]').hasText('Submit');
});
test('button should have text Submit if the current step is role', async function (assert) {
assert.expect(2);
this.setProperties({
onClick: function () {
this.currentStep = NEW_SIGNUP_STEPS[5];
},
currentStep: 'role',
});
await render(hbs`
<NewSignup::Input
`@onClick`={{this.onClick}}
`@currentStep`={{this.currentStep}}
/>`);
assert.dom('[data-test-button="signup"]').exists();
assert.dom('[data-test-button="signup"]').hasText('Submit');
});
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tests/integration/components/new-signup/input-test.js` around lines 98 - 115,
The test title is inconsistent with its assertion: update the test name string
in tests/integration/components/new-signup/input-test.js so it matches the
expected button text ("Submit") when currentStep is 'role' (or alternatively
change the asserted text to "Next" if that is the intended behavior); locate the
test that sets currentStep: 'role' and references NEW_SIGNUP_STEPS and the
<NewSignup::Input> render, and rename the test description from "button should
have text Next if the current step is role" to "button should have text Submit
if the current step is role" (or adjust the assert.dom(...).hasText(...) to
'Next' if you prefer that behavior).

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