Skip to content

fix(e2e): Pin json gem < 3.0 for RN < 0.72 iOS builds - #6678

Merged
antonis merged 2 commits into
mainfrom
fix/e2e-pin-json-gem-rn071
Sep 7, 2026
Merged

fix(e2e): Pin json gem < 3.0 for RN < 0.72 iOS builds#6678
antonis merged 2 commits into
mainfrom
fix/e2e-pin-json-gem-rn071

Conversation

@antonis

@antonis antonis commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

📢 Type of change

  • Bugfix

📜 Description

The RN 0.71.19 iOS E2E build (Setup Plain RN 0.71.19 App) started failing at bundle exec pod install:

[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
[!] Invalid `Podfile` file: unknown keyword: quirks_mode.
 #  from .../0.71.19/RnDiffApp/ios/Podfile:30
 >    use_react_native!(

RN < 0.72 runs its iOS codegen while CocoaPods evaluates the Podfile (use_react_native!), and that codegen still passes quirks_mode: true to the json gem. The cloned rn-diff-purge Gemfile pins cocoapods and activesupport but not json, so a fresh bundle install floats to the latest json.

This change appends gem 'json', '< 3.0' to the app's Gemfile before bundle install, guarded to iOS + RN < 0.72. Newer RN (0.87.1) codegen dropped the quirks_mode usage and is unaffected — which is why only the 0.71.19 iOS job was red.

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I added tests to verify changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing.
  • Public API changes reviewed by another Mobile SDK team member or implemented according to the develop docs spec.
  • No breaking changes.

🔮 Next steps

json 3.0.0 (released 2026-09-07) removed the `quirks_mode` option. RN < 0.72
runs its iOS codegen while CocoaPods evaluates the Podfile (`use_react_native!`)
and that codegen still passes `quirks_mode: true` to the json gem. The
rn-diff-purge Gemfile pins cocoapods but not json, so a fresh `bundle install`
now resolves json 3.0.0 and `pod install` fails with:

  [!] Invalid `Podfile` file: unknown keyword: quirks_mode.

Pin json below 3.0 for these older RN versions before `bundle install`. Newer
RN codegen dropped the option and is unaffected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • fix(e2e): Pin json gem < 3.0 for RN < 0.72 iOS builds by antonis in #6678
  • feat(ios): Expose enableMemoryIntrospection option by antonis in #6674
  • feat(android): Add anrProfilingSampleRate option by antonis in #6673
  • ci: Unpin Android E2E emulator build by antonis in #6672
  • ref(ios): Remove deprecated private SDK API usage by philprime in #6647
  • chore(deps): update Cocoa SDK to v9.27.0 by github-actions in #6670
  • chore(deps): update Sentry Android Gradle Plugin to v6.21.0 by github-actions in #6671
  • chore(deps): Bump fast-uri to ^3.1.6 to resolve security alerts by antonis in #6662
  • chore(deps): Bump qs to ^6.16.0 to resolve security alerts by antonis in #6663
  • chore(deps): Bump @xmldom/xmldom pins to patched versions to resolve security alerts by antonis in #6664
  • docs: Revamp root and nested AGENTS.md by antonis in #6666

🤖 This preview updates automatically when you update the PR.

@antonis antonis added skip-changelog ready-to-merge Triggers the full CI test suite labels Sep 7, 2026
@antonis
antonis marked this pull request as ready for review September 7, 2026 08:14
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 3870.94 ms 1234.40 ms -2636.54 ms
Size 5.15 MiB 6.88 MiB 1.73 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
ecf47a2+dirty 3835.20 ms 1222.43 ms -2612.77 ms
3817909+dirty 1183.90 ms 1187.50 ms 3.60 ms
5ee78d6+dirty 3847.52 ms 1224.27 ms -2623.25 ms
890d145+dirty 1223.59 ms 1231.37 ms 7.78 ms
e763471+dirty 3841.16 ms 1218.06 ms -2623.09 ms
3d31fcf+dirty 3838.09 ms 1223.46 ms -2614.63 ms
9210ae6+dirty 3815.93 ms 1214.14 ms -2601.79 ms
26843eb+dirty 3861.60 ms 1238.77 ms -2622.82 ms
7a89652+dirty 3861.46 ms 1229.61 ms -2631.85 ms
9ad4522+dirty 3850.40 ms 1222.40 ms -2628.00 ms

App size

Revision Plain With Sentry Diff
ecf47a2+dirty 4.98 MiB 6.46 MiB 1.49 MiB
3817909+dirty 3.38 MiB 4.73 MiB 1.35 MiB
5ee78d6+dirty 5.15 MiB 6.69 MiB 1.53 MiB
890d145+dirty 3.38 MiB 4.77 MiB 1.38 MiB
e763471+dirty 4.98 MiB 6.51 MiB 1.53 MiB
3d31fcf+dirty 4.98 MiB 6.56 MiB 1.58 MiB
9210ae6+dirty 5.15 MiB 6.68 MiB 1.53 MiB
26843eb+dirty 4.98 MiB 6.53 MiB 1.55 MiB
7a89652+dirty 5.15 MiB 6.70 MiB 1.55 MiB
9ad4522+dirty 4.98 MiB 6.56 MiB 1.58 MiB

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 429.16 ms 460.60 ms 31.44 ms
Size 50.56 MiB 56.46 MiB 5.90 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
57e0069+dirty 413.82 ms 453.47 ms 39.65 ms
6acdf1d+dirty 513.58 ms 608.31 ms 94.72 ms
0bd8916+dirty 412.77 ms 451.31 ms 38.54 ms
7d6fd3a+dirty 403.02 ms 422.56 ms 19.54 ms
a2585ce+dirty 426.36 ms 483.26 ms 56.90 ms
a216cb9+dirty 458.66 ms 531.47 ms 72.81 ms
20fbd51+dirty 487.89 ms 535.60 ms 47.71 ms
88735e9+dirty 429.04 ms 484.17 ms 55.13 ms
eb93136+dirty 416.18 ms 467.32 ms 51.14 ms
0a9e622+dirty 420.73 ms 464.83 ms 44.10 ms

App size

Revision Plain With Sentry Diff
57e0069+dirty 49.74 MiB 54.85 MiB 5.11 MiB
6acdf1d+dirty 49.74 MiB 55.09 MiB 5.34 MiB
0bd8916+dirty 48.30 MiB 53.57 MiB 5.26 MiB
7d6fd3a+dirty 43.75 MiB 48.14 MiB 4.39 MiB
a2585ce+dirty 49.74 MiB 55.36 MiB 5.61 MiB
a216cb9+dirty 49.74 MiB 55.08 MiB 5.34 MiB
20fbd51+dirty 49.74 MiB 54.81 MiB 5.07 MiB
88735e9+dirty 49.74 MiB 54.82 MiB 5.07 MiB
eb93136+dirty 48.30 MiB 53.58 MiB 5.28 MiB
0a9e622+dirty 49.74 MiB 55.09 MiB 5.34 MiB

@antonis
antonis merged commit ccd29bc into main Sep 7, 2026
77 of 79 checks passed
@antonis
antonis deleted the fix/e2e-pin-json-gem-rn071 branch September 7, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite skip-changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants