Page MenuHomePhabricator

Recover inline comments which are "adjusted" off the end of a diff
ClosedPublic

Authored by epriestley on Aug 5 2020, 7:59 PM.
Tags
None
Referenced Files
F18757445: D21435.id51006.diff
Sun, Oct 5, 5:28 PM
F18734341: D21435.id.diff
Tue, Sep 30, 10:52 PM
F18615538: D21435.id.diff
Sep 14 2025, 2:59 PM
F18605589: D21435.diff
Sep 13 2025, 8:35 PM
F18571186: D21435.id51008.diff
Sep 10 2025, 4:48 AM
F18571184: D21435.id51006.diff
Sep 10 2025, 4:48 AM
F18141102: D21435.id51006.diff
Aug 14 2025, 6:03 AM
F18111972: D21435.id.diff
Aug 12 2025, 3:39 PM
Subscribers
None

Details

Summary

See PHI1834. Currently, the inline adjustment engine can sometime "adjust" an inline off the end of a diff. If it does, we lay it out on an invalid display line here and never render it.

Instead, make sure that layout never puts a comment on an invalid line, so the UI is robust against questionable decisions by the adjustment engine: no adjustment should be able to accidentally discard an inline.

Test Plan
  • Created a two diff revision, where Diffs 1 and 2 have "alphabet.txt" with A-Z on one line each. The file is unchanged across diffs; some other file is changed.
  • Added a comment to lines P-Z of Diff 1.
  • Before: comment is adjusted out of range on Diff 2 and not shown in the UI.
  • After: comment is still adjusted out of range internally, but now corrected into the display range and shown.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable