Skip to content

build(deps): upgrade some dependencies#6962

Open
tassoevan wants to merge 14 commits intodevelopfrom
chore/upgrade-deps-safely
Open

build(deps): upgrade some dependencies#6962
tassoevan wants to merge 14 commits intodevelopfrom
chore/upgrade-deps-safely

Conversation

@tassoevan
Copy link

@tassoevan tassoevan commented Feb 3, 2026

Proposed changes

  • It uses tilde for some dependencies' semver ranges.
    This ensures higher stability in the dependency resolutions, since it will block implicit minor upgrades.
  • It upgrades TypeScript to the latest version.
    It aligns with other project in the organization and enables more strict type safety.
  • It aligns the versions of Babel dependencies.
    Babel dependencies usually are released under a single semver, so misalignments at the minor version number are usually a mistake.

Issue(s)

ARCH-1939

How to test or reproduce

Screenshots

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • Improvement (non-breaking change which improves a current function)
  • New feature (non-breaking change which adds functionality)
  • Documentation update (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if applicable)
  • I have added necessary documentation (if applicable)
  • Any dependent changes have been merged and published in downstream modules

Further comments

Summary by CodeRabbit

  • Chores

    • Updated many dependencies to broader version ranges, added Axios and a Volta block for Node/Yarn management, and removed unused dev dependencies
  • Other Changes

    • Tightened callback typings across header and view components for stronger type safety
    • Adjusted forwarding access control behavior when certain account settings are absent
    • Made room-actions navigation behavior more consistent across views

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 3, 2026

Walkthrough

Tightened several callback prop types from Function to () => void; removed a parameter from RoomView.goRoomActionsView (now no args) while making TeamChannelsView.goRoomActionsView accept an optional parameter; changed a fallback for blockUnauthenticatedAccess to coerce to boolean; and updated dependencies (added axios, adjusted versions, added Volta).

Changes

Cohort / File(s) Summary
RoomHeader props
app/containers/RoomHeader/RoomHeader.tsx, app/containers/RoomHeader/index.tsx
Replaced generic onPress: Function with onPress: () => void in exported interfaces/props.
LeftButtons prop
app/views/RoomView/LeftButtons.tsx
Replaced goRoomActionsView: Function with goRoomActionsView: () => void in props interface.
RoomView navigation signature
app/views/RoomView/index.tsx
Changed goRoomActionsView to a parameterless () => void; added/adjusted explicit navigation typing imports and used a NavigatorScreenParams<...> assertion when navigating in master-detail mode.
TeamChannelsView signature
app/views/TeamChannelsView.tsx
Made goRoomActionsView parameter optional: screen?: string.
ForwardMessageView logic
app/views/ForwardMessageView/index.tsx
Replaced nullish-coalescing fallback with direct boolean coercion for blockUnauthenticatedAccess, so undefined now evaluates to false.
Dependencies / tooling
package.json
Added axios, updated bytebuffer and many devDependencies to ~ ranges, removed/adjusted some devDeps, and added a Volta block (node 24.13.1, yarn 1.22.22).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I nudged the types to tidy the trail,
Removed a stray param that used to sail,
A flag now falls false when shadows are cast,
Axios hopped in, and Volta marched fast,
Tiny hops, neat code — a rabbit’s quick hail! 🥕

🚥 Pre-merge checks | ✅ 2 | ❌ 4
❌ Failed checks (2 warnings, 2 inconclusive)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR includes substantial type refinements to callback signatures and a behavioral change to blockUnauthenticatedAccess that are unrelated to dependency upgrades mentioned in the PR title and objectives. Separate the callback type refinements (RoomHeader, LeftButtons, RoomView) and blockUnauthenticatedAccess logic change into a dedicated refactoring PR, keeping this PR focused on dependency management.
Merge Conflict Detection ⚠️ Warning ❌ Merge conflicts detected (10 files):

⚔️ .maestro/helpers/login-with-deeplink.yaml (content)
⚔️ .maestro/tests/room/ignoreuser.yaml (content)
⚔️ app/containers/RoomHeader/RoomHeader.tsx (content)
⚔️ app/containers/RoomHeader/index.tsx (content)
⚔️ app/views/ForwardMessageView/index.tsx (content)
⚔️ app/views/RoomView/LeftButtons.tsx (content)
⚔️ app/views/RoomView/index.tsx (content)
⚔️ app/views/TeamChannelsView.tsx (content)
⚔️ package.json (content)
⚔️ yarn.lock (content)

These conflicts must be resolved before merging into develop.
Resolve conflicts locally and push changes to this branch.
Title check ❓ Inconclusive The title is vague and generic—'upgrade some dependencies' does not clearly specify which dependencies or the scope of changes, particularly missing context about the type system changes to onPress and goRoomActionsView signatures. Consider a more descriptive title that highlights the main changes, such as 'refactor: tighten callback types and upgrade dependencies' to reflect both the type safety improvements and dependency updates.
Linked Issues check ❓ Inconclusive The PR aligns with ARCH-1939 objectives: it uses tilde ranges for dependencies, upgrades TypeScript, aligns Babel versions, and includes miscellaneous adjustments. However, the unrelated type system changes to callback signatures and blockUnauthenticatedAccess logic appear to be included without explicit mention in the linked issue. Clarify whether the callback type refinements (onPress, goRoomActionsView) and blockUnauthenticatedAccess logic change are in scope for ARCH-1939 or if they belong in a separate PR.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


No actionable comments were generated in the recent review. 🎉

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1503cfc and d9829f8.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (7)
  • app/containers/RoomHeader/RoomHeader.tsx
  • app/containers/RoomHeader/index.tsx
  • app/views/ForwardMessageView/index.tsx
  • app/views/RoomView/LeftButtons.tsx
  • app/views/RoomView/index.tsx
  • app/views/TeamChannelsView.tsx
  • package.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • app/containers/RoomHeader/index.tsx
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: Rohit3523
Repo: RocketChat/Rocket.Chat.ReactNative PR: 6930
File: package.json:101-101
Timestamp: 2026-02-05T13:55:06.688Z
Learning: The RocketChat/Rocket.Chat.ReactNative repository uses a fork of react-native-image-crop-picker (RocketChat/react-native-image-crop-picker) with custom Android edge-to-edge fixes, not the upstream ivpusic/react-native-image-crop-picker package. Dependencies should reference commit pins from the RocketChat fork.
📚 Learning: 2026-02-05T13:55:00.974Z
Learnt from: Rohit3523
Repo: RocketChat/Rocket.Chat.ReactNative PR: 6930
File: package.json:101-101
Timestamp: 2026-02-05T13:55:00.974Z
Learning: In this repository, the dependency on react-native-image-crop-picker should reference the RocketChat fork (RocketChat/react-native-image-crop-picker) with explicit commit pins, not the upstream ivpusic/react-native-image-crop-picker. Update package.json dependencies (and any lockfile) to point to the fork URL and a specific commit, ensuring edge-to-edge Android fixes are included. This pattern should apply to all package.json files in the repo that declare this dependency.

Applied to files:

  • package.json
🧬 Code graph analysis (1)
app/views/RoomView/index.tsx (2)
app/stacks/MasterDetailStack/types.ts (1)
  • ModalStackParamList (30-204)
app/stacks/stackType.ts (1)
  • TNavigation (4-20)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ESLint and Test / run-eslint-and-test
🔇 Additional comments (10)
app/views/ForwardMessageView/index.tsx (1)

35-35: No behavioral change — the cleanup is correct.

As discussed in the previous review, !!state.settings.Accounts_AvatarBlockUnauthenticatedAccess ?? true was equivalent to !!state.settings.Accounts_AvatarBlockUnauthenticatedAccess because !! always produces a boolean, making ?? true dead code. Removing it is a safe simplification.

app/views/RoomView/LeftButtons.tsx (1)

23-23: Good type narrowing from Function to () => void.

This aligns with the caller in RoomView where goRoomActionsView is passed without arguments, and removes the overly permissive Function type.

app/containers/RoomHeader/RoomHeader.tsx (1)

78-78: LGTM — consistent type narrowing.

app/views/TeamChannelsView.tsx (1)

309-334: LGTM — making screen optional aligns with both call sites.

When called from RoomHeader (typed as () => void), screen is undefined and the else-branch fires correctly. The function signature (screen?: string) => void is assignable to () => void in TypeScript, so no type conflicts arise.

app/views/RoomView/index.tsx (2)

10-12: LGTM — imports support the new type assertion.


593-595: Type assertion looks reasonable.

The cast to NavigatorScreenParams<ModalStackParamList & TNavigation> replaces what was likely a @ts-ignore. This is a step in the right direction for type safety, even though a full generic-safe solution would be preferable long-term.

package.json (4)

144-150: Good alignment of Babel packages to a consistent minor version.

Using ~7.25.9 across all Babel packages prevents version misalignment issues between Babel packages that are designed to work together at the same minor version.


216-219: No action needed—Node.js 24.13.1 is an LTS release.

Node.js 24.13.1 was released on February 10, 2026, as a long-term support version. Pinning this version in Volta is safe and will not break contributor onboarding.

Likely an incorrect or invalid review comment.


162-163: Storybook 9.x is compatible with React Native 0.79. Storybook 9 requires React Native ≥ 0.72, and your current version (0.79) meets this requirement. No action needed.


202-202: TypeScript 5.9.3 is a valid published version on npm (released 2025-09-30), so the dependency specification is correct.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@tassoevan tassoevan changed the title poc: upgrade yarn and dependencies poc: upgrade yarn, use workspaces and upgrade dependencies Feb 3, 2026
@tassoevan tassoevan force-pushed the chore/upgrade-deps-safely branch from f36518f to 0883f73 Compare February 3, 2026 13:47
@tassoevan tassoevan had a problem deploying to experimental_android_build February 3, 2026 13:51 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to official_android_build February 3, 2026 13:51 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_ios_build February 3, 2026 13:51 — with GitHub Actions Error
@tassoevan tassoevan force-pushed the chore/upgrade-deps-safely branch from 0883f73 to 5b28778 Compare February 12, 2026 03:24
@tassoevan tassoevan had a problem deploying to experimental_ios_build February 12, 2026 03:28 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_android_build February 12, 2026 03:28 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to official_android_build February 12, 2026 03:28 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_ios_build February 12, 2026 04:39 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to official_android_build February 12, 2026 04:39 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_android_build February 12, 2026 04:39 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_android_build February 12, 2026 04:47 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to official_android_build February 12, 2026 04:47 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_ios_build February 12, 2026 04:47 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_ios_build February 12, 2026 05:02 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_android_build February 12, 2026 05:02 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to official_android_build February 12, 2026 05:02 — with GitHub Actions Error
@tassoevan tassoevan had a problem deploying to experimental_ios_build February 13, 2026 01:24 — with GitHub Actions Error
@tassoevan tassoevan temporarily deployed to experimental_android_build February 13, 2026 01:24 — with GitHub Actions Inactive
@tassoevan tassoevan had a problem deploying to upload_experimental_android February 13, 2026 03:42 — with GitHub Actions Error
@github-actions
Copy link

Android Build Available

Rocket.Chat Experimental 4.70.0.108269

Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNQ7-GPcnqx5nqthqrSEGa-NB80MvcQ3QvehOFv6SwQvkc4exKtVLaZo1ni2g9gyvKT_zSiehLyvdHh8hmIz

@tassoevan tassoevan force-pushed the chore/upgrade-deps-safely branch from 9872bcc to d9829f8 Compare February 13, 2026 18:13
@tassoevan tassoevan requested a deployment to experimental_android_build February 13, 2026 18:17 — with GitHub Actions Waiting
@tassoevan tassoevan requested a deployment to experimental_ios_build February 13, 2026 18:17 — with GitHub Actions Waiting
@tassoevan tassoevan requested a deployment to official_android_build February 13, 2026 18:17 — with GitHub Actions Waiting
Copy link
Contributor

@OtavioStasiak OtavioStasiak left a comment

Choose a reason for hiding this comment

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

Tested on android and iOS, working as expected on both platforms.
Also tested and ensured that it works in MasterStackDetail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants