[codex] Expose branch preview PHP fatals#388
Merged
Merged
Conversation
Merged
adamziel
added a commit
that referenced
this pull request
May 19, 2026
## Release `v0.1.49` Version bump and release metadata update for `v0.1.49`. **Changelog draft:** * Update release workflows for Node 24 actions ([#384](#384)) * Improve remote clone SSH failures ([#387](#387)) * Expose branch preview PHP fatals ([#388](#388)) * Improve docs social preview * Heal remote clone branch boot dependencies ([#389](#389)) **Full changelog:** v0.1.48...release/v0.1.49 ## Next steps 1. **Review** the changes in this pull request. 2. **Push** any additional edits to this branch (`release/v0.1.49`). 3. **Merge** this pull request to publish `v0.1.49`. Merging will automatically build ForkPress binaries, create a GitHub release, and update the Homebrew formula. Co-authored-by: Codex <codex@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What it does
Makes branch-preview PHP fatals visible in ForkPress logs instead of leaving users with only WordPress' generic critical-error screen.
The change:
wp-debug.logwp-config.phpforkpress logs --file wpRationale
Remote clones can boot far enough for WordPress to load plugins/themes, then fatal inside a site-specific plugin. WordPress recovery mode masks that as "There has been a critical error on this website", and the current logs can lack the branch/request context needed to debug the cloned site.
Implementation
runtime/cow/router.phpnow registers a shutdown handler before requiring branch PHP. On fatal shutdown it writes a structured line to the ForkPress debug log and PHP error log. Generated configs defineWP_DISABLE_FATAL_ERROR_HANDLERso PHP fatals flow to ForkPress logging instead of WordPress' generic recovery page. Git-sidewp-config.phpnormalization inserts or normalizes the same constant when pushed configs are applied to materialized branches.Testing instructions
Checked locally:
php -l runtime/cow/router.php php -l runtime/cow/bootstrap_wp.php php -l scripts/cow/git_server.php php -l tests/cow/router_paths.php php -l tests/cow/git_server.php php tests/cow/router_paths.php php tests/cow/git_server.php FORKPRESS_RUNTIME_BUNDLE=/dev/null cargo test -p forkpress-cli remote_clone cargo fmt --check git diff --check