Fix issues with MLC in parallel mode
What does this MR do?
This is the second round of multiline comment enablement. This addresses viewing diffs in side by side mode.
Note that documentation is going to be handled in a separate MR to expedite getting this into the hands of users.
Relates to: #211255 (closed)
Note on complexity
There is a LOT of code accounting for the existence of
line is not available when commenting on an image and is only needed because there is not an efficient means to look up data from a
line in the components that need it. So it is optionally passed as a prop resulting in
if branches and
optional chaining in many places that would not be necessary otherwise.
Setup for testing
For this example, I am using the Html5Boilerplate project from GDK.
In the Web IDE:
- create a new file and add some content. Recommend at least 20 lines of code.
- delete a file. I deleted LICENCE.txt
- modify a file. I updated the README file. Make sure to add some brand new text. Delete some existing text, and modify some text. Preferably modify multiple lines of text separated by some space that has added and deleted lines in between them.
Here is a link to the testing matrix I came up with to guide my testing: https://docs.google.com/spreadsheets/d/1N-xHOw5vXAlz5MnzYUs8rw15bf3ftfNLbQyY2J50qy8/edit?usp=sharing
There are 450 possible scenarios that I am aware of. Many of these overlap quite a bit though.
Comment shown in side by side
Comment form in side by side
Does this MR meet the acceptance criteria?
- [-] Documentation (if required)
- Code review guidelines
- Merge request performance guidelines
- Style guides