Skip to content

chore: adopt @rocket.chat/mobile-crypto 0.3.0 - #7401

Merged
diegolmello merged 2 commits into
developfrom
sharp-marsupial
Jun 18, 2026
Merged

chore: adopt @rocket.chat/mobile-crypto 0.3.0#7401
diegolmello merged 2 commits into
developfrom
sharp-marsupial

Conversation

@diegolmello

@diegolmello diegolmello commented Jun 15, 2026

Copy link
Copy Markdown
Member

Proposed changes

Point the app at @rocket.chat/mobile-crypto v0.3.0, rebuilt against React Native 0.83 as a New Architecture TurboModule. The dependency pin moves from the library's default branch to the rebuilt commit 13c76b6.

Notable changes pulled in:

  • iOS import is now linkage-agnostic (__has_include guard), so it builds under both static libraries and use_frameworks!.
  • Android rsaVerify / rsaVerifyBase64 now accept PKCS#1 public keys, which were previously rejected (SPKI still works). This is the path that decrypts E2E keys already stored on a device.
  • Android toolchain defaults moved to Java 17 / Kotlin 2.1.20 / SDK 36. These are read from this app's existing rootProject.ext, so nothing changes on the app side.

Files touched: package.json (git pin), pnpm-lock.yaml, ios/Podfile.lock (MobileCrypto 0.3.0).

Issue(s)

https://rocketchat.atlassian.net/browse/NATIVE-1235
Depends on RocketChat/rocket.chat-mobile-crypto#14

How to test or reproduce

  1. pnpm install && pnpm pod-install
  2. Build and run on iOS and Android.
  3. Open an end-to-end encrypted room and confirm encrypted messages send and receive correctly across sessions.
  4. Confirm decryption of E2E keys already stored on the device from before the upgrade (exercises the Android PKCS#1 verify fix).

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

The pin targets a library commit that is not yet on the library's default branch; that change needs to land (and ideally be published) before this PR merges. The rebuild was validated against RN 0.83; this app is on RN 0.81, where the library is expected to work (it reads SDK/Kotlin versions from the host app and its react-native peer range is unconstrained), but it should be confirmed on device before merge.

Summary by CodeRabbit

Summary by CodeRabbit

  • Chores
    • Updated the mobile cryptography dependency to a pinned reference for more consistent builds and improved stability.

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 06ad2c3b-915a-4e79-90da-9a6beb0915b6

📥 Commits

Reviewing files that changed from the base of the PR and between fd264a4 and dd5ccd3.

⛔ Files ignored due to path filters (2)
  • ios/Podfile.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • package.json

Walkthrough

In package.json, the @rocket.chat/mobile-crypto dependency is changed from an unpinned GitHub repository reference (RocketChat/rocket.chat-mobile-crypto) to one pinned to the main branch (RocketChat/rocket.chat-mobile-crypto#main).

Changes

Dependency Pin

Layer / File(s) Summary
Pin mobile-crypto to main branch
package.json
@rocket.chat/mobile-crypto is updated from an unpinned repository reference to the main branch Git ref.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The PR title 'chore: adopt @rocket.chat/mobile-crypto 0.3.0' accurately describes the main change of updating the dependency to version 0.3.0, matching the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

Warning

Review ran into problems

🔥 Problems

Errors were encountered while retrieving linked issues.

Errors (1)
  • NATIVE-1235: Request failed with status code 401

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.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

iOS Build Available

Rocket.Chat 4.74.0.109103

Comment thread pnpm-lock.yaml Outdated

@OtavioStasiak OtavioStasiak left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@diegolmello
diegolmello had a problem deploying to approve_e2e_testing June 18, 2026 20:50 — with GitHub Actions Failure
@diegolmello
diegolmello merged commit e208c91 into develop Jun 18, 2026
5 of 8 checks passed
@diegolmello
diegolmello deleted the sharp-marsupial branch June 18, 2026 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants