feat: basic setup react-native-true-sheet#6970
feat: basic setup react-native-true-sheet#6970OtavioStasiak wants to merge 13 commits intodevelopfrom
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughReplaces BottomSheet with react-native-true-sheet, adds detents-based height calculation and responsive layout, introduces useActionSheetDetents and detent utilities, swaps BottomSheet-specific components for RN primitives, updates mocks and dependency, and exposes imperative show/hide methods on the ActionSheet. Changes
Sequence DiagramsequenceDiagram
participant User
participant ActionSheet
participant Layout as useResponsiveLayout
participant DetentCalc as useActionSheetDetents
participant TrueSheet
User->>ActionSheet: showActionSheet(options)
ActionSheet->>ActionSheet: set data, set isVisible
ActionSheet->>Layout: request windowHeight & fontScale
Layout-->>ActionSheet: windowHeight, fontScale
ActionSheet->>DetentCalc: compute detents(data, windowHeight, contentHeight, itemHeight, insets)
DetentCalc-->>ActionSheet: detents[]
ActionSheet->>TrueSheet: present(detents)
TrueSheet-->>User: sheet shown
User->>TrueSheet: dismiss
TrueSheet->>ActionSheet: onDidDismiss
ActionSheet->>ActionSheet: reset state, call data.onClose?
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ 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. Comment |
7c04e79 to
b65245a
Compare
b65245a to
7d74120
Compare
2b5b64a to
72a2197
Compare
2233b87 to
f413d19
Compare
97914ff to
76cc834
Compare
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
package.json (1)
156-156:⚠️ Potential issue | 🟠 MajorRemove unused
@gorhom/bottom-sheetdevDependency
@gorhom/bottom-sheetis not referenced anywhere in the codebase and should be removed. It does not appear in any imports, Storybook configuration, or build configs.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
ios/Podfile.lockis excluded by!**/*.lockyarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (1)
package.json
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: OtavioStasiak
Repo: RocketChat/Rocket.Chat.ReactNative PR: 6499
File: app/containers/ServerItem/index.tsx:34-36
Timestamp: 2025-12-17T15:56:22.578Z
Learning: In the Rocket.Chat React Native codebase, for radio button components on iOS, include the selection state ("Selected"/"Unselected") in the accessibilityLabel instead of using accessibilityState={{ checked: hasCheck }}, because iOS VoiceOver has known issues with accessibilityRole="radio" + accessibilityState that prevent correct state announcement.
📚 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
⏰ 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). (2)
- GitHub Check: ESLint and Test / run-eslint-and-test
- GitHub Check: format
🔇 Additional comments (1)
package.json (1)
28-28:⚠️ Potential issue | 🟠 MajorUpdate
@lodev09/react-native-true-sheetto the latest stable version.The package is pinned to
~3.6.0, but the latest stable release is3.8.2(as of February 2026). The current tilde range only allows patch updates within3.6.xand will not fetch available patches in3.8.x. Update to~3.8.2to receive critical bug fixes and improvements, or verify that3.6.0is intentionally locked for specific compatibility reasons.⛔ Skipped due to 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.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
|
Android Build Available Rocket.Chat Experimental 4.70.0.108256 Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNS6EVU8WlITCrgd-JZw8OEcDneZFCxSBf4om0dwgpev-N5GL0ofAx-D6ooAIpp4FHhayAZwGBvWgHRXRk2t |
|
iOS Build Available Rocket.Chat Experimental 4.70.0.108260 |
|
Android Build Available Rocket.Chat Experimental 4.70.0.108259 Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNRKIdtpSqJ-N60cInXpnkEDVN6EdYgvLW8Z8Q2eNoKsov1J8C-FTMpApDdt_1FAC1iPJ9HfwOAAco3tXWkf |
|
Android Build Available Rocket.Chat Experimental 4.70.0.108276 Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNRvIeSDPOEqoXCEFIbzFkL6RxGLiBasgVbg4ECmCVUn2OqCzawmGCvJUBz-6FhrXELWDwSghi_iJzt4yOok |
|
iOS Build Available Rocket.Chat Experimental 4.70.0.108277 |
|
Android Build Available Rocket.Chat Experimental 4.70.0.108282 Internal App Sharing: https://play.google.com/apps/test/RQVpXLytHNc/ahAO29uNTpnE9MOqHVUQGv9CB1w4_iZxgSHEYOhinswbLQCwqnmgPHuw2JoKPKVJDQxRPgud0mDCY0dkT1d7Fr7nsN |
Proposed changes
Use react-native-true-sheet instead of the Discord bottom sheet, because react-native-true-sheet works as expected in accessibility (a11y) terms.
Issue(s)
https://rocketchat.atlassian.net/browse/CORE-1809
How to test or reproduce
Screenshots
Types of changes
Checklist
Further comments
Summary by CodeRabbit
New Features
Improvements
Localization