Only modify CrawlConfig.config fields included in PATCH request #3080
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.
Fixes #3065
This PR modifies the crawlconfig PATCH endpoint to do what myself and most users probably always assumed it did, which is to only modify fields in the
CrawlConfig.configthat are explicitly included in the PATCH request, rather than replacing the entirety of theconfigwith what's in the PATCH request.Arguably this could be seen as a breaking change, but I think given the semantics of PATCH and the fact that at least some users were confused by the previous behavior, I think we might be okay to just consider this a bugfix without need for a compatibility flag or similar in the API endpoint.
Tests have been updated accordingly.
Manual testing steps
configfields filled out - e.g. set browser language to English and a custom user agentconfigfield updates (e.g.{"config": {"blockAds": true}}) and verify that the rest of theconfigremains as it was originally saved.configfields in the payload but using their current values, verify that the response includes"settings_changed":false