Fail gracefully when invalid field is supplied to --fields#210
Merged
swissspidy merged 5 commits intomainfrom Feb 26, 2026
Merged
Fail gracefully when invalid field is supplied to --fields#210swissspidy merged 5 commits intomainfrom
swissspidy merged 5 commits intomainfrom
Conversation
…supplied Co-authored-by: swissspidy <841956+swissspidy@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix graceful failure for invalid field in --fields
Fail gracefully when invalid field is supplied to --fields
Feb 25, 2026
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Member
|
/gemini review |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
swissspidy
reviewed
Feb 26, 2026
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.
Passing an invalid field name via
--fields(e.g.wp profile stage template --fields=test) causes a PHP 8.1 fatal error due to unsupported operand types (string + null) inFormatter::show_table.Root cause: When no valid field matches,
array_searchreturnsfalse. Because!is_null(false)istrue,$totals[false](which aliases$totals[0]) is set to the'total (N)'string. The strict comparisonfalse === 0then fails to skip that index, and the subsequent$totals[$i] += nullblows up in PHP 8.1.Changes:
src/Formatter.php— Added validation in__constructthat diffs user-supplied--fieldsvalues against the valid fields array. CallsWP_CLI::error()with a clear message (e.g.Error: Invalid field(s): test) before any arithmetic is attempted. Also movedarray_map('trim', ...)before thearray_searchcall so trimmed values are used consistently.features/profile-stage.feature— Added a Behat scenario covering the invalid field case:Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.