Handle cache busting scenario where DiffNotePosition changes
We create/update the `DiffNotePosition` of a discussion (via the first note ID), whenever a MR has been updated and we check for mergeability of a MR. This means that when a merge request changes the `DiffNotePosition` can possibly change. Previously, when that happens, the cache will be stale and the `positions` property we return in `discussions.json` will be outdated and won't match anything on the new HEAD diff so discussions that supposed to be still displayed won't be displayed. This fix adds the SHA of `DiffNotePosition#position` records of each `DiffDiscussion` to the cache key. This way, if they change, the cache for the corresponding discussion will be invalidated.
Showing
Please register or sign in to comment