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
F19007858: D21435.diff
Fri, Nov 21, 8:42 PM
F18993550: D21435.id51006.diff
Wed, Nov 19, 8:10 AM
F18809514: D21435.id.diff
Oct 19 2025, 2:41 PM
F18809437: D21435.id51006.diff
Oct 19 2025, 2:00 PM
F18797372: D21435.diff
Oct 17 2025, 4:59 AM
F18757445: D21435.id51006.diff
Oct 5 2025, 5:28 PM
F18734341: D21435.id.diff
Sep 30 2025, 10:52 PM
F18615538: D21435.id.diff
Sep 14 2025, 2:59 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
Branch
newline1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 24823
Build 34247: Run Core Tests
Build 34246: arc lint + arc unit