Fix dropped OnChange notifications for paths with composite fields #150
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.
Paths that have composite fields defined can react to changes for any of those DB fields. If more than one of those fields changes when processing an OnChange event, the framework will generate two updates to process. This leads to an error because the framework handles multiple updates differently.
Handling multiple updates occurs here. Eventually, mergeYgotAtPath is called and that function tries to cast the GoStruct for the leaf path to a ValidatedGoStruct. This returns an error.
The fix is to only generate 1 update for leaf paths, even if multiple fields changed. A leaf path can never have more than 1 update because it is a single path.