Skip to content

chore: switch @rocket.chat/media-signaling to npm 1.0.0-rc.1#7264

Merged
diegolmello merged 1 commit into
feat.voip-lib-newfrom
cadence/2026-04-28-apply-media-signaling/01-swap-tarball-for-npm
Apr 28, 2026
Merged

chore: switch @rocket.chat/media-signaling to npm 1.0.0-rc.1#7264
diegolmello merged 1 commit into
feat.voip-lib-newfrom
cadence/2026-04-28-apply-media-signaling/01-swap-tarball-for-npm

Conversation

@diegolmello

@diegolmello diegolmello commented Apr 28, 2026

Copy link
Copy Markdown
Member

Proposed changes

Switches the @rocket.chat/media-signaling dependency from a vendored tarball
to the npm registry. The package is now published as
@rocket.chat/media-signaling@1.0.0-rc.1.

Concretely:

  • package.json: "file:./packages/rocket.chat-media-signaling-0.2.0.tgz" -> "1.0.0-rc.1"
  • packages/rocket.chat-media-signaling-0.2.0.tgz deleted (and the now-empty packages/ directory along with it).
  • yarn.lock regenerated; @rocket.chat/media-signaling now resolves from https://registry.yarnpkg.com/... instead of file:./packages/....

The compiled dist/ of 0.2.0 and 1.0.0-rc.1 is byte-identical — only package metadata changed (version bump, MIT license, repo URL, removed private: true). No source changes under app/ are needed; existing imports in app/lib/services/voip/MediaSessionInstance.ts, MediaSessionStore.ts, useCallStore.ts, MediaCallLogger.ts, and app/lib/services/restApi.ts continue to work unchanged.

This follows the established dependency-bump pattern from PR #7153 (the prior 0.2.0 bump in this area), but flips the source from local tarball to the published registry version.

Part of plan 2026-04-28-apply-media-signaling. This is the only slice in that plan.

Issue(s)

https://rocketchat.atlassian.net/browse/VMUX-105

How to test or reproduce

  1. yarn (yarn 1.22.22; npm will not work).
  2. Verify the registered package: cat node_modules/@rocket.chat/media-signaling/package.json shows "version": "1.0.0-rc.1" with "license": "MIT" and the GitHub repo URL.
  3. Verify the lock entry:
    grep -A2 '@rocket.chat/media-signaling' yarn.lock
    
    should show resolved "https://registry.yarnpkg.com/@rocket.chat/media-signaling/-/media-signaling-1.0.0-rc.1.tgz#...".
  4. yarn lint passes (0 errors; pre-existing warnings unrelated to this change).
  5. TZ=UTC yarn test passes (148 suites, 1265 tests, 357 snapshots).
  6. VoIP-related test suites in particular still pass: app/lib/services/voip/MediaCallLogger.test.ts, app/lib/services/voip/parseStringToIceServers.test.ts, app/lib/services/voip/isInActiveVoipCall.test.ts.

Screenshots

N/A — packaging change, no UI surface.

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) — N/A, no behavioural change.
  • I have added necessary documentation (if applicable) — N/A.
  • Any dependent changes have been merged and published in downstream modules — @rocket.chat/media-signaling@1.0.0-rc.1 is published on npm.

Further comments

Why 1.0.0-rc.1 and not a stable 1.0.0? 1.0.0-rc.1 is the only version of @rocket.chat/media-signaling published on the registry as of 2026-04-28. We can move to a stable 1.0.0 in a separate slice once it ships.

This PR is intentionally targeted at feat.voip-lib-new (not develop) because the VoIP feature work the dependency belongs to lives on that branch. PR #7153 (the prior 0.2.0 tarball bump) was merged into feat.voip-lib-new for the same reason.

Summary by CodeRabbit

  • Chores
    • Updated media signaling dependency to a newer release version.

Drop the vendored tarball (packages/rocket.chat-media-signaling-0.2.0.tgz)
and resolve the dependency from the npm registry instead. dist/ is
byte-identical between 0.2.0 and 1.0.0-rc.1; this is purely a
dependency-source swap.
@coderabbitai

coderabbitai Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 87047536-b053-4004-9c62-d69c622a5402

📥 Commits

Reviewing files that changed from the base of the PR and between 139dc8d and 16411aa.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (2)
  • package.json
  • packages/rocket.chat-media-signaling-0.2.0.tgz
📜 Recent review details
⏰ 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 context used
🧠 Learnings (8)
📓 Common learnings
Learnt from: CR
Repo: RocketChat/Rocket.Chat.ReactNative PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-22T22:57:58.545Z
Learning: Applies to app/lib/services/voip/**/*.{ts,tsx} : Implement VoIP features in app/lib/services/voip/ directory using Zustand stores for WebRTC peer-to-peer audio calls with native CallKit (iOS) and Telecom (Android) integration
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
📚 Learning: 2026-03-31T11:59:31.061Z
Learnt from: Rohit3523
Repo: RocketChat/Rocket.Chat.ReactNative PR: 6875
File: android/build.gradle:3-8
Timestamp: 2026-03-31T11:59:31.061Z
Learning: In the RocketChat/Rocket.Chat.ReactNative repository, the React Native upgrade helper (https://react-native-community.github.io/upgrade-helper/?from=0.79.4&to=0.81.5) recommends kotlinVersion = "2.1.20", compileSdkVersion = 36, targetSdkVersion = 36, and buildToolsVersion = "36.0.0" in android/build.gradle for the RN 0.79.4 → 0.81.5 upgrade. These are the sanctioned values for this upgrade path and should not be flagged as compatibility concerns.

Applied to files:

  • package.json
📚 Learning: 2026-03-31T11:58:54.608Z
Learnt from: Rohit3523
Repo: RocketChat/Rocket.Chat.ReactNative PR: 6875
File: android/gradle/wrapper/gradle-wrapper.properties:3-3
Timestamp: 2026-03-31T11:58:54.608Z
Learning: In the RocketChat/Rocket.Chat.ReactNative repository, the React Native upgrade helper (https://react-native-community.github.io/upgrade-helper/) recommends gradle-8.14.3-bin for the React Native 0.79.4 → 0.81.5 upgrade. This is the sanctioned Gradle version for RN 0.81.5 even though it is above Kotlin 2.1.20's "fully supported" Gradle range (≤8.11); Kotlin 2.1.20 docs explicitly allow using newer Gradle versions with a caveat that deprecation warnings may appear.

Applied to files:

  • package.json
📚 Learning: 2026-03-30T15:49:30.957Z
Learnt from: Rohit3523
Repo: RocketChat/Rocket.Chat.ReactNative PR: 6875
File: app/containers/RoomItem/Actions.tsx:12-12
Timestamp: 2026-03-30T15:49:30.957Z
Learning: In RocketChat/Rocket.Chat.ReactNative, `react-native-worklets` version 0.6.1 does NOT export a built-in Jest mock (e.g., no `react-native-worklets/lib/module/mock`). The correct Jest mock approach for this version is to add a manual mock in `jest.setup.js`: `jest.mock('react-native-worklets', () => ({ scheduleOnRN: jest.fn((fn, ...args) => fn(...args)) }))`.

Applied to files:

  • package.json
📚 Learning: 2026-04-22T22:57:58.545Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat.ReactNative PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-22T22:57:58.545Z
Learning: Applies to app/lib/encryption/**/*.{ts,tsx} : Implement E2E encryption in app/lib/encryption/ directory using rocket.chat/mobile-crypto

Applied to files:

  • package.json
📚 Learning: 2026-04-22T22:57:58.545Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat.ReactNative PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-22T22:57:58.545Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use ESLint with rocket.chat/eslint-config base including React, React Native, TypeScript, and Jest plugins

Applied to files:

  • package.json
📚 Learning: 2026-04-22T22:57:58.545Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat.ReactNative PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-22T22:57:58.545Z
Learning: Use React 19 with React Native 0.79 and Expo 53

Applied to files:

  • package.json
🔇 Additional comments (1)
package.json (1)

50-50: No blocker risk identified. Verification confirms the migration from the local tarball to the registry version 1.0.0-rc.1 is complete and clean:

  • No stale references to rocket.chat-media-signaling-0.2.0 remain anywhere in the codebase
  • yarn.lock properly contains registry resolution for @rocket.chat/media-signaling@1.0.0-rc.1
  • No leftover file: protocol references in config files
  • Dependency entry in package.json is correct

The change is safe and ready to proceed.


Walkthrough

The @rocket.chat/media-signaling dependency in package.json is updated from a local packaged artifact (version 0.2.0) to a remote semver prerelease version (1.0.0-rc.1).

Changes

Cohort / File(s) Summary
Dependency Update
package.json
Updated @rocket.chat/media-signaling from local packaged artifact ./packages/rocket.chat-media-signaling-0.2.0.tgz to remote prerelease version 1.0.0-rc.1 in dependencies.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Suggested labels

type: chore

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: switching the @rocket.chat/media-signaling dependency from a local tarball to npm version 1.0.0-rc.1.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the 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.

@diegolmello diegolmello left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Review — #7264 — 2026-04-28T14:38:00Z

Findings: 2 (critical: 0, major: 0, minor: 1, nit: 1, spec-mismatch: 0)
Verdict: APPROVE
Skipped (duplicate of existing thread): 0

Posted by Claude (cadence-babysit) for plan 2026-04-28-apply-media-signaling, slice 01-swap-tarball-for-npm. Reviewed against headRefOid 16411aa68c41eb94fde7d1314655df2504f5972b and the slice spec at slices/01-swap-tarball-for-npm.md.

The diff matches every acceptance criterion verbatim. No app/ source edits (correctly out of scope — dist/ is byte-identical between 0.2.0 and 1.0.0-rc.1). The yarn.lock rewrite is the expected mechanical regen and carries the new integrity hash. Minor observations follow.


minor: Pinned to a release-candidate version

Path: package.json:48
Category: design
Suggested fix: Track a follow-up to bump to a stable 1.0.0 once published; the PR description already calls this out and a separate slice is the right place.

The dependency now reads "@rocket.chat/media-signaling": "1.0.0-rc.1" — pinned exactly (no ^ / ~), which is the right call for an rc because semver-range bumps to a later -rc aren't safe under yarn's prerelease semantics. As of 2026-04-28 that's the only published version on the registry, so there's no alternative. Worth filing the stable-bump as its own slice so the registry-tracking story has a clear next step.


nit: Empty packages/ directory

Path: packages/rocket.chat-media-signaling-0.2.0.tgz
Category: style
Suggested fix: If packages/ is now empty (only contained the deleted tarball), remove the directory along with the file so the working tree doesn't carry a stray empty folder. Git won't track the empty dir on its own, but local checkouts on case-sensitive filesystems can keep it around.

The slice spec explicitly calls this out (If packages/ becomes empty after this delete, remove the directory too). From the diff alone we can't tell whether packages/ had any other files; if the executor verified it was the only content, this is satisfied implicitly. Calling it out so the reviewer can confirm during merge.


@diegolmello diegolmello had a problem deploying to experimental_android_build April 28, 2026 14:38 — with GitHub Actions Failure
@diegolmello diegolmello had a problem deploying to official_android_build April 28, 2026 14:38 — with GitHub Actions Failure
@diegolmello diegolmello had a problem deploying to experimental_ios_build April 28, 2026 14:38 — with GitHub Actions Failure
@diegolmello diegolmello merged commit 9dd9b34 into feat.voip-lib-new Apr 28, 2026
5 of 10 checks passed
@diegolmello diegolmello deleted the cadence/2026-04-28-apply-media-signaling/01-swap-tarball-for-npm branch April 28, 2026 14:41
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.

1 participant