RocketChat / RocketChat/Rocket.Chat
Replace deprecated SelectLegacy with Select in AccountIntegrationsPage
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description
There is an ongoing TODO pattern in the codebase to migrate deprecated
SelectLegacy components to the modern Select component from
@rocket.chat/fuselage.
The AccountIntegrationsPage.tsx currently still uses SelectLegacy and should
be updated to use Select.
Affected file
apps/meteor/client/views/account/integrations/AccountIntegrationsPage.tsx
Current code
SelectLegacy is imported and used in the form controller:
import { SelectLegacy, ... } from '@rocket.chat/fuselage';
render={({ field }) => (
<SelectLegacy
{...field}
options={options}
placeholder={t('Select_an_option')}
/>
);
Problem
SelectLegacyis deprecated and should no longer be used.- This usage does not require advanced features such as
renderItemor
renderSelected. - Similar simple cases have already been migrated across the codebase.
Examples of already-migrated components include:
RoleForm.tsxQueueListFilter.tsxConditionForm.tsx
Proposed solution
Replace SelectLegacy with the modern Select component.
Example:
import { Select, ... } from '@rocket.chat/fuselage';
render={({ field }) => (
<Select
{...field}
options={options}
placeholder={t('Select_an_option')}
/>
);
This aligns the component with current standards and removes deprecated usage.
Verification
- No visual changes expected.
- No functional behavior changes expected.
- Component props remain the same.
- Follows an existing migration pattern already used in 8+ files in the
codebase.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Open apps/meteor/client/views/account/integrations/AccountIntegrationsPage.tsx and compare its simple SelectLegacy usage with the migrated patterns in RoleForm.tsx, QueueListFilter.tsx, and ConditionForm.tsx. Replace the deprecated component while preserving the existing options, placeholder, and field props, then verify that no visual or functional changes are introduced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100