Skip to content

Don't refresh all discussions for a new diff note on a merge request

What does this MR do?

The notes.json endpoint doesn't return sufficient information to build a functional discussion for a diff note, so we don't bother at the moment, instead pulling anew from discussions.json. However, this is quite expensive, and we're hoping to replace discussions.json with notes.json entirely in the future, so we're going to need it to support these attributes.

Including information about the diff makes notes.json a little more expensive, but it's a paginatable endpoint with incremental updates, whereas discussions.json is not easily paginatable and always returns all notes for a given noteable, so this seems like an uncontroversial win.

Screenshots

We got this diff note without needing to call discussions.json once \o/

Screenshot_from_2020-09-22_17-34-10

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Closes #254627 (closed)

Edited by Nick Thomas

Merge request reports