Fix transcript flash upon comment submission #4032
Merged
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.
Summary
I hit this once in development, it took a very long time to solve, but eventually I tracked it down to a missing field while writing to the Apollo cache. I thought the bug was gone, but then on production it started happening again. I carefully (I thought) compared the objects that I was pulling from and writing to the cache, and didn't spot any immediate differences, but then I found this issue: apollographql/apollo-client#6375. This is the exact issue we are experiencing here, and the fact that someone mentioned
null
vs.undefined
made me wonder if I had missed a small difference. It turns out, that we were writingprimaryLabel: undefined, secondaryLabel: undefined
into the cache when making comments that did not have labels. The cache was expectingnull
values when those are missing. It was silently failing, as described in the issue, and then (I think) refetching from the server because it was effectively a cache-miss (I didn't investigate this part too thoroughly since it wasn't super relevant).