Skip to content

Expanding/collapsing diff in large MR should happen instantly

Summary

Expanding/collapsing a diff on a file in large MRs is unnecessary slow even after the diff has been already fetched and loaded. The smaller MR is, the less noticeable the issue, but I tried on a large MR with the following summary:

  • 248 changes
  • 40 changes
  • 248 files edited

Statistics for a particular file I tried with in this MR (though the same is true for all files in this MR):

  • +55
  • -61

Steps to reproduce

Load diff ("Changes" tab) for such large MR with a file that has a lot of changes. Click ˅ icon in front of the file's name if it is expanded (˃ if the diff for file is collapsed). Loading diff or collapsing in my case took 2.6 seconds (see the screenshot).

Example Project

Merge Requests numbers 2 and 6 in GDK-generated version of CE.

What is the current bug behavior?

Expanding and collapsing a diff for a file takes way too long and is unexpected considering that the diff has already been fetched and rendered on the screen.

What is the expected correct behavior?

Collapsing/expanding should happen instantly. At least from the user experience point of view.

Relevant logs and/or screenshots

Screenshot_2019-02-12_at_14.20.33

Edited by Denys Mishunov