RocketChat / RocketChat/Rocket.Chat

Replace deprecated SelectLegacy with Select in AccountIntegrationsPage

Open
#38,422 1 comment 0 reactions 0 assignees View on GitHub

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

  • SelectLegacy is deprecated and should no longer be used.
  • This usage does not require advanced features such as renderItem or
    renderSelected.
  • Similar simple cases have already been migrated across the codebase.

Examples of already-migrated components include:

  • RoleForm.tsx
  • QueueListFilter.tsx
  • ConditionForm.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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.