Skip to content

fix: bump sample app react-navigation to v7 (deprecated v6 package) - #230

Merged
uc-brunosilva merged 1 commit into
masterfrom
fix/MSDK-4102-react-navigation-eol
Jul 21, 2026
Merged

fix: bump sample app react-navigation to v7 (deprecated v6 package)#230
uc-brunosilva merged 1 commit into
masterfrom
fix/MSDK-4102-react-navigation-eol

Conversation

@uc-brunosilva

@uc-brunosilva uc-brunosilva commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

User description

Summary

  • Bumps @react-navigation/native (6.1.18 → 7.3.13) and @react-navigation/native-stack (6.11.0 → 7.18.5) in sample/package.json
  • Resolves MSDK-4102: security scanner flagged @react-navigation/native@6.1.18 as a deprecated/EOL package (no direct remediation available from the scanner)
  • Scope is limited to the demo sample/ app — not the published SDK

Notes

  • Sample app's react-navigation usage (sample/src/App.tsx) is minimal (NavigationContainer + createNativeStackNavigator, no linking config or advanced APIs), so v7 required no code changes
  • react-native-screens/react-native-safe-area-context peer deps were already on v7-compatible versions
  • npm install, typecheck, and lint verified clean (no react-navigation-related errors)

Test plan

  • npm install in sample/ resolves without conflicts
  • npx tsc --noEmit shows no react-navigation-related type errors
  • npx eslint src/App.tsx clean
  • Reviewer sanity check: sample app builds/runs on device/simulator

🤖 Generated with Claude Code


CodeAnt-AI Description

Upgrade the sample app's navigation libraries to the current major version

What Changed

  • Updated the sample app to use React Navigation v7 instead of v6
  • Kept the change scoped to the demo app, so the published SDK is unaffected
  • Refreshes the lockfile so the sample app installs the newer navigation packages consistently

Impact

✅ Removes the deprecated navigation package from the sample app
✅ Keeps the sample app installable with current navigation dependencies
✅ Reduces maintenance issues from outdated demo app packages

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Summary by CodeRabbit

  • Chores
    • Updated navigation components to newer versions for improved compatibility and access to the latest navigation capabilities.

@react-navigation/native@6.1.18 was flagged as an EOL/deprecated
dependency in sample/package.json (MSDK-4102).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codeant-ai

codeant-ai Bot commented Jul 21, 2026

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR 3d7a845 Jul 21, 2026 · 09:23 09:24

Updated in place by CodeAnt AI · last 5 reviews

@codeant-ai

codeant-ai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 72c53fab-d3f7-48b9-8d43-24b03d3b196d

📥 Commits

Reviewing files that changed from the base of the PR and between 7b13655 and 3d7a845.

⛔ Files ignored due to path filters (1)
  • sample/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • sample/package.json

📝 Walkthrough

Walkthrough

The sample application updates @react-navigation/native and @react-navigation/native-stack from 6.x to 7.x versions.

Changes

React Navigation update

Layer / File(s) Summary
Update React Navigation versions
sample/package.json
The sample dependencies move @react-navigation/native to ^7.3.13 and @react-navigation/native-stack to ^7.18.5.

Estimated code review effort: 1 (Trivial) | ~2 minutes

🚥 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 matches the main change: upgrading the sample app's React Navigation packages from v6 to v7.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/MSDK-4102-react-navigation-eol

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.3.8)
sample/package.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install timed out. The project may have too many dependencies for the sandbox.


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.

@codeant-ai codeant-ai Bot added the size:L This PR changes 100-499 lines, ignoring generated files label Jul 21, 2026
@pantoaibot

pantoaibot Bot commented Jul 21, 2026

Copy link
Copy Markdown

PR Summary:

Update sample app navigation libs from react-navigation v6 -> v7.

  • Files changed: sample/package.json
  • Dependency updates:
    • @react-navigation/native: ^6.1.18 -> ^7.3.13
    • @react-navigation/native-stack: ^6.11.0 -> ^7.18.5
  • No other code changes in this PR; only the sample app's package.json was modified.
  • Potential impact: v7 contains API/behavior changes vs v6 — consumers should verify navigation usage/types in the sample app and adjust if needed.
  • Reviewer notes: run npm/yarn install (and pod install for iOS), build the sample app, and smoke-test navigation flows to confirm nothing breaks.

Reviewed by Panto AI

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Bump sample app react-navigation to v7 to address deprecated v6

🐞 Bug fix ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Upgrade sample app to react-navigation v7 to avoid deprecated/EOL v6
• Refresh lockfile to reflect updated react-navigation dependency graph
• Keep scope limited to sample app; no SDK runtime code changes
Diagram

graph TD
  A["Sample app"] --> B["sample/package.json"] --> C[/"npm install"/] --> D(["React Navigation v7"]) --> E["NavigationContainer + Stack"] --> F["Demo UI flow"]
  B --> G["sample/package-lock.json"]

  subgraph Legend
    direction LR
    _file["File"] ~~~ _proc[/"Process"/] ~~~ _pkg(["Dependency"])
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Scanner allowlist/exemption for sample-only dependency
  • ➕ Zero runtime behavior change in the sample app
  • ➕ Avoids potential breaking changes from a major upgrade
  • ➖ Does not actually remove deprecated/EOL dependency
  • ➖ Adds process/tooling debt and may not satisfy compliance requirements
2. Remove react-navigation from the sample app (simplify demo)
  • ➕ Eliminates navigation dependency surface area entirely
  • ➕ Reduces future maintenance of navigation-related peer deps
  • ➖ Changes the demo experience and may reduce usefulness
  • ➖ Not viable if navigation is an intended part of the sample
3. Use package manager overrides/resolutions
  • ➕ Can control specific transitive versions if needed
  • ➕ Potentially smaller diff than a full major upgrade
  • ➖ Not applicable when the flagged package is a direct dependency
  • ➖ Can produce brittle/unsupported combinations

Recommendation: Proceed with the v7 upgrade as implemented. It directly removes the deprecated v6 dependency (the actual goal) while keeping scope confined to the sample app; given the minimal API usage, the major upgrade is the lowest long-term maintenance path compared to allowlisting or overrides.

Files changed (2) +122 / -53

Other (2) +122 / -53
package-lock.jsonRegenerate lockfile for React Navigation v7 resolution +120/-51

Regenerate lockfile for React Navigation v7 resolution

• Updates the locked dependency graph to reflect @react-navigation/native v7.3.13 and @react-navigation/native-stack v7.18.5. Pulls in updated react-navigation core/elements/routers versions and new supporting packages (e.g., standard-navigation, use-sync-external-store, color).

sample/package-lock.json

package.jsonBump sample app @react-navigation packages from v6 to v7 +2/-2

Bump sample app @react-navigation packages from v6 to v7

• Upgrades @react-navigation/native and @react-navigation/native-stack to v7 to avoid deprecated/EOL v6 flagged by security scanning. No other dependency declarations are changed.

sample/package.json

Comment thread sample/package.json
@pantoaibot

pantoaibot Bot commented Jul 21, 2026

Copy link
Copy Markdown

Reviewed up to commit:3d7a8458eb3b056a48ba80f6cade854f6118dfff

Reviewed by Panto AI

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@uc-brunosilva
uc-brunosilva merged commit b197309 into master Jul 21, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants