Conversation
There was a problem hiding this comment.
Hello @mdlucas, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
Hello team, gemini-code-assist here to provide a summary of this pull request by @mdlucas.
The primary goal of this PR, as indicated by the title and description, is to disable Flipper specifically for iOS builds. The author states that Flipper was preventing the Storybook build process on iOS. This change is categorized as a 'Chore', focusing on resolving a build issue rather than adding new features or fixing application bugs.
The changes involve modifying the iOS Podfile to explicitly disable Flipper, updating the Podfile.lock to reflect the removal of Flipper and its associated dependencies, and making minor adjustments to the .gitignore file and adding a local Xcode environment file.
Highlights
- Disable Flipper on iOS: The main change is disabling the Flipper debugging tool specifically for iOS builds within the
Podfile. This is done by setting:flipper_configurationtoFlipperConfiguration.disableddirectly, removing the conditional logic based on theNO_FLIPPERenvironment variable. - Update Pod Dependencies: The
Podfile.lockfile has been updated. This reflects the removal of Flipper and its extensive list of dependencies (like FlipperKit, Flipper-Folly, CocoaAsyncSocket, OpenSSL-Universal, etc.). It also includes minor version bumps forreact-native-image-picker(7.1.0 -> 7.1.2) andRNSVG(15.0.0 -> 15.1.0), and addsRNDeviceInfo(10.6.0) as a dependency. - Git Ignore and Environment File Updates: The
.gitignorefile is updated to use relative paths (android/app/,android/,ios/Pods/) instead of paths prefixed with/DevelopmentApp/. A new file,ios/.xcode.env.local, is added, which appears to set a local Node binary path for Xcode.
Changelog
Click here to see the changelog
- .gitignore
- Updated ignored paths for Android and iOS directories, removing the
/DevelopmentAppprefix. - Changed the ignored path for iOS Pods from
DevelopmentApp/ios/Pods/toios/Pods/.
- Updated ignored paths for Android and iOS directories, removing the
- ios/.xcode.env.local
- Added a new file to specify the local Node binary path for Xcode (
export NODE_BINARY=/Users/lucas/.nvm/versions/node/v22.13.0/bin/node).
- Added a new file to specify the local Node binary path for Xcode (
- ios/Podfile
- Removed the conditional logic for Flipper configuration based on the
NO_FLIPPERenvironment variable. - Hardcoded
:flipper_configurationtoFlipperConfiguration.disabledfor the main target.
- Removed the conditional logic for Flipper configuration based on the
- ios/Podfile.lock
- Removed Flipper and all its related dependencies (FlipperKit, Flipper-Folly, CocoaAsyncSocket, OpenSSL-Universal, etc.) from the list of PODS and DEPENDENCIES.
- Updated the version of
react-native-image-pickerfrom 7.1.0 to 7.1.2. - Added
RNDeviceInfoversion 10.6.0 to the list of PODS and DEPENDENCIES. - Updated the version of
RNSVGfrom 15.0.0 to 15.1.0. - Updated various SPEC CHECKSUMS for remaining and updated pods.
- Updated the PODFILE CHECKSUM.
- Updated the COCOAPODS version from 1.14.3 to 1.16.2.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Builds fail, a sad sight,
Flipper caused the iOS plight,
Disabled now, it's true,
Storybook builds anew,
Code compiles, shining bright.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
This pull request aims to disable Flipper for iOS to resolve a Storybook build issue, which is a sensible chore. The changes in ios/Podfile correctly disable Flipper.
However, there are a few critical and medium-severity points to address:
- A user-specific local environment file (
ios/.xcode.env.local) has been committed, which needs to be removed. - The
Podfile.lockshows several changes beyond Flipper removal, including the addition ofRNDeviceInfo, updates to other dependencies, and a significant update to the CocoaPods tool version (1.14.3 to 1.16.2). These changes should be clarified to ensure they are intentional and tested.
The .gitignore updates appear to be straightforward path corrections.
Summary of Findings
- Accidental commit of local environment file: The file
ios/.xcode.env.localcontaining user-specific absolute paths was committed. This file should be removed from the repository and added to.gitignore. - Unintended or Unclarified Dependency Changes: The
Podfile.lockincludes the addition ofRNDeviceInfo, version bumps for several other libraries, and an update to the CocoaPods tool version (1.14.3 to 1.16.2). The intent and testing scope for these changes should be clarified, as they might be side effects ofpod installrather than direct requirements for disabling Flipper.
Merge Readiness
This pull request addresses the Storybook build issue by disabling Flipper, which is good. However, due to the critical issue of a committed user-specific local environment file (ios/.xcode.env.local), and the need for clarification on other dependency changes in Podfile.lock, I recommend that these points be addressed before merging. As a reviewer, I am not authorized to approve pull requests, but these changes are necessary for maintaining repository health and stability. Please ensure the highlighted issues are resolved, and then further review and approval can proceed.
| export NODE_BINARY=/Users/lucas/.nvm/versions/node/v22.13.0/bin/node | ||
|
|
There was a problem hiding this comment.
It appears this local environment file, ios/.xcode.env.local, has been accidentally committed. This file contains a user-specific absolute path (/Users/lucas/...) for NODE_BINARY.
Such user-specific configuration files should not be part of the repository because:
- They won't work for other developers or CI environments.
- They can expose local system details.
Could you please remove this file from the pull request and add ios/.xcode.env.local to the main .gitignore file to prevent it from being committed in the future? The existing ios/.xcode.env file provides a template/default mechanism for setting NODE_BINARY.
| - RNDeviceInfo (10.6.0): | ||
| - React-Core | ||
| - RNFastImage (8.6.3): | ||
| - React-Core | ||
| - SDWebImage (~> 5.11.1) | ||
| - SDWebImageWebPCoder (~> 0.8.4) | ||
| - RNReactNativeHapticFeedback (2.0.3): | ||
| - React-Core | ||
| - RNSVG (15.0.0): | ||
| - RNSVG (15.1.0): |
There was a problem hiding this comment.
This diff hunk shows the addition of RNDeviceInfo (10.6.0) and an update to RNSVG (15.0.0 to 15.1.0), alongside other changes in Podfile.lock.
- RNDeviceInfo:
package.jsonlistsreact-native-device-info: "14.0.0"indevDependencies. Was the intention to link this existing dev dependency natively? If so, is the version mismatch (JS 14.0.0 vs. native 10.6.0) expected for this library? - Other Updates: Several other dependencies have had version bumps or checksum changes (e.g.,
react-native-image-pickerto 7.1.2,lottie-react-native, etc.).
Could you clarify if these dependency additions/updates are intentional and specifically tested as part of this PR's scope (fixing Storybook by disabling Flipper)? It's often recommended to handle significant dependency changes in separate PRs to isolate potential issues.
There was a problem hiding this comment.
cara.. o bicho é perspicaz ein. também faz sentido. mas pode seguir
| PODFILE CHECKSUM: 2543e9e07766de0309bdba2b51430dc4c34506ee | ||
|
|
||
| COCOAPODS: 1.14.3 | ||
| COCOAPODS: 1.16.2 |
There was a problem hiding this comment.
The COCOAPODS version used to generate this Podfile.lock has been updated from 1.14.3 to 1.16.2. This is a notable change in the tooling.
Was this CocoaPods version upgrade intentional? While updates are generally good, they can sometimes introduce subtle changes in dependency resolution or build behavior. It would be good to confirm this was a planned part of this work and that its implications have been considered and tested.
ammichael
left a comment
There was a problem hiding this comment.
Só remove o .xcode.env.local e bora
| export NODE_BINARY=/Users/lucas/.nvm/versions/node/v22.13.0/bin/node | ||
|
|
| - RNDeviceInfo (10.6.0): | ||
| - React-Core | ||
| - RNFastImage (8.6.3): | ||
| - React-Core | ||
| - SDWebImage (~> 5.11.1) | ||
| - SDWebImageWebPCoder (~> 0.8.4) | ||
| - RNReactNativeHapticFeedback (2.0.3): | ||
| - React-Core | ||
| - RNSVG (15.0.0): | ||
| - RNSVG (15.1.0): |
There was a problem hiding this comment.
cara.. o bicho é perspicaz ein. também faz sentido. mas pode seguir
O que foi feito? 📝
Desabilitado o fliper no IOS, pois estava impedindo o build do storybook
Screenshots ou GIFs 📸
Tipo de mudança 🏗
Checklist 🧐