RocketChat / RocketChat/Rocket.Chat.ReactNative

feature request: Proposal: Evaluate migration from React Native CLI to Expo for improved DX and maintainability

Open
#6,971 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🎉 feature
Dominant language
TypeScript
Stars
2.4k
Forks
1.5k
Avg merge
1d 18h
Merged PRs (30d)
90

Description

Feature Description

Proposal: Evaluate migration from React Native CLI to Expo

Problem

The current Rocket.Chat React Native app is built using the React Native CLI and relies heavily on manual native configuration. This leads to:

  • Complex setup for new contributors
  • Dependency conflicts (Node/React version alignment)
  • Longer onboarding time
  • Increased maintenance overhead for native modules
  • Difficult environment reproducibility

During local setup, contributors often face issues related to:

  • Peer dependency mismatches
  • Native build configuration
  • Version compatibility
Proposed Direction

Explore the feasibility of gradually adopting Expo (prebuild/dev-client approach) to improve:

  • Developer experience
  • Faster onboarding for contributors
  • Easier dependency management
  • Reduced native configuration complexity
  • Improved testing and iteration speed

This does NOT necessarily mean a full immediate migration, but rather:

  • Evaluating compatibility with existing native modules
  • Identifying blockers
  • Creating a migration roadmap if feasible
Possible Approach
  1. Audit current native dependencies and Expo compatibility
  2. Test running the project using Expo Dev Client
  3. Document modules requiring custom native support
  4. Propose a phased migration strategy (if viable)
Motivation and Use Case
Expected Benefits
  • Faster setup for contributors
  • Reduced environment-related issues
  • Improved long-term maintainability
  • Easier experimentation and feature development
Implementation Ideas
Willing to Contribute

I would like to take ownership of:

  • Initial feasibility study
  • Dependency compatibility analysis
  • Proof-of-concept setup
  • Documentation for migration path

Would love feedback from maintainers on whether this direction aligns with project goals.

Is this feature available in the API or web version?

Available in API

Rocket.Chat Server Version

No response

Rocket.Chat App Version

No response

Device Name

No response

OS Version

No response

Additional Context

No response

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

Start by auditing the Rocket.Chat React Native project's current native dependencies and checking their compatibility with Expo Dev Client. Test whether the project can run with the proposed prebuild approach, then document modules needing custom native support. Done means a feasibility study identifying blockers and, if viable, a phased migration roadmap.

Written by the indexing model from the issue text.

Assessment

Tech stack
react-native
Domain
developer-experience, mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.