BUGFIX: Reject suggestions without a context node - #82
Open
rolandschuetz wants to merge 1 commit into
Open
Conversation
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.
Requests to
/flowpack/searchpluginwith an omitted or emptycontextNodeIdentifiercurrently use the empty string to look up a live node and throw an unhandled exception. Return HTTP 400 with the existing JSON result shape and an explicit input error before looking at the query cache, content repository, or Elasticsearch.This targets the
5.3maintenance branch, matching version 5.3.4. Nonempty identifiers keep their existing behavior, including errors for references to nodes that cannot be found.Sentry: KAPSCH-BACKEND-T.
Validation:
1634467679in the unmodified 5.3.4 controller and local HTTP endpoint withGET /flowpack/searchplugin?term=test&dimensionCombination=%7B%7D; explicitly empty identifiers behave identically. Before: HTTP 500. After: HTTP 400 with empty completions/suggestions andcontextNodeIdentifier must not be emptyinerrors.The existing mismatch between template-cache read/write keys is outside this change. Cache hits are exercised explicitly in unit tests; repeated HTTP requests are not claimed to prove actual template-cache hits. Frontend rendering and editor workspaces are unchanged because the fix only rejects an empty identifier at the suggestion endpoint.
Tests were run in DDEV with PHP 8.3/PHPUnit 9.6.34. HTTP verification used an isolated temporary Flow cache because the normal local cache had an unrelated SwiftMailer reflection error. The installed dependency was temporarily linked to the package checkout for integration checks, then restored; temporary local indices were removed. No production data or requests are required for reproduction.