Skip to content

Conversation

@abhayymishraa
Copy link
Contributor

@abhayymishraa abhayymishraa commented Dec 27, 2025

What does this PR do?

This PR removes unused components and exports from the UI package to reduce codebase size and improve maintainability. All removed components were verified to have zero imports or usage in the codebase.

Components Removed:

  • UpgradeOrgsBadge - Badge component with no usage
  • InputFieldWithSelect - Form component only used in tests
  • Stepper - Step component with no usage
  • FormStep - Step component with no usage
  • RangeSlider - Slider component with no usage
  • RangeSliderPopover - Slider component with no usage
  • Slider - Slider component (misnamed index.tsx file) with no usage
  • NavigationItem - Navigation component from UI package (different from shell NavigationItem)
  • AddressInputNonLazy - Address component export (only used in removed test file)

Exports Removed:

  • HintsOrErrors export (component kept, used internally by TextField)
  • FieldsetLegend, InputGroupBox, InputLeading from form inputs
  • DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuGroup, DropdownMenuTriggerItem from dropdown

Test Files Cleaned:

  • Removed BookingFields.test.tsx that used AddressInputNonLazy
  • Updated input.test.tsx to remove InputFieldWithSelect test

Impact:

  • 9 files deleted
  • 15 exports removed
  • ~560 lines of unused code removed
  • Zero breaking changes (all removed components verified as unused)

Visual Demo (For contributors especially)

N/A - This is a code cleanup PR with no visual changes. All removed components were unused and had no impact on the UI.

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. If N/A, write N/A here and check the checkbox.
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

Verification Steps:

  1. Run yarn type-check:ci --force to ensure no type errors
  2. Run yarn lint:fix to ensure no linting errors
  3. Verify the application builds successfully: yarn build
  4. Run existing test suite to ensure no regressions: yarn test
  5. Manually verify that all UI components still work as expected

What was verified:

  • All removed components have zero imports in the codebase
  • No production code references the removed components
  • Internal dependencies preserved (e.g., HintsOrErrors still used by TextField)
  • Type exports maintained
  • All test files updated appropriately

Expected Result:

  • Application builds and runs without errors
  • No functionality changes (all removed components were unused)
  • Reduced bundle size due to removed unused code

Checklist

  • I have read the contributing guide
  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • Code removal, no new code added
  • I have checked if my changes generate no new warnings
  • Verified with yarn lint:fix and yarn type-check:ci --force

@abhayymishraa abhayymishraa requested review from a team as code owners December 27, 2025 14:57
@vercel
Copy link

vercel bot commented Dec 27, 2025

@abhayymishraa is attempting to deploy a commit to the cal-staging Team on Vercel.

A member of the Team first needs to authorize it.

@CLAassistant
Copy link

CLAassistant commented Dec 27, 2025

CLA assistant check
All committers have signed the CLA.

@graphite-app graphite-app bot added the community Created by Linear-GitHub Sync label Dec 27, 2025
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 18 files

@abhayymishraa abhayymishraa force-pushed the refactor/remove-unused-components branch from 4f2ca03 to f60b716 Compare December 27, 2025 15:05
@volnei
Copy link
Contributor

volnei commented Dec 27, 2025

@abhayymishraa thank you for your contribution! While the PR looks good I want to understand why did you use a force-push?

volnei
volnei previously requested changes Dec 27, 2025
Copy link
Contributor

@volnei volnei left a comment

Choose a reason for hiding this comment

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

Left a question on PR

@abhayymishraa
Copy link
Contributor Author

abhayymishraa commented Dec 27, 2025

@volnei, by mistake, i added some other changes in openapi.json and commited it, so that's why i did a force push
to clean that part

@dhairyashiil
Copy link
Member

@abhayymishraa thank you for your contribution! While the PR looks good I want to understand why did you use a force-push?

Yes, looks like he accidentally pushed openapi file changes from other branch/pr : commit

Copy link
Member

@dhairyashiil dhairyashiil left a comment

Choose a reason for hiding this comment

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

LGTM, Thank you for your contribution

@keithwillcode keithwillcode requested a review from volnei December 29, 2025 04:09
@keithwillcode keithwillcode added the run-ci Approve CI to run for external contributors label Dec 31, 2025
@keithwillcode keithwillcode enabled auto-merge (squash) December 31, 2025 15:05
@keithwillcode keithwillcode added run-ci Approve CI to run for external contributors and removed run-ci Approve CI to run for external contributors labels Jan 2, 2026
@keithwillcode keithwillcode merged commit 18b0415 into calcom:main Jan 2, 2026
60 of 66 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community Created by Linear-GitHub Sync ready-for-e2e run-ci Approve CI to run for external contributors size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants