[4.x] When updating asset references, check the type of the data instead of max_files
#9790
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.
This pull request attempts to prevent an issue where renaming / moving assets would cause the references to that asset in content to not be updated.
From my testing, a
foreach() argument must be of type array|object, string given
error would occur when a blueprint had an Assets field but the paths to the assets in the content was formatted differently.For example:
max_files: 1
set on your Assets field, then later remove it, when you rename/move an asset, you'd experience the error because theAssetReferenceUpdater
expects data to be stored as an array, however some data is still stored as strings.max_files
set at all, then setmax_files: 1
, when you rename/move assets, you'd experience the error sinceAssetReferenceUpdater
expects the data to be an array but it's a string.Closes #9701.
Related to #7555 and #8114.