Adding new field to `position` breaks `isDiscussionApplicableToLine` method in JS
If a new field is added to a note position
field, as in !28326 (diffs), it breaks isDiscussionApplicableToLine()
in app/assets/javascripts/diffs/store/utils.js
. This is because the preceding method getDiffPositionByLineCode
reimplements a method from the backend (lib/gitlab/diff/file.rb#position_for_line_code
) in JavaScript, which won't pick up additional fields unless it's also updated. Because it misses out any new fields, the two position objects do not match and therefore the note is not displayed in the Changes
tab on the MR.
We should ideally only implement this method on the backend, if possible.
Thanks to @igor.drozdov for identifying this as the cause.
!30402 (merged) addresses this issue
Edited by Justin Boyson