Skip to content

Fix generator CI SSR regression on main#3110

Merged
justin808 merged 2 commits intomainfrom
jg/fix-master-ci
Apr 12, 2026
Merged

Fix generator CI SSR regression on main#3110
justin808 merged 2 commits intomainfrom
jg/fix-master-ci

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Apr 12, 2026

Summary

Fixes the generator CI break on main by avoiding webpack's __WEBPACK_DEFAULT_EXPORT__ runtime issue and ensuring example-app CI uses the local monorepo react-on-rails package instead of stale published tarballs. Updated scriptSanitizedVal export shape and refactored shakapacker_examples dependency install flow to pin/install react-on-rails from file: refs for both latest and pinned matrices.

Pull Request checklist

  • Add/update test to cover these changes
  • Update documentation
  • Update CHANGELOG file

Other Information

Validated locally with run_rspec:shakapacker_examples_latest and run_rspec:shakapacker_examples_pinned, plus rubocop, eslint, and package build checks.


Note

Medium Risk
Touches generator/CI dependency installation logic and npm package pinning, which can break example app builds/SSR if the file: install behavior differs across npm versions. No production runtime or security-sensitive code paths are changed beyond a small export refactor.

Overview
Fixes an SSR/webpack regression by refactoring scriptSanitizedVal to a named const default export (avoiding runtime issues with default export handling).

Updates shakapacker_examples rake tasks to pin react-on-rails to the local monorepo via a file: dependency and centralizes node dependency installation, including explicit re-install of the local package and consistent --install-links/--legacy-peer-deps handling for pinned React matrices.

Reviewed by Cursor Bugbot for commit 8e32dc6. Bugbot is set up for automated code reviews on this repo. Configure here.

Summary by CodeRabbit

  • Refactor

    • Improved internal code organization for better maintainability.
  • Chores

    • Enhanced dependency management and installation process for local development environments.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 12, 2026

Walkthrough

This pull request refactors a default export into a named constant and enhances Rake tasks for example app generation by adding helpers to pin react-on-rails dependencies locally and orchestrate npm installations with conditional handling for pinned React versions.

Changes

Cohort / File(s) Summary
Function Export Refactoring
packages/react-on-rails/src/scriptSanitizedVal.ts
Converted inline arrow function default export to a named constant (scriptSanitizedVal) with identical functionality; regex-based string replacement logic unchanged.
Dependency Management Orchestration
react_on_rails/rakelib/shakapacker_examples.rake
Added helper methods to compute local file: references for react-on-rails package and pin dependencies in example apps' package.json. Introduced installation orchestrator that manages Shakapacker and react-on-rails pinning, with conditional npm install workflows based on whether React version is pinned (handles --legacy-peer-deps and --install-links flags accordingly).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 A naming game, so clean and bright,
A constant now, refactored right,
Dependencies pinned with careful care,
Local packages everywhere,
Shakapacker tasks declare their share!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title refers to fixing a CI regression related to SSR on main, which is directly supported by the PR's primary objectives of fixing webpack runtime export handling and ensuring local package pinning in example-app CI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jg/fix-master-ci

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 and usage tips.

Comment thread react_on_rails/rakelib/shakapacker_examples.rake
Comment thread react_on_rails/rakelib/shakapacker_examples.rake
Comment thread react_on_rails/rakelib/shakapacker_examples.rake
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 12, 2026

Review Summary

Overall Assessment

The changes are well-motivated and the approach is sound. The scriptSanitizedVal rename is a clean fix for the webpack SSR regression. The rake refactor properly centralizes dependency installation and ensures CI always validates the local monorepo package rather than a potentially stale published version.


scriptSanitizedVal.ts

Clean fix. Naming the function before exporting it as default avoids webpack's __WEBPACK_DEFAULT_EXPORT__ wrapping in SSR mode, which can cause TypeError: ... is not a function at runtime. No concerns.


shakapacker_examples.rake

What's good:

  • Consolidating the two duplicated pin_shakapacker_npm_version + npm install blocks into install_example_node_dependencies is a clear improvement — the before-code repeated identical logic with only a --legacy-peer-deps difference.
  • pin_react_on_rails_to_local_package correctly skips re-writing package.json when the ref is already correct (idempotent).
  • The local_react_on_rails_package_ref relative-path calculation correctly anchors to gem_root from TaskHelpers, so it works regardless of where the example app is generated.

Three things to address (see inline comments):

  1. Trailing space in legacy_peer_deps_flag (cosmetic) — "--legacy-peer-deps " has a trailing space that produces a double-space before --install-links in the generated command. Harmless, but easy to clean up.

  2. pin_react_on_rails_to_local_package only checks dependencies, not devDependencies — differs from pin_shakapacker_npm_version's behavior. Probably intentional (react-on-rails is a runtime dep), but should be made explicit with a comment or aligned to check both sections for safety.

  3. Double npm install without explanationpin_react_on_rails_to_local_package already writes the file: ref into package.json, so npm install --install-links should copy it correctly. The subsequent explicit install_local_react_on_rails_package call installs it again. If this is intentional (e.g., working around an npm behavior with freshly-modified package.json), please add a comment explaining why; otherwise consider removing it to cut CI time.

None of these block merging, but item 3 especially warrants a quick clarification.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 12, 2026

Greptile Summary

This PR fixes two related CI regressions on main: (1) scriptSanitizedVal.ts converts its anonymous default export to a named const + export default, eliminating the __WEBPACK_DEFAULT_EXPORT__ wrapper that webpack generated for anonymous arrow functions and was breaking SSR; (2) the shakapacker_examples rake tasks are extended to pin and explicitly install react-on-rails from the monorepo's local file: reference so generated example apps validate the current branch's package instead of a stale published tarball.

Confidence Score: 5/5

Safe to merge — both changes are well-scoped, the TypeScript fix is backward-compatible, and the rake changes are CI/tooling only with no production-code impact.

All findings are P2 style suggestions. No logic bugs, no security concerns, no API breakage — the default-export refactor is a drop-in rename and all consumers use the default import unchanged.

No files require special attention.

Important Files Changed

Filename Overview
packages/react-on-rails/src/scriptSanitizedVal.ts Refactors anonymous arrow default export to a named const + default export, fixing webpack's WEBPACK_DEFAULT_EXPORT wrapping that broke SSR; no API change.
react_on_rails/rakelib/shakapacker_examples.rake Adds helpers to compute a local file: ref for react-on-rails and pin/install it in generated example apps; extracts install logic into install_example_node_dependencies. Minor: pin_react_on_rails_to_local_package only patches dependencies, not devDependencies.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[install_example_node_dependencies] --> B[pin_shakapacker_npm_version]
    A --> C[pin_react_on_rails_to_local_package]
    C --> D{pinned_react_version?}
    D -- yes --> E[npm install --legacy-peer-deps --install-links]
    E --> F[install_local_react_on_rails_package legacy_peer_deps: true]
    F --> G[bundle exec rake shakapacker:binstubs]
    D -- no --> H[npm install --install-links]
    H --> I[install_local_react_on_rails_package legacy_peer_deps: false]
Loading

Reviews (1): Last reviewed commit: "Stabilize generator CI against npm and w..." | Re-trigger Greptile

Comment thread react_on_rails/rakelib/shakapacker_examples.rake
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 12, 2026

size-limit report 📦

Path Size
react-on-rails/client bundled (gzip) 62.63 KB (0%)
react-on-rails/client bundled (gzip) (time) 62.63 KB (0%)
react-on-rails/client bundled (brotli) 53.7 KB (0%)
react-on-rails/client bundled (brotli) (time) 53.7 KB (0%)
react-on-rails-pro/client bundled (gzip) 63.56 KB (-0.01% 🔽)
react-on-rails-pro/client bundled (gzip) (time) 63.56 KB (-0.01% 🔽)
react-on-rails-pro/client bundled (brotli) 54.58 KB (-0.04% 🔽)
react-on-rails-pro/client bundled (brotli) (time) 54.58 KB (-0.04% 🔽)
registerServerComponent/client bundled (gzip) 127.39 KB (0%)
registerServerComponent/client bundled (gzip) (time) 127.39 KB (0%)
registerServerComponent/client bundled (brotli) 61.52 KB (0%)
registerServerComponent/client bundled (brotli) (time) 61.52 KB (0%)
wrapServerComponentRenderer/client bundled (gzip) 122.02 KB (0%)
wrapServerComponentRenderer/client bundled (gzip) (time) 122.02 KB (0%)
wrapServerComponentRenderer/client bundled (brotli) 56.77 KB (0%)
wrapServerComponentRenderer/client bundled (brotli) (time) 56.77 KB (0%)

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
react_on_rails/rakelib/shakapacker_examples.rake (1)

157-175: Consider whether the double install of react-on-rails is necessary.

The flow pins react-on-rails in package.json (line 159), then runs npm install (lines 164 or 172), and then explicitly installs react-on-rails again (lines 165 or 173). Since the file: reference is already in package.json before the main install, the second install may be redundant.

If this is intentional (e.g., to handle npm resolution edge cases with --install-links), a brief comment explaining why would help future maintainers.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@react_on_rails/rakelib/shakapacker_examples.rake` around lines 157 - 175, The
code in install_example_node_dependencies currently pins react-on-rails via
pin_react_on_rails_to_local_package(example_type.dir) and then runs npm install,
but immediately calls install_local_react_on_rails_package(...) which performs a
second explicit install; either remove the redundant explicit install or make it
conditional. Fix by ensuring pin_react_on_rails_to_local_package writes the
file: dependency into package.json before the npm install so the main npm
install suffices, and remove the subsequent
install_local_react_on_rails_package(...) calls in both branches (or retain them
only behind a clearly documented conditional like legacy_peer_deps edge-case),
and add a short comment in install_example_node_dependencies explaining why a
second install remains necessary if you choose to keep it; reference functions:
install_example_node_dependencies, pin_react_on_rails_to_local_package,
install_local_react_on_rails_package, and the npm install invocations.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@react_on_rails/rakelib/shakapacker_examples.rake`:
- Around line 157-175: The code in install_example_node_dependencies currently
pins react-on-rails via pin_react_on_rails_to_local_package(example_type.dir)
and then runs npm install, but immediately calls
install_local_react_on_rails_package(...) which performs a second explicit
install; either remove the redundant explicit install or make it conditional.
Fix by ensuring pin_react_on_rails_to_local_package writes the file: dependency
into package.json before the npm install so the main npm install suffices, and
remove the subsequent install_local_react_on_rails_package(...) calls in both
branches (or retain them only behind a clearly documented conditional like
legacy_peer_deps edge-case), and add a short comment in
install_example_node_dependencies explaining why a second install remains
necessary if you choose to keep it; reference functions:
install_example_node_dependencies, pin_react_on_rails_to_local_package,
install_local_react_on_rails_package, and the npm install invocations.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5b119759-cff9-4f17-bf7e-5152acc7c56d

📥 Commits

Reviewing files that changed from the base of the PR and between d73245e and e004cc8.

📒 Files selected for processing (2)
  • packages/react-on-rails/src/scriptSanitizedVal.ts
  • react_on_rails/rakelib/shakapacker_examples.rake

The explicit re-install of react-on-rails after the initial npm install
is required because npm install --install-links does not reliably copy
a file: dependency that was just pinned in the same session.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@justin808
Copy link
Copy Markdown
Member Author

Review comments addressed

Addressed (1):

  • Double npm install (shakapacker_examples.rake:157-175) — Added comments on both branches explaining the intentional double install: npm install --install-links does not reliably copy a file: dependency that was just pinned in the same session. Fixed in 8e32dc6.

Declined with rationale (3):

  • Trailing space in legacy_peer_deps_flag (line 151) — Cosmetic only; npm handles double spaces fine.
  • devDependencies not checked (line 87, claude[bot]) — react-on-rails is always a runtime dependency, never a devDependency in generated apps.
  • devDependencies not checked (line 88, greptile-apps[bot]) — Duplicate of above.

All 4 review threads resolved.

raise
end

deps = package_json["dependencies"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only dependencies is checked here, while pin_shakapacker_npm_version checks both dependencies and devDependencies. In practice, example apps install react-on-rails as a runtime dependency so this is likely fine, but for robustness and consistency it may be worth adding a devDependencies fallback — or at least a comment explaining why only dependencies is intentional.

Suggested change
deps = package_json["dependencies"]
%w[dependencies devDependencies].each do |section|
deps = package_json[section]
next unless deps&.key?("react-on-rails")
local_package_ref = local_react_on_rails_package_ref(dir)
next if deps["react-on-rails"] == local_package_ref
puts " Pinning react-on-rails npm dependency from #{deps['react-on-rails']} to #{local_package_ref}"
deps["react-on-rails"] = local_package_ref
end
File.write(package_json_path, "#{JSON.pretty_generate(package_json)}\n")

puts " React: #{react_version}"
end

def install_local_react_on_rails_package(dir, legacy_peer_deps: false)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The trailing space embedded in "--legacy-peer-deps " is intentional — it separates the flag from --install-links when interpolated — but this is easy to misread as a typo. Consider using Array#join(" ") or a conditional separator to make the intent explicit:

Suggested change
def install_local_react_on_rails_package(dir, legacy_peer_deps: false)
def install_local_react_on_rails_package(dir, legacy_peer_deps: false)
flags = ["--install-links"]
flags.unshift("--legacy-peer-deps") if legacy_peer_deps
sh_in_dir(dir,
"npm install react-on-rails@#{local_react_on_rails_package_ref(dir)} #{flags.join(' ')}")
end

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 12, 2026

Review

Overall this is a well-targeted fix. The webpack __WEBPACK_DEFAULT_EXPORT__ issue is correctly addressed by naming the exported function, and the rake refactoring cleanly centralises example node dependency installation while adding the missing file: pinning for react-on-rails.

Observations

scriptSanitizedVal.ts — clean, minimal, no functional change. The named export also improves stack trace readability as a bonus.

shakapacker_examples.rake — the install_example_node_dependencies extraction is a clear improvement over the duplicated branches. Two small things flagged inline:

  1. pin_react_on_rails_to_local_package only reads dependencies, while pin_shakapacker_npm_version covers both dependencies and devDependencies. Likely correct for example apps (where react-on-rails is a runtime dep), but the asymmetry could silently miss a case — worth a comment or extending to both sections for parity.

  2. The trailing space in "--legacy-peer-deps " is functional but reads like a typo; suggested an Array#join alternative inline.

Double-install pattern — the comments explaining why an explicit re-install is needed after the initial npm install --install-links are clear and justify the otherwise surprising repetition. No concerns there.

JSON.pretty_generate rewrites — both new helpers rewrite the whole package.json file, which changes whitespace/indentation. This matches the existing pattern in pin_shakapacker_npm_version so it is consistent; just worth keeping in mind if generated-app diffs appear noisy in future debugging sessions.

@justin808 justin808 merged commit 6a399b0 into main Apr 12, 2026
49 checks passed
@justin808 justin808 deleted the jg/fix-master-ci branch April 12, 2026 08:57
justin808 added a commit that referenced this pull request Apr 12, 2026
### Summary

Fixes the generator CI break on main by avoiding webpack's
`__WEBPACK_DEFAULT_EXPORT__` runtime issue and ensuring example-app CI
uses the local monorepo `react-on-rails` package instead of stale
published tarballs. Updated `scriptSanitizedVal` export shape and
refactored `shakapacker_examples` dependency install flow to pin/install
`react-on-rails` from `file:` refs for both latest and pinned matrices.

### Pull Request checklist

- [x] ~Add/update test to cover these changes~
- [x] ~Update documentation~
- [x] ~Update CHANGELOG file~

### Other Information

Validated locally with `run_rspec:shakapacker_examples_latest` and
`run_rspec:shakapacker_examples_pinned`, plus `rubocop`, `eslint`, and
package build checks.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Touches generator/CI dependency installation logic and npm package
pinning, which can break example app builds/SSR if the `file:` install
behavior differs across npm versions. No production runtime or
security-sensitive code paths are changed beyond a small export
refactor.
> 
> **Overview**
> Fixes an SSR/webpack regression by refactoring `scriptSanitizedVal` to
a named const default export (avoiding runtime issues with default
export handling).
> 
> Updates `shakapacker_examples` rake tasks to **pin `react-on-rails` to
the local monorepo** via a `file:` dependency and centralizes node
dependency installation, including explicit re-install of the local
package and consistent `--install-links`/`--legacy-peer-deps` handling
for pinned React matrices.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
8e32dc6. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
  * Improved internal code organization for better maintainability.

* **Chores**
* Enhanced dependency management and installation process for local
development environments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
justin808 added a commit that referenced this pull request Apr 12, 2026
### Summary

Fixes the generator CI break on main by avoiding webpack's
`__WEBPACK_DEFAULT_EXPORT__` runtime issue and ensuring example-app CI
uses the local monorepo `react-on-rails` package instead of stale
published tarballs. Updated `scriptSanitizedVal` export shape and
refactored `shakapacker_examples` dependency install flow to pin/install
`react-on-rails` from `file:` refs for both latest and pinned matrices.

### Pull Request checklist

- [x] ~Add/update test to cover these changes~
- [x] ~Update documentation~
- [x] ~Update CHANGELOG file~

### Other Information

Validated locally with `run_rspec:shakapacker_examples_latest` and
`run_rspec:shakapacker_examples_pinned`, plus `rubocop`, `eslint`, and
package build checks.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Touches generator/CI dependency installation logic and npm package
pinning, which can break example app builds/SSR if the `file:` install
behavior differs across npm versions. No production runtime or
security-sensitive code paths are changed beyond a small export
refactor.
> 
> **Overview**
> Fixes an SSR/webpack regression by refactoring `scriptSanitizedVal` to
a named const default export (avoiding runtime issues with default
export handling).
> 
> Updates `shakapacker_examples` rake tasks to **pin `react-on-rails` to
the local monorepo** via a `file:` dependency and centralizes node
dependency installation, including explicit re-install of the local
package and consistent `--install-links`/`--legacy-peer-deps` handling
for pinned React matrices.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
8e32dc6. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
  * Improved internal code organization for better maintainability.

* **Chores**
* Enhanced dependency management and installation process for local
development environments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
justin808 added a commit that referenced this pull request Apr 12, 2026
### Summary

Fixes the generator CI break on main by avoiding webpack's
`__WEBPACK_DEFAULT_EXPORT__` runtime issue and ensuring example-app CI
uses the local monorepo `react-on-rails` package instead of stale
published tarballs. Updated `scriptSanitizedVal` export shape and
refactored `shakapacker_examples` dependency install flow to pin/install
`react-on-rails` from `file:` refs for both latest and pinned matrices.

### Pull Request checklist

- [x] ~Add/update test to cover these changes~
- [x] ~Update documentation~
- [x] ~Update CHANGELOG file~

### Other Information

Validated locally with `run_rspec:shakapacker_examples_latest` and
`run_rspec:shakapacker_examples_pinned`, plus `rubocop`, `eslint`, and
package build checks.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Touches generator/CI dependency installation logic and npm package
pinning, which can break example app builds/SSR if the `file:` install
behavior differs across npm versions. No production runtime or
security-sensitive code paths are changed beyond a small export
refactor.
> 
> **Overview**
> Fixes an SSR/webpack regression by refactoring `scriptSanitizedVal` to
a named const default export (avoiding runtime issues with default
export handling).
> 
> Updates `shakapacker_examples` rake tasks to **pin `react-on-rails` to
the local monorepo** via a `file:` dependency and centralizes node
dependency installation, including explicit re-install of the local
package and consistent `--install-links`/`--legacy-peer-deps` handling
for pinned React matrices.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
8e32dc6. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
  * Improved internal code organization for better maintainability.

* **Chores**
* Enhanced dependency management and installation process for local
development environments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
justin808 added a commit that referenced this pull request Apr 12, 2026
…ages

* origin/main: (44 commits)
  Consolidate CSP nonce sanitization into shared module (#2828)
  Add comprehensive --rsc-pro generator tests (#3098)
  fix: cross-env validation and docs for renderer password (#3090)
  Improve package metadata and Pro upgrade CTAs (#3112)
  docs: standardize warning syntax to GFM alert format (#3115)
  docs: improve react-intl documentation for React Server Components (#3085)
  Fix generator CI SSR regression on main (#3110)
  Refocus GitHub README on docs navigation (#3113)
  Add manual dev environment testing checklist for coding agents (#3074)
  Bump version to 16.6.0
  Update CHANGELOG.md for 16.6.0 (#3078)
  fix: node-renderer diagnostic improvements (#3086)
  fix: pin third-party npm deps in generator to prevent peer dep conflicts (#3083)
  chore(deps): bump lodash from 4.17.23 to 4.18.1 in the npm-security group across 1 directory (#2920)
  fix: refactor formatExceptionMessage to accept generic request context (#2877)
  Bump version to 16.6.0.rc.1
  Update CHANGELOG.md for 16.6.0.rc.1 (#3079)
  Update CHANGELOG.md unreleased section (#3077)
  Fix Content-Length mismatch and null renderingRequest errors in node renderer (#3069)
  Improve memory debugging docs with simpler heap snapshot approach (#3072)
  ...

# Conflicts:
#	docs/pro/home-pro.md
#	docs/pro/react-on-rails-pro.md
#	docs/sidebars.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant