Skip to content

Fix spec/dummy Procfile.dev SERVER_BUNDLE_ONLY to match template convention#2922

Merged
ihabadham merged 2 commits intomainfrom
ihabadham/fix/align-server-bundle-only-value
Apr 2, 2026
Merged

Fix spec/dummy Procfile.dev SERVER_BUNDLE_ONLY to match template convention#2922
ihabadham merged 2 commits intomainfrom
ihabadham/fix/align-server-bundle-only-value

Conversation

@ihabadham
Copy link
Copy Markdown
Collaborator

@ihabadham ihabadham commented Apr 2, 2026

Summary

  • Aligns spec/dummy/Procfile.dev to use SERVER_BUNDLE_ONLY=yes instead of =true, matching the generator template and all other Procfiles in the codebase
  • Also fixes CLIENT_BUNDLE_ONLY=true=yes in the RSC "how it works" doc, which had the same inconsistency
  • Both inconsistencies are purely cosmetic — webpack configs check truthiness (if (process.env.X)), not exact string equality

Context

  • The SERVER_BUNDLE_ONLY inconsistency was introduced accidentally in PR Update bin/shakapacker to auto-generate packs #1630 (June 2024) when the value was changed from =yes to =true without review
  • The CLIENT_BUNDLE_ONLY inconsistency in docs/pro/react-server-components/how-react-server-components-work.md was found during investigation — all other CLIENT_BUNDLE_ONLY usage (server_manager.rb, specs, other docs) uses =yes

Closes #2409

Test plan

  • CI passes (no functional change — both "yes" and "true" are truthy in JS)
  • Verify spec/dummy/Procfile.dev now matches the template convention
  • Verify RSC doc commands match the codebase convention

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated development/build configuration to adjust a server bundle setting for consistent local tooling behavior.
    • Updated documentation to reflect the revised build command and clarify the local development workflow.

…e convention

The spec/dummy used `SERVER_BUNDLE_ONLY=true` while the generator template
and all other Procfiles use `=yes`. The inconsistency was introduced
accidentally in PR #1630 and has no functional impact (webpack checks
truthiness, not exact string), but aligning with the template convention
keeps the spec/dummy representative of what users get.

Closes #2409

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

coderabbitai Bot commented Apr 2, 2026

Walkthrough

Changed environment variable values from ..._BUNDLE_ONLY=true to ..._BUNDLE_ONLY=yes in a Procfile and corresponding documentation to align with template conventions; no functional code or public API changes.

Changes

Cohort / File(s) Summary
Procfile Configuration
react_on_rails/spec/dummy/Procfile.dev
Replaced SERVER_BUNDLE_ONLY=true with SERVER_BUNDLE_ONLY=yes in the server-bundle process entry.
Documentation
docs/pro/react-server-components/how-react-server-components-work.md
Updated occurrences of CLIENT_BUNDLE_ONLY=true to CLIENT_BUNDLE_ONLY=yes in code examples and explanatory note.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A tiny hop, a tidy press,
From true to yes I bless,
Templates hum and docs agree,
Consistency — a carrot for me! 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the primary change: updating SERVER_BUNDLE_ONLY from true to yes in Procfile.dev to match template convention.
Linked Issues check ✅ Passed The PR fully implements the coding requirements from issue #2409: replacing SERVER_BUNDLE_ONLY=true with =yes in spec/dummy/Procfile.dev and updating related documentation.
Out of Scope Changes check ✅ Passed The documentation update to CLIENT_BUNDLE_ONLY in RSC docs is a related consistency fix that aligns with the same standardization effort, not an out-of-scope change.
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 ihabadham/fix/align-server-bundle-only-value

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.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 2, 2026

Reviewed the change. This is a clean, minimal consistency fix — all other Procfile.dev files in the codebase (generator template, both Pro spec dummies) already use SERVER_BUNDLE_ONLY=yes, so this brings spec/dummy/Procfile.dev into alignment.

Verified:

  • Generator template (lib/generators/react_on_rails/templates/base/base/Procfile.dev): =yes
  • react_on_rails_pro/spec/dummy/Procfile.dev: =yes
  • react_on_rails_pro/spec/execjs-compatible-dummy/Procfile.dev: =yes
  • This file (after the fix): =yes

The webpack configs check truthiness (if (process.env.SERVER_BUNDLE_ONLY)), so both "yes" and "true" are functionally equivalent — this is a pure consistency fix with no behavioral risk.

LGTM. ✅

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 2, 2026

Greptile Summary

This PR standardizes SERVER_BUNDLE_ONLY=yes in spec/dummy/Procfile.dev, aligning it with the generator template (lib/generators/react_on_rails/templates/base/base/Procfile.dev) and every other Procfile in the repository. The change is purely cosmetic — webpack configs check only for truthiness, so both "yes" and "true" behave identically at runtime.

Confidence Score: 5/5

  • Safe to merge — single-line cosmetic consistency fix with no functional impact.
  • The change is a one-line string swap from =true to =yes in a Procfile. Both values are truthy in JS, so runtime behavior is identical. It brings the file in line with the generator template and all three other Procfiles in the monorepo. No logic, no tests, no code paths are affected.
  • No files require special attention.

Important Files Changed

Filename Overview
react_on_rails/spec/dummy/Procfile.dev One-line consistency fix: SERVER_BUNDLE_ONLY=true → =yes, now matching the generator template and all other Procfiles in the repo

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["Procfile.dev\n(spec/dummy)"] -->|"SERVER_BUNDLE_ONLY=yes\n(was: =true)"| B["bin/shakapacker-watch --watch"]
    B --> C{"webpack config\nif (process.env.SERVER_BUNDLE_ONLY)"}
    C -->|truthy — both 'yes' and 'true'| D["Build server bundle only"]
    C -->|falsy| E["Build all bundles"]

    style A fill:#d4edda,stroke:#28a745
    style D fill:#cce5ff,stroke:#004085
Loading

Reviews (1): Last reviewed commit: "Fix spec/dummy Procfile.dev SERVER_BUNDL..." | Re-trigger Greptile

Same consistency issue as SERVER_BUNDLE_ONLY: the RSC "how it works" doc
used `CLIENT_BUNDLE_ONLY=true` while all other usage (server_manager.rb,
specs, other docs) uses `=yes`. Both are functionally identical (webpack
checks truthiness), but the docs should match the codebase convention.

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

claude Bot commented Apr 2, 2026

Review: PR 2922 - Fix SERVER_BUNDLE_ONLY/CLIENT_BUNDLE_ONLY convention alignment

Summary: Clean, low-risk consistency fix. No issues found.

Verification: Checked all remaining uses of SERVER_BUNDLE_ONLY and CLIENT_BUNDLE_ONLY across Procfiles, docs, and source files. All now consistently use the yes value after this PR merges. No remaining instances of the old true value in any Procfile or doc.

Assessment:

  • Correctness: webpack configs check truthiness, so both yes and true are functionally identical. No behavioral change.
  • Scope: The doc fix (CLIENT_BUNDLE_ONLY) is a sensible bonus catch consistent with the PR goal.
  • Security/Performance: No implications.

LGTM

@ihabadham ihabadham merged commit 4406c1b into main Apr 2, 2026
25 checks passed
@ihabadham ihabadham deleted the ihabadham/fix/align-server-bundle-only-value branch April 2, 2026 19:02
justin808 added a commit that referenced this pull request Apr 3, 2026
## Summary
- Replaces all `SERVER_BUNDLE_ONLY=yes`, `CLIENT_BUNDLE_ONLY=yes`, and
`RSC_BUNDLE_ONLY=yes` with `=true` across source code, Procfiles, specs,
and documentation
- Both values are truthy in JS (`if (process.env.X)`) and Ruby, but
`true` is the more conventional and self-documenting value
- Reverses the direction of #2922 which standardized on `=yes` — this PR
standardizes on `=true` instead

## Changed files (18)
- **Source**: `server_manager.rb`, `doctor.rb`, `rsc_setup.rb`, Procfile
template
- **Procfiles**: `spec/dummy`, `react_on_rails_pro/spec/dummy`,
`execjs-compatible-dummy`
- **Specs**: `server_manager_spec.rb`, `doctor_spec.rb`,
`install_generator_spec.rb`
- **Docs**: 8 documentation files referencing these env vars

## Test plan
- [x] `bundle exec rspec spec/react_on_rails/dev/server_manager_spec.rb`
— 92 examples, 0 failures
- [x] `bundle exec rspec spec/lib/react_on_rails/doctor_spec.rb` — 152
examples, 0 failures
- [x] `bundle exec rspec
spec/react_on_rails/generators/install_generator_spec.rb` — 131
examples, 0 failures
- [x] `bundle exec rubocop` passes on all changed Ruby files
- [x] No functional change — both `"yes"` and `"true"` are truthy in
JS/Ruby

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk refactor that mainly updates documentation/templates/tests
and development tooling env var conventions; runtime impact is limited
to dev/test watch process detection.
> 
> **Overview**
> Standardizes Shakapacker bundle-selection env vars across the project
by replacing `CLIENT_BUNDLE_ONLY`, `SERVER_BUNDLE_ONLY`, and
`RSC_BUNDLE_ONLY` values from `=yes` to `=true` in docs, Procfile
templates/dummies, generators, and specs.
> 
> Updates `ServerManager` test-watch behavior to set
`CLIENT_BUNDLE_ONLY=true` and to detect both `SERVER_BUNDLE_ONLY=true`
and legacy `=yes` watcher processes during the transition, with
corresponding spec adjustments.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
b72ede2. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

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

* **Documentation**
* Updated development setup guides and configuration examples to use
consistent boolean values (`true`) instead of string values (`yes`) for
bundler environment variables across all documentation.

* **Chores**
* Standardized development process configuration templates and test
fixtures to use consistent environment variable formatting for bundler
settings.
<!-- 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 8, 2026
…e-dedup

* origin/main: (51 commits)
  Fix Content-Length mismatch and null renderingRequest errors in node renderer (#3069)
  Improve memory debugging docs with simpler heap snapshot approach (#3072)
  Enforce strict version matching in doctor and recommend doctor on errors (#3070)
  Remove immediate_hydration feature from codebase (#2834)
  Fix infinite fork loop when node renderer worker fails to bind port (#2881)
  Fix TanStack Router SSR hydration mismatch in Pro async path (#2932)
  Improve node renderer error messages for malformed render requests (#3068)
  Add interactive mode prompt to create-react-on-rails-app (#3063)
  docs: replace hardcoded version numbers with unversioned install commands (#2893)
  Remove Contributing section from docs sidebar (#3064)
  Consolidate docs comparison pages into single evaluation entry (#3065)
  Docs route cleanup: canonicalize worst verbose URL slugs (#3067)
  Add agent summary blocks to high-value docs pages (#3066)
  Fix brittle positional assertions in create-app tests (#2923)
  Auto-resolve renderer password from ENV in Rails Pro (#2921)
  Standardize bundle env vars from =yes to =true (#2925)
  Fix Pro generator multiline and template-literal rewrites (#2918)
  Fix spec/dummy Procfile.dev SERVER_BUNDLE_ONLY to match template convention (#2922)
  Add llms docs entry points (#2916)
  Bump version to 16.6.0.rc.0
  ...

# Conflicts:
#	packages/create-react-on-rails-app/src/create-app.ts
justin808 added a commit that referenced this pull request Apr 8, 2026
…lacement-2835-main

* origin/main: (44 commits)
  Fix Content-Length mismatch and null renderingRequest errors in node renderer (#3069)
  Improve memory debugging docs with simpler heap snapshot approach (#3072)
  Enforce strict version matching in doctor and recommend doctor on errors (#3070)
  Remove immediate_hydration feature from codebase (#2834)
  Fix infinite fork loop when node renderer worker fails to bind port (#2881)
  Fix TanStack Router SSR hydration mismatch in Pro async path (#2932)
  Improve node renderer error messages for malformed render requests (#3068)
  Add interactive mode prompt to create-react-on-rails-app (#3063)
  docs: replace hardcoded version numbers with unversioned install commands (#2893)
  Remove Contributing section from docs sidebar (#3064)
  Consolidate docs comparison pages into single evaluation entry (#3065)
  Docs route cleanup: canonicalize worst verbose URL slugs (#3067)
  Add agent summary blocks to high-value docs pages (#3066)
  Fix brittle positional assertions in create-app tests (#2923)
  Auto-resolve renderer password from ENV in Rails Pro (#2921)
  Standardize bundle env vars from =yes to =true (#2925)
  Fix Pro generator multiline and template-literal rewrites (#2918)
  Fix spec/dummy Procfile.dev SERVER_BUNDLE_ONLY to match template convention (#2922)
  Add llms docs entry points (#2916)
  Bump version to 16.6.0.rc.0
  ...

# Conflicts:
#	CHANGELOG.md
justin808 added a commit that referenced this pull request Apr 8, 2026
### Summary

Adds missing changelog entries to the `[Unreleased]` section for PRs
merged since `v16.6.0.rc.0`. Analyzed 19 commits on `origin/main` since
the last tag, identified 1 missing user-visible PR (#3069), and skipped
10 non-user-visible PRs (docs, tests, internal refactors).

**New entries added:**
- **Added**: `[Pro] Configurable HTTP keep-alive timeout for node
renderer connections` (PR #3069)
- **Fixed**: `[Pro] Fixed SSR failures from stale persistent HTTP/2
connections` (PR #3069)

**Entries already present** (added in prior changelog updates): PRs
#2834, #2881, #2918, #2921, #2923, #2932, #3063, #3068, #3070.

**Skipped** (not user-visible): #2893 (docs), #2916 (docs), #2922 (test
fix), #2923 (test fix), #2925 (internal refactor), #3064 (docs), #3065
(docs), #3066 (docs), #3067 (docs), #3072 (docs).

### Pull Request checklist

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

### Other Information

No code changes — CHANGELOG.md only.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk because this PR only changes documentation (`CHANGELOG.md`)
and does not modify runtime code.
> 
> **Overview**
> Updates `CHANGELOG.md` *[Unreleased]* to include missing Pro release
notes for PR `#3069`, documenting the new
`renderer_http_keep_alive_timeout` config and the associated fix for SSR
failures from stale persistent HTTP/2 connections to the node renderer.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
8d1a480. 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

* **New Features**
* Interactive mode selection prompt for CLI tool when no explicit mode
is specified
* Configurable keep-alive timeout setting for Pro users (default 30
seconds)

* **Bug Fixes**
  * Enhanced validation and error handling for invalid request payloads
  * Improved template literal handling in code generation
  * Better HTTP connection stability with enhanced diagnostic messaging

<!-- 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 9, 2026
Adds missing changelog entries to the `[Unreleased]` section for PRs
merged since `v16.6.0.rc.0`. Analyzed 19 commits on `origin/main` since
the last tag, identified 1 missing user-visible PR (#3069), and skipped
10 non-user-visible PRs (docs, tests, internal refactors).

**New entries added:**
- **Added**: `[Pro] Configurable HTTP keep-alive timeout for node
renderer connections` (PR #3069)
- **Fixed**: `[Pro] Fixed SSR failures from stale persistent HTTP/2
connections` (PR #3069)

**Entries already present** (added in prior changelog updates): PRs

**Skipped** (not user-visible): #2893 (docs), #2916 (docs), #2922 (test
fix), #2923 (test fix), #2925 (internal refactor), #3064 (docs), #3065
(docs), #3066 (docs), #3067 (docs), #3072 (docs).

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

No code changes — CHANGELOG.md only.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk because this PR only changes documentation (`CHANGELOG.md`)
and does not modify runtime code.
>
> **Overview**
> Updates `CHANGELOG.md` *[Unreleased]* to include missing Pro release
notes for PR `#3069`, documenting the new
`renderer_http_keep_alive_timeout` config and the associated fix for SSR
failures from stale persistent HTTP/2 connections to the node renderer.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
8d1a480. 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
-->

* **New Features**
* Interactive mode selection prompt for CLI tool when no explicit mode
is specified
* Configurable keep-alive timeout setting for Pro users (default 30
seconds)

* **Bug Fixes**
  * Enhanced validation and error handling for invalid request payloads
  * Improved template literal handling in code generation
  * Better HTTP connection stability with enhanced diagnostic messaging

<!-- 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 9, 2026
Adds missing changelog entries to the `[Unreleased]` section for PRs
merged since `v16.6.0.rc.0`. Analyzed 19 commits on `origin/main` since
the last tag, identified 1 missing user-visible PR (#3069), and skipped
10 non-user-visible PRs (docs, tests, internal refactors).

**New entries added:**
- **Added**: `[Pro] Configurable HTTP keep-alive timeout for node
renderer connections` (PR #3069)
- **Fixed**: `[Pro] Fixed SSR failures from stale persistent HTTP/2
connections` (PR #3069)

**Entries already present** (added in prior changelog updates): PRs

**Skipped** (not user-visible): #2893 (docs), #2916 (docs), #2922 (test
fix), #2923 (test fix), #2925 (internal refactor), #3064 (docs), #3065
(docs), #3066 (docs), #3067 (docs), #3072 (docs).

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

No code changes — CHANGELOG.md only.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk because this PR only changes documentation (`CHANGELOG.md`)
and does not modify runtime code.
>
> **Overview**
> Updates `CHANGELOG.md` *[Unreleased]* to include missing Pro release
notes for PR `#3069`, documenting the new
`renderer_http_keep_alive_timeout` config and the associated fix for SSR
failures from stale persistent HTTP/2 connections to the node renderer.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
8d1a480. 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
-->

* **New Features**
* Interactive mode selection prompt for CLI tool when no explicit mode
is specified
* Configurable keep-alive timeout setting for Pro users (default 30
seconds)

* **Bug Fixes**
  * Enhanced validation and error handling for invalid request payloads
  * Improved template literal handling in code generation
  * Better HTTP connection stability with enhanced diagnostic messaging

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

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

## Summary
- Aligns `spec/dummy/Procfile.dev` to use `SERVER_BUNDLE_ONLY=yes`
instead of `=true`, matching the generator template and all other
Procfiles in the codebase
- Also fixes `CLIENT_BUNDLE_ONLY=true` → `=yes` in the RSC "how it
works" doc, which had the same inconsistency
- Both inconsistencies are purely cosmetic — webpack configs check
truthiness (`if (process.env.X)`), not exact string equality

## Context
- The `SERVER_BUNDLE_ONLY` inconsistency was introduced accidentally in
PR #1630 (June 2024) when the value was changed from `=yes` to `=true`
without review
- The `CLIENT_BUNDLE_ONLY` inconsistency in
`docs/pro/react-server-components/how-react-server-components-work.md`
was found during investigation — all other `CLIENT_BUNDLE_ONLY` usage
(`server_manager.rb`, specs, other docs) uses `=yes`

Closes #2409

## Test plan
- [x] CI passes (no functional change — both `"yes"` and `"true"` are
truthy in JS)
- [x] Verify `spec/dummy/Procfile.dev` now matches the template
convention
- [x] Verify RSC doc commands match the codebase convention

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

## Summary by CodeRabbit

* **Chores**
* Updated development/build configuration to adjust a server bundle
setting for consistent local tooling behavior.
* Updated documentation to reflect the revised build command and clarify
the local development workflow.

<!-- 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
- Replaces all `SERVER_BUNDLE_ONLY=yes`, `CLIENT_BUNDLE_ONLY=yes`, and
`RSC_BUNDLE_ONLY=yes` with `=true` across source code, Procfiles, specs,
and documentation
- Both values are truthy in JS (`if (process.env.X)`) and Ruby, but
`true` is the more conventional and self-documenting value
- Reverses the direction of #2922 which standardized on `=yes` — this PR
standardizes on `=true` instead

## Changed files (18)
- **Source**: `server_manager.rb`, `doctor.rb`, `rsc_setup.rb`, Procfile
template
- **Procfiles**: `spec/dummy`, `react_on_rails_pro/spec/dummy`,
`execjs-compatible-dummy`
- **Specs**: `server_manager_spec.rb`, `doctor_spec.rb`,
`install_generator_spec.rb`
- **Docs**: 8 documentation files referencing these env vars

## Test plan
- [x] `bundle exec rspec spec/react_on_rails/dev/server_manager_spec.rb`
— 92 examples, 0 failures
- [x] `bundle exec rspec spec/lib/react_on_rails/doctor_spec.rb` — 152
examples, 0 failures
- [x] `bundle exec rspec
spec/react_on_rails/generators/install_generator_spec.rb` — 131
examples, 0 failures
- [x] `bundle exec rubocop` passes on all changed Ruby files
- [x] No functional change — both `"yes"` and `"true"` are truthy in
JS/Ruby

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk refactor that mainly updates documentation/templates/tests
and development tooling env var conventions; runtime impact is limited
to dev/test watch process detection.
> 
> **Overview**
> Standardizes Shakapacker bundle-selection env vars across the project
by replacing `CLIENT_BUNDLE_ONLY`, `SERVER_BUNDLE_ONLY`, and
`RSC_BUNDLE_ONLY` values from `=yes` to `=true` in docs, Procfile
templates/dummies, generators, and specs.
> 
> Updates `ServerManager` test-watch behavior to set
`CLIENT_BUNDLE_ONLY=true` and to detect both `SERVER_BUNDLE_ONLY=true`
and legacy `=yes` watcher processes during the transition, with
corresponding spec adjustments.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
b72ede2. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

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

* **Documentation**
* Updated development setup guides and configuration examples to use
consistent boolean values (`true`) instead of string values (`yes`) for
bundler environment variables across all documentation.

* **Chores**
* Standardized development process configuration templates and test
fixtures to use consistent environment variable formatting for bundler
settings.
<!-- 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

Adds missing changelog entries to the `[Unreleased]` section for PRs
merged since `v16.6.0.rc.0`. Analyzed 19 commits on `origin/main` since
the last tag, identified 1 missing user-visible PR (#3069), and skipped
10 non-user-visible PRs (docs, tests, internal refactors).

**New entries added:**
- **Added**: `[Pro] Configurable HTTP keep-alive timeout for node
renderer connections` (PR #3069)
- **Fixed**: `[Pro] Fixed SSR failures from stale persistent HTTP/2
connections` (PR #3069)

**Entries already present** (added in prior changelog updates): PRs
#2834, #2881, #2918, #2921, #2923, #2932, #3063, #3068, #3070.

**Skipped** (not user-visible): #2893 (docs), #2916 (docs), #2922 (test
fix), #2923 (test fix), #2925 (internal refactor), #3064 (docs), #3065
(docs), #3066 (docs), #3067 (docs), #3072 (docs).

### Pull Request checklist

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

### Other Information

No code changes — CHANGELOG.md only.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk because this PR only changes documentation (`CHANGELOG.md`)
and does not modify runtime code.
> 
> **Overview**
> Updates `CHANGELOG.md` *[Unreleased]* to include missing Pro release
notes for PR `#3069`, documenting the new
`renderer_http_keep_alive_timeout` config and the associated fix for SSR
failures from stale persistent HTTP/2 connections to the node renderer.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
8d1a480. 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

* **New Features**
* Interactive mode selection prompt for CLI tool when no explicit mode
is specified
* Configurable keep-alive timeout setting for Pro users (default 30
seconds)

* **Bug Fixes**
  * Enhanced validation and error handling for invalid request payloads
  * Improved template literal handling in code generation
  * Better HTTP connection stability with enhanced diagnostic messaging

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

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

## Summary
- Aligns `spec/dummy/Procfile.dev` to use `SERVER_BUNDLE_ONLY=yes`
instead of `=true`, matching the generator template and all other
Procfiles in the codebase
- Also fixes `CLIENT_BUNDLE_ONLY=true` → `=yes` in the RSC "how it
works" doc, which had the same inconsistency
- Both inconsistencies are purely cosmetic — webpack configs check
truthiness (`if (process.env.X)`), not exact string equality

## Context
- The `SERVER_BUNDLE_ONLY` inconsistency was introduced accidentally in
PR #1630 (June 2024) when the value was changed from `=yes` to `=true`
without review
- The `CLIENT_BUNDLE_ONLY` inconsistency in
`docs/pro/react-server-components/how-react-server-components-work.md`
was found during investigation — all other `CLIENT_BUNDLE_ONLY` usage
(`server_manager.rb`, specs, other docs) uses `=yes`

Closes #2409

## Test plan
- [x] CI passes (no functional change — both `"yes"` and `"true"` are
truthy in JS)
- [x] Verify `spec/dummy/Procfile.dev` now matches the template
convention
- [x] Verify RSC doc commands match the codebase convention

🤖 Generated with [Claude Code](https://claude.com/claude-code)

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

## Summary by CodeRabbit

* **Chores**
* Updated development/build configuration to adjust a server bundle
setting for consistent local tooling behavior.
* Updated documentation to reflect the revised build command and clarify
the local development workflow.

<!-- 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
- Replaces all `SERVER_BUNDLE_ONLY=yes`, `CLIENT_BUNDLE_ONLY=yes`, and
`RSC_BUNDLE_ONLY=yes` with `=true` across source code, Procfiles, specs,
and documentation
- Both values are truthy in JS (`if (process.env.X)`) and Ruby, but
`true` is the more conventional and self-documenting value
- Reverses the direction of #2922 which standardized on `=yes` — this PR
standardizes on `=true` instead

## Changed files (18)
- **Source**: `server_manager.rb`, `doctor.rb`, `rsc_setup.rb`, Procfile
template
- **Procfiles**: `spec/dummy`, `react_on_rails_pro/spec/dummy`,
`execjs-compatible-dummy`
- **Specs**: `server_manager_spec.rb`, `doctor_spec.rb`,
`install_generator_spec.rb`
- **Docs**: 8 documentation files referencing these env vars

## Test plan
- [x] `bundle exec rspec spec/react_on_rails/dev/server_manager_spec.rb`
— 92 examples, 0 failures
- [x] `bundle exec rspec spec/lib/react_on_rails/doctor_spec.rb` — 152
examples, 0 failures
- [x] `bundle exec rspec
spec/react_on_rails/generators/install_generator_spec.rb` — 131
examples, 0 failures
- [x] `bundle exec rubocop` passes on all changed Ruby files
- [x] No functional change — both `"yes"` and `"true"` are truthy in
JS/Ruby

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk refactor that mainly updates documentation/templates/tests
and development tooling env var conventions; runtime impact is limited
to dev/test watch process detection.
> 
> **Overview**
> Standardizes Shakapacker bundle-selection env vars across the project
by replacing `CLIENT_BUNDLE_ONLY`, `SERVER_BUNDLE_ONLY`, and
`RSC_BUNDLE_ONLY` values from `=yes` to `=true` in docs, Procfile
templates/dummies, generators, and specs.
> 
> Updates `ServerManager` test-watch behavior to set
`CLIENT_BUNDLE_ONLY=true` and to detect both `SERVER_BUNDLE_ONLY=true`
and legacy `=yes` watcher processes during the transition, with
corresponding spec adjustments.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
b72ede2. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

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

* **Documentation**
* Updated development setup guides and configuration examples to use
consistent boolean values (`true`) instead of string values (`yes`) for
bundler environment variables across all documentation.

* **Chores**
* Standardized development process configuration templates and test
fixtures to use consistent environment variable formatting for bundler
settings.
<!-- 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

Adds missing changelog entries to the `[Unreleased]` section for PRs
merged since `v16.6.0.rc.0`. Analyzed 19 commits on `origin/main` since
the last tag, identified 1 missing user-visible PR (#3069), and skipped
10 non-user-visible PRs (docs, tests, internal refactors).

**New entries added:**
- **Added**: `[Pro] Configurable HTTP keep-alive timeout for node
renderer connections` (PR #3069)
- **Fixed**: `[Pro] Fixed SSR failures from stale persistent HTTP/2
connections` (PR #3069)

**Entries already present** (added in prior changelog updates): PRs
#2834, #2881, #2918, #2921, #2923, #2932, #3063, #3068, #3070.

**Skipped** (not user-visible): #2893 (docs), #2916 (docs), #2922 (test
fix), #2923 (test fix), #2925 (internal refactor), #3064 (docs), #3065
(docs), #3066 (docs), #3067 (docs), #3072 (docs).

### Pull Request checklist

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

### Other Information

No code changes — CHANGELOG.md only.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk because this PR only changes documentation (`CHANGELOG.md`)
and does not modify runtime code.
> 
> **Overview**
> Updates `CHANGELOG.md` *[Unreleased]* to include missing Pro release
notes for PR `#3069`, documenting the new
`renderer_http_keep_alive_timeout` config and the associated fix for SSR
failures from stale persistent HTTP/2 connections to the node renderer.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
8d1a480. 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

* **New Features**
* Interactive mode selection prompt for CLI tool when no explicit mode
is specified
* Configurable keep-alive timeout setting for Pro users (default 30
seconds)

* **Bug Fixes**
  * Enhanced validation and error handling for invalid request payloads
  * Improved template literal handling in code generation
  * Better HTTP connection stability with enhanced diagnostic messaging

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

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
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.

Align spec/dummy/Procfile.dev SERVER_BUNDLE_ONLY value with template convention

1 participant