chore(ios): default to RocketChat scheme by renaming workspace and project#7433
chore(ios): default to RocketChat scheme by renaming workspace and project#7433diegolmello wants to merge 2 commits into
Conversation
…oject The experimental multi-scheme setup was removed and RocketChatRN is no longer a valid scheme, but `react-native run-ios` still inferred it as the default and failed. The CLI picks the alphabetically-greatest .xcworkspace/.xcodeproj and infers the scheme from its basename, so a workspace-only rename cannot win against RocketChatRN.xcodeproj (RocketChat is a prefix of RocketChatRN). Renaming both the workspace and the Xcode project to RocketChat makes RocketChat the flag-free default for every RN CLI invocation, with no --scheme flag in the pnpm script. The dead build_fork Fastlane lane is removed. Claude-Session: https://claude.ai/code/session_01QU3tY9QDvsM1H9yeoDAenp
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📜 Recent review details⏰ Context from checks skipped due to timeout. (2)
WalkthroughThe iOS workspace, project, schemes, and Fastlane build configuration now reference RocketChat instead of RocketChatRN. The Fastlane README also removes the build_fork action entry. ChangesiOS workspace and build reference alignment
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ios/Podfile`:
- Around line 7-9: The Podfile comment is stale and now conflicts with the
updated iOS build setup. Update the note near the workspace/scheme configuration
in Podfile so it matches the current project identity, replacing the old
RocketChatRN reference with the correct RocketChat Xcode project context. Keep
the comment aligned with the workspace basename and shared scheme behavior to
avoid misleading future changes to the iOS build configuration.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8ca4a8cd-7055-4e0b-a78c-8888dc58d5bb
⛔ Files ignored due to path filters (1)
ios/Podfile.lockis excluded by!**/*.lock
📒 Files selected for processing (10)
ios/Podfileios/RocketChat.xcodeproj/project.pbxprojios/RocketChat.xcodeproj/xcshareddata/xcschemes/NotificationService.xcschemeios/RocketChat.xcodeproj/xcshareddata/xcschemes/RocketChat.xcschemeios/RocketChat.xcodeproj/xcshareddata/xcschemes/ShareRocketChatRN.xcschemeios/RocketChat.xcworkspace/contents.xcworkspacedataios/RocketChat.xcworkspace/xcshareddata/IDEWorkspaceChecks.plistios/RocketChat.xcworkspace/xcshareddata/WorkspaceSettings.xcsettingsios/fastlane/Fastfileios/fastlane/README.md
💤 Files with no reviewable changes (1)
- ios/fastlane/README.md
📜 Review details
⏰ Context from checks skipped due to timeout. (1)
- GitHub Check: format
🔇 Additional comments (7)
ios/Podfile (1)
10-10: LGTM!ios/RocketChat.xcworkspace/contents.xcworkspacedata (1)
5-5: LGTM!ios/RocketChat.xcodeproj/project.pbxproj (1)
1169-1169: LGTM!Also applies to: 2473-2480
ios/RocketChat.xcodeproj/xcshareddata/xcschemes/RocketChat.xcscheme (1)
20-20: LGTM!Also applies to: 50-50, 67-67
ios/RocketChat.xcodeproj/xcshareddata/xcschemes/NotificationService.xcscheme (1)
21-21: LGTM!Also applies to: 66-66
ios/RocketChat.xcodeproj/xcshareddata/xcschemes/ShareRocketChatRN.xcscheme (1)
21-21: LGTM!Also applies to: 37-37, 75-75
ios/fastlane/Fastfile (1)
111-115: LGTM!Also applies to: 119-121
The comment still claimed the Xcode project was RocketChatRN, which this branch renamed to RocketChat. Rewrite it to state why the workspace name is pinned. Claude-Session: https://claude.ai/code/session_01QU3tY9QDvsM1H9yeoDAenp
|
Hi holistic-picture, This is an extremely clean and highly practical PR! Renaming the I also wanted to highlight a couple of great decisions here:
Everything looks correct and well-tested. This is a very welcome improvement! 🚀 |
|
iOS Build Available Rocket.Chat 4.74.0.109209 |
Proposed changes
The experimental multi-scheme setup was removed from the iOS project, leaving
RocketChatRNas a scheme that no longer exists. Despite that,react-native run-ios(and thepnpm iosscript that wraps it) still inferredRocketChatRNas the default scheme and failed with:The React Native CLI does not read the workspace name directly. It selects the alphabetically-greatest
.xcworkspace/.xcodeprojinios/, then infers the scheme from that file's basename. BecauseRocketChatis a prefix ofRocketChatRN, noRocketChat.xcworkspacecan ever sort ahead ofRocketChatRN.xcodeproj— so renaming the workspace alone is not enough: the CLI would select the bare project (bypassing CocoaPods) and still infer the deadRocketChatRNscheme.Renaming both the workspace and the Xcode project to
RocketChatmakesRocketChatthe intrinsic, flag-free default for every RN CLI invocation. No--schemeflag is added to thepnpmscript.Changes:
RocketChatRN.xcworkspace→RocketChat.xcworkspaceRocketChatRN.xcodeproj→RocketChat.xcodeprojReferencedContainers tocontainer:RocketChat.xcodeprojworkspace 'RocketChat'in the Podfilebuildandbuild_simulatorFastlane lanes atRocketChat.xcworkspacebuild_forkFastlane lane (no longer referenced anywhere)The iOS source folder (
ios/RocketChatRN/) and the target/product names (Rocket.Chat,Rocket.Chat.app) are unchanged.Issue(s)
https://rocketchat.atlassian.net/browse/NATIVE-1341
How to test or reproduce
pnpm pod-installpnpm ios --simulator "iPhone 16 Pro"The app builds and launches with no
--schemeflag. The CLI logsFound Xcode workspace "RocketChat.xcworkspace"and builds with-workspace RocketChat.xcworkspace -scheme RocketChat.Screenshots
Types of changes
Checklist
Further comments
This change only touches Xcode project/workspace configuration, so there are no JS/TS units to add or run — the iOS build itself is the verification, and the PR build lanes cover it on CI.
On a machine with a paired physical iOS device, bare
pnpm ioswill, after successfully building and launching on the simulator, additionally attempt a device build that fails codesigning (xcodebuildexit70). That is pre-existing device-targeting behavior of the RN CLI, unrelated to this rename; pass--simulator "<name>"to target the simulator only.https://claude.ai/code/session_01QU3tY9QDvsM1H9yeoDAenp
Summary by CodeRabbit