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:
📝 WalkthroughWalkthroughAdds a Lexe Lightning backend with invoice, offer, payment, lookup, transaction, and event APIs. Exposes it through UniFFI and a React Native package with Android/iOS bindings, an example app, native artifact tooling, CI packaging, and publishing configuration. ChangesLexe integration
Estimated code review effort: 5 (Critical) | ~120 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 83f81bd130
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 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 `@crates/lni/lexe/api.rs`:
- Around line 256-276: Bound the caller-controlled limit in matching_payments
and the surrounding API parameter validation to the public API’s maximum page
size, rejecting params.limit values above that maximum. Avoid
Vec::with_capacity(limit) based on the untrusted request; use a bounded capacity
or no preallocation while preserving pagination and result limits.
- Around line 402-408: Update the timeout handling in the payment flow around
wallet.pay_invoice to reconcile the remote payment state using the invoice
payment hash before returning. If reconciliation cannot determine whether
payment completed, return an explicit indeterminate result that requires lookup
before retrying instead of the generic NetworkError; preserve the existing
successful payment path.
- Around line 519-543: Update on_invoice_events to reject requests where both
params.payment_hash and params.search are empty, using the same selector
validation behavior as lookup_invoice before entering the polling loop. Preserve
the existing callback.failure(None) response and avoid calling matching_payments
without at least one event selector.
- Around line 99-104: Update the routing-options validation condition to reject
only enabled unsupported options, allowing optional boolean fields set to
Some(false) while continuing to reject Some(true). Preserve the existing
handling for max_parts and hop public keys, and adjust the is_amp and
allow_self_payment checks in the surrounding validation logic.
In `@crates/lni/lexe/lib.rs`:
- Around line 306-307: Remove the payment preimage output from the affected
diagnostic paths, including the println! and corresponding dbg! calls around
payment handling. Ensure the locations also covered at the referenced lines do
not log payment.preimage, while retaining only non-sensitive payment identifiers
if diagnostics are still required.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 0aa055ad-db06-4084-a514-2233e5cb96f8
📒 Files selected for processing (6)
crates/lni/Cargo.tomlcrates/lni/lexe/api.rscrates/lni/lexe/lib.rscrates/lni/lib.rscrates/lni/types.rsreadme.md
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
bindings/react-native-lexe/scripts/fix-ubrn-cmake.mjs (1)
15-19: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winResolve
UNIFFI_BINDGEN_PATHfrompackage.json
path.resolve(require.resolve('uniffi-bindgen-react-native'), '../../../..')depends on the entry file’s directory depth, so a differentmain/exportslayout can pointUNIFFI_BINDGEN_PATHat the wrong ancestor. Userequire.resolve('uniffi-bindgen-react-native/package.json')and take its directory instead.🤖 Prompt for 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. In `@bindings/react-native-lexe/scripts/fix-ubrn-cmake.mjs` around lines 15 - 19, Update the exportedResolver command to resolve uniffi-bindgen-react-native/package.json and derive UNIFFI_BINDGEN_PATH from that package file’s directory, replacing the current ancestor traversal from the package entry path. Preserve the existing CMake output variable and whitespace behavior.
🤖 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 @.gitignore:
- Around line 133-136: Remove the broad `!bindings/react-native-lexe/android/**`
and `!bindings/react-native-lexe/example/android/**` rules, keeping only
directory-level un-ignore entries so nested generated artifacts remain ignored;
add narrowly scoped un-ignore patterns only for specific required file types if
needed.
- Line 137: Update the debug.keystore entry in .gitignore to use the negation
prefix, ensuring bindings/react-native-lexe/example/android/app/debug.keystore
is tracked instead of ignored.
---
Nitpick comments:
In `@bindings/react-native-lexe/scripts/fix-ubrn-cmake.mjs`:
- Around line 15-19: Update the exportedResolver command to resolve
uniffi-bindgen-react-native/package.json and derive UNIFFI_BINDGEN_PATH from
that package file’s directory, replacing the current ancestor traversal from the
package entry path. Preserve the existing CMake output variable and whitespace
behavior.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 37608bbe-b3ac-4d22-957d-9bea509a8f75
⛔ Files ignored due to path filters (23)
bindings/react-native-lexe/.yarn/releases/yarn-4.11.0.cjsis excluded by!**/.yarn/**bindings/react-native-lexe/android/src/main/jniLibs/arm64-v8a/libreact_native_lexe.sois excluded by!**/*.sobindings/react-native-lexe/android/src/main/jniLibs/armeabi-v7a/libreact_native_lexe.sois excluded by!**/*.sobindings/react-native-lexe/android/src/main/jniLibs/x86/libreact_native_lexe.sois excluded by!**/*.sobindings/react-native-lexe/android/src/main/jniLibs/x86_64/libreact_native_lexe.sois excluded by!**/*.sobindings/react-native-lexe/cpp/generated/react_native_lexe.cppis excluded by!**/generated/**bindings/react-native-lexe/cpp/generated/react_native_lexe.hppis excluded by!**/generated/**bindings/react-native-lexe/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.pngis excluded by!**/*.pngbindings/react-native-lexe/example/android/gradle/wrapper/gradle-wrapper.jaris excluded by!**/*.jarbindings/react-native-lexe/example/ios/Podfile.lockis excluded by!**/*.lockbindings/react-native-lexe/example/ios/ReactNativeLexeExample.xcworkspace/contents.xcworkspacedatais excluded by!**/*.xcworkspace/contents.xcworkspacedatabindings/react-native-lexe/src/generated/react_native_lexe-ffi.tsis excluded by!**/generated/**bindings/react-native-lexe/src/generated/react_native_lexe.tsis excluded by!**/generated/**bindings/react-native-lexe/yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (79)
.githooks/post-checkout.githooks/post-commit.githooks/post-merge.githooks/pre-push.gitignoreCargo.tomlbindings/react-native-lexe/.editorconfigbindings/react-native-lexe/.gitattributesbindings/react-native-lexe/.gitignorebindings/react-native-lexe/.nvmrcbindings/react-native-lexe/.watchmanconfigbindings/react-native-lexe/.yarnrc.ymlbindings/react-native-lexe/CODE_OF_CONDUCT.mdbindings/react-native-lexe/CONTRIBUTING.mdbindings/react-native-lexe/LICENSEbindings/react-native-lexe/LniLexe.podspecbindings/react-native-lexe/README.mdbindings/react-native-lexe/ReactNativeLexeFramework.xcframework/Info.plistbindings/react-native-lexe/ReactNativeLexeFramework.xcframework/ios-arm64-simulator/libreact_native_lexe.abindings/react-native-lexe/ReactNativeLexeFramework.xcframework/ios-arm64/libreact_native_lexe.abindings/react-native-lexe/android/CMakeLists.txtbindings/react-native-lexe/android/build.gradlebindings/react-native-lexe/android/cpp-adapter.cppbindings/react-native-lexe/android/src/main/AndroidManifest.xmlbindings/react-native-lexe/android/src/main/java/com/reactnativelnilexe/LniLexeModule.ktbindings/react-native-lexe/android/src/main/java/com/reactnativelnilexe/LniLexePackage.ktbindings/react-native-lexe/babel.config.jsbindings/react-native-lexe/cpp/react-native-lni-lexe.cppbindings/react-native-lexe/cpp/react-native-lni-lexe.hbindings/react-native-lexe/eslint.config.mjsbindings/react-native-lexe/example/.bundle/configbindings/react-native-lexe/example/.watchmanconfigbindings/react-native-lexe/example/Gemfilebindings/react-native-lexe/example/README.mdbindings/react-native-lexe/example/android/app/build.gradlebindings/react-native-lexe/example/android/app/proguard-rules.probindings/react-native-lexe/example/android/app/src/main/AndroidManifest.xmlbindings/react-native-lexe/example/android/app/src/main/java/com/reactnativelnilexe/example/MainActivity.ktbindings/react-native-lexe/example/android/app/src/main/java/com/reactnativelnilexe/example/MainApplication.ktbindings/react-native-lexe/example/android/app/src/main/res/drawable/rn_edit_text_material.xmlbindings/react-native-lexe/example/android/app/src/main/res/values/strings.xmlbindings/react-native-lexe/example/android/app/src/main/res/values/styles.xmlbindings/react-native-lexe/example/android/build.gradlebindings/react-native-lexe/example/android/gradle.propertiesbindings/react-native-lexe/example/android/gradle/wrapper/gradle-wrapper.propertiesbindings/react-native-lexe/example/android/gradlewbindings/react-native-lexe/example/android/gradlew.batbindings/react-native-lexe/example/android/settings.gradlebindings/react-native-lexe/example/app.jsonbindings/react-native-lexe/example/babel.config.jsbindings/react-native-lexe/example/index.jsbindings/react-native-lexe/example/ios/.xcode.envbindings/react-native-lexe/example/ios/Podfilebindings/react-native-lexe/example/ios/ReactNativeLexeExample.xcodeproj/project.pbxprojbindings/react-native-lexe/example/ios/ReactNativeLexeExample.xcodeproj/xcshareddata/xcschemes/ReactNativeLexeExample.xcschemebindings/react-native-lexe/example/ios/ReactNativeLexeExample/AppDelegate.swiftbindings/react-native-lexe/example/ios/ReactNativeLexeExample/Images.xcassets/AppIcon.appiconset/Contents.jsonbindings/react-native-lexe/example/ios/ReactNativeLexeExample/Images.xcassets/Contents.jsonbindings/react-native-lexe/example/ios/ReactNativeLexeExample/Info.plistbindings/react-native-lexe/example/ios/ReactNativeLexeExample/LaunchScreen.storyboardbindings/react-native-lexe/example/ios/ReactNativeLexeExample/PrivacyInfo.xcprivacybindings/react-native-lexe/example/jest.config.jsbindings/react-native-lexe/example/metro.config.jsbindings/react-native-lexe/example/package.jsonbindings/react-native-lexe/example/react-native.config.jsbindings/react-native-lexe/example/src/App.tsxbindings/react-native-lexe/ios/LniLexe.hbindings/react-native-lexe/ios/LniLexe.mmbindings/react-native-lexe/package.jsonbindings/react-native-lexe/react-native.config.jsbindings/react-native-lexe/rust/Cargo.tomlbindings/react-native-lexe/rust/src/lib.rsbindings/react-native-lexe/scripts/fix-ubrn-cmake.mjsbindings/react-native-lexe/src/NativeLniLexe.tsbindings/react-native-lexe/src/index.tsxbindings/react-native-lexe/tsconfig.build.jsonbindings/react-native-lexe/tsconfig.jsonbindings/react-native-lexe/turbo.jsonbindings/react-native-lexe/ubrn.config.yaml
| !bindings/react-native-lexe/android/** | ||
| !bindings/react-native-lexe/example/android/ | ||
| !bindings/react-native-lexe/example/android/** | ||
| bindings/react-native-lexe/example/android/app/debug.keystore |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Missing ! prefix to track the debug keystore.
This line explicitly ignores the debug.keystore. In React Native projects, the debug keystore is typically committed to version control so that anyone cloning the repository can build the Android example app out-of-the-box without missing keystore errors or signing mismatches.
Given the context, it appears the ! prefix was accidentally omitted.
♻️ Proposed fix
-bindings/react-native-lexe/example/android/app/debug.keystore
+!bindings/react-native-lexe/example/android/app/debug.keystore📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| bindings/react-native-lexe/example/android/app/debug.keystore | |
| !bindings/react-native-lexe/example/android/app/debug.keystore |
🤖 Prompt for 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.
In @.gitignore at line 137, Update the debug.keystore entry in .gitignore to use
the negation prefix, ensuring
bindings/react-native-lexe/example/android/app/debug.keystore is tracked instead
of ignored.
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (3)
.github/workflows/build-react-native-lexe.yml (3)
134-143: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick winManual
publishdispatch has no branch/environment gate.
workflow_dispatch.inputs.publishcan trigger thepublishjob from any branch a user can dispatch the workflow on, with no environment protection rule requiring review before the npm-publish secret is used. Consider gating thepublishjob with a protected GitHub Environment (with required reviewers) so a manual publish can't happen from an untested branch.🤖 Prompt for 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. In @.github/workflows/build-react-native-lexe.yml around lines 134 - 143, Gate the publish job’s manual-dispatch path with a protected GitHub Environment that requires reviewers before npm-publish credentials are available. Update the publish job configuration identified by publish so it references the repository’s designated protected environment, while preserving the existing tag-or-input condition and build dependency.
114-123: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueDuplicate native-artifact path lists across CI and the verification script.
The set of iOS/Android artifact paths is maintained independently in two places; adding or removing a platform/ABI requires updating both, risking drift.
.github/workflows/build-react-native-lexe.yml#L114-L123: derive thisfor artifact in ...list from a single shared manifest (or reuseverify-native-artifacts.mjs's list, e.g. by having this step invoke a small script that emits the paths) instead of hardcoding it separately.bindings/react-native-lexe/scripts/verify-native-artifacts.mjs#L10-L39: keep this as the canonical source of the artifact list and have the CI step consume it.🤖 Prompt for 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. In @.github/workflows/build-react-native-lexe.yml around lines 114 - 123, Use bindings/react-native-lexe/scripts/verify-native-artifacts.mjs as the canonical source for native artifact paths, and update its artifact-list export or output mechanism as needed. In .github/workflows/build-react-native-lexe.yml lines 114-123, replace the duplicated hardcoded for-list with a step that consumes the canonical list, ensuring additions or removals only require changing verify-native-artifacts.mjs.
159-169: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick winUse npm trusted publishing here instead of
NPM_TOKEN. This job already runs onubuntu-latest, so it can publish via OIDC: addpermissions: id-token: write, removeNODE_AUTH_TOKEN, and configure the package as a GitHub Actions trusted publisher on npm.🤖 Prompt for 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. In @.github/workflows/build-react-native-lexe.yml around lines 159 - 169, Update the “Publish to npm” workflow step to use npm trusted publishing via GitHub Actions OIDC: add job-level id-token: write permission, remove the NODE_AUTH_TOKEN environment variable and its validation, and retain the package discovery and public npm publish commands. Ensure the corresponding package trusted publisher is configured on npm.Source: Linters/SAST tools
🤖 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 @.github/workflows/build-react-native-lexe.yml:
- Line 44: Update the actions/checkout step in the build workflow to set
persist-credentials to false, while preserving the existing pinned checkout
action and subsequent job behavior.
In `@bindings/react-native-lexe/README.md`:
- Around line 28-48: Make the working-directory transition explicit in the local
installation instructions: after the build commands in the react-native-lexe
setup sequence, show returning to the consuming app directory before running npm
install, or replace the relative package path with a clearly defined
absolute/placeholder checkout path. Ensure the install path is not resolved from
bindings/react-native-lexe.
---
Nitpick comments:
In @.github/workflows/build-react-native-lexe.yml:
- Around line 134-143: Gate the publish job’s manual-dispatch path with a
protected GitHub Environment that requires reviewers before npm-publish
credentials are available. Update the publish job configuration identified by
publish so it references the repository’s designated protected environment,
while preserving the existing tag-or-input condition and build dependency.
- Around line 114-123: Use
bindings/react-native-lexe/scripts/verify-native-artifacts.mjs as the canonical
source for native artifact paths, and update its artifact-list export or output
mechanism as needed. In .github/workflows/build-react-native-lexe.yml lines
114-123, replace the duplicated hardcoded for-list with a step that consumes the
canonical list, ensuring additions or removals only require changing
verify-native-artifacts.mjs.
- Around line 159-169: Update the “Publish to npm” workflow step to use npm
trusted publishing via GitHub Actions OIDC: add job-level id-token: write
permission, remove the NODE_AUTH_TOKEN environment variable and its validation,
and retain the package discovery and public npm publish commands. Ensure the
corresponding package trusted publisher is configured on npm.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: e71e0067-ca59-4cb4-8800-c4bfea97b8f3
📒 Files selected for processing (9)
.github/workflows/build-react-native-lexe.yml.gitignorebindings/react-native-lexe/.gitattributesbindings/react-native-lexe/.gitignorebindings/react-native-lexe/README.mdbindings/react-native-lexe/package.jsonbindings/react-native-lexe/scripts/verify-native-artifacts.mjsbindings/react-native-lexe/ubrn.config.yamlcrates/lni/lexe/api.rs
💤 Files with no reviewable changes (1)
- bindings/react-native-lexe/.gitattributes
🚧 Files skipped from review as they are similar to previous changes (4)
- bindings/react-native-lexe/ubrn.config.yaml
- .gitignore
- bindings/react-native-lexe/package.json
- crates/lni/lexe/api.rs
There was a problem hiding this comment.
🧹 Nitpick comments (1)
bindings/react-native-lexe/scripts/verify-native-identity.mjs (1)
12-28: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueFold
readintorequireTextto avoid redundant failure logs.Currently, if a file is missing,
readpushes a failure and returns an empty string. The script then proceeds to check the empty string for every required text snippet, logging a redundantmissing "text"error for each one. Folding the read logic directly intorequireTextallows returning early to keep CI logs clean.♻️ Proposed refactor
-function read(relativePath) { - const absolutePath = path.join(packageDirectory, relativePath); - if (!existsSync(absolutePath)) { - failures.push(`${relativePath}: missing`); - return ''; - } - return readFileSync(absolutePath, 'utf8'); -} - function requireText(relativePath, requiredText) { - const contents = read(relativePath); + const absolutePath = path.join(packageDirectory, relativePath); + if (!existsSync(absolutePath)) { + failures.push(`${relativePath}: missing`); + return; + } + const contents = readFileSync(absolutePath, 'utf8'); for (const text of requiredText) { if (!contents.includes(text)) { failures.push(`${relativePath}: missing ${JSON.stringify(text)}`); } } }🤖 Prompt for 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. In `@bindings/react-native-lexe/scripts/verify-native-identity.mjs` around lines 12 - 28, Fold the file-reading logic from read into requireText: construct and check the absolute path there, record the missing-file failure, and return immediately when the file is absent. Then validate requiredText only for successfully read files, and remove the now-unused read function.
🤖 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.
Nitpick comments:
In `@bindings/react-native-lexe/scripts/verify-native-identity.mjs`:
- Around line 12-28: Fold the file-reading logic from read into requireText:
construct and check the absolute path there, record the missing-file failure,
and return immediately when the file is absent. Then validate requiredText only
for successfully read files, and remove the now-unused read function.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 600233ff-73fe-4c08-a8c2-6cfed46ca041
⛔ Files ignored due to path filters (1)
bindings/react-native-lexe/yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (8)
.github/workflows/build-react-native-lexe.ymlbindings/react-native-lexe/README.mdbindings/react-native-lexe/example/src/App.tsxbindings/react-native-lexe/package.jsonbindings/react-native-lexe/scripts/fix-ubrn-cmake.mjsbindings/react-native-lexe/scripts/verify-native-identity.mjsbindings/react-native-lexe/tsconfig.jsonbindings/react-native-lexe/ubrn.config.yaml
🚧 Files skipped from review as they are similar to previous changes (6)
- bindings/react-native-lexe/example/src/App.tsx
- bindings/react-native-lexe/tsconfig.json
- bindings/react-native-lexe/ubrn.config.yaml
- bindings/react-native-lexe/README.md
- .github/workflows/build-react-native-lexe.yml
- bindings/react-native-lexe/package.json
Summary by CodeRabbit