Bug Fix - filter undefined definitions from the resolver cache #10
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.
A complex set of race conditions can cause monologue to call 'invokeSubscriber' on an undefined definition from the resolver cache. The test is fairly complex and took me quite some time to find just the right subset of conditions to consistently reproduce the exception so that I could get it into a spec.
For the record, you cannot just put an
if
clause around the callback, this actually results in the test failing because of a different race condition where not all legitimate subscribers get a callback.Side note: it would be great if you would add your .esformatter file to this guy (or jscs or whatever) because I had to do a lot of formatting corrections after the fact after disabling esformatter to avoid this being a big PR with lots of weird whitespace changes.