Bug Fix: TypeScript migration for helpers.ts

Abierto
#6,781 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@Rohit3523 ya está trabajando en esto.

Desde el 13/11/2025.

  • #6796 de @DSingh0304 — cerrado sin fusionar

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
48/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
typescript

Línea de trabajo

Comienza con app/lib/methods/helpers/helpers.ts e inspecciona las funciones auxiliares indicadas; después, lee sus usos en app/lib/hooks/useUserData.ts y app/containers/MessageComposer/components/ComposerInput.tsx para determinar los tipos necesarios. Ejecuta yarn lint y el compilador de TypeScript mientras eliminas @ts-nocheck y añades anotaciones de parámetros y valores de retorno; se considera terminado cuando el archivo se comprueba por completo sin nuevos errores de tipos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

🐛 bug
Describe the Bug

The file app/lib/methods/helpers/helpers.ts has @ts-nocheck at the top, which disables TypeScript checking for the entire file. All 8 exported functions lack proper TypeScript type annotations, reducing type safety and developer experience.

Steps to Reproduce
  1. Open app/lib/methods/helpers/helpers.ts
  2. Observe @ts-nocheck - TEMP comment at line 1
  3. Notice all function parameters lack type annotations (e.g., room, sender, item are untyped)
  4. Run yarn lint or TypeScript compiler - no type errors are reported for this file despite missing types
Expected Behavior
  • Remove @ts-nocheck directive
  • Add proper TypeScript types to all function parameters and return types
  • All functions should have complete type annotations
  • TypeScript compiler should properly check this file
Actual Behavior
  • TypeScript checking is disabled for the entire file
  • No type safety for 8 exported functions
  • Potential runtime errors that could be caught at compile time
  • Poor IDE autocomplete and IntelliSense support
Rocket.Chat Server Version

N/A (Code quality issue, not server-dependent)

Rocket.Chat App Version

4.67.0

Device Name

N/A (Code quality issue, not device-specific)

OS Version

N/A (Code quality issue, not OS-specific)

Additional Context

File: app/lib/methods/helpers/helpers.ts

Functions to migrate:

  • isGroupChat(room)
  • getRoomAvatar(room)
  • getUidDirectMessage(room)
  • getRoomTitle(room)
  • getSenderName(sender)
  • canAutoTranslate()
  • isRead(item)
  • hasRole(role)
  • hasPermission(permissions, rid?)

Impact: This file is used in multiple places:

  • app/lib/hooks/useUserData.ts
  • app/containers/MessageComposer/components/ComposerInput.tsx
  • And potentially other files

Related: Part of TypeScript migration effort to improve code quality and maintainability.

Lenguaje dominante
TypeScript
Estrellas
2.4k
Forks
1.5k
Merge medio
1 d 15 h
PR fusionados (30 d)
29

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de RocketChat/Rocket.Chat.ReactNative

Todos los issues de RocketChat/Rocket.Chat.ReactNative

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.