Page MenuHomePhabricator

Fix an issue where the last line of block-based diffs could be incorrectly hidden
ClosedPublic

Authored by epriestley on Jan 30 2020, 4:17 PM.
Tags
None
Referenced Files
F18369174: D20959.id49935.diff
Thu, Aug 28, 1:55 AM
F18368271: D20959.id49934.diff
Thu, Aug 28, 12:41 AM
F18363773: D20959.id49934.diff
Wed, Aug 27, 5:19 PM
F18363718: D20959.id49935.diff
Wed, Aug 27, 5:11 PM
F18110275: D20959.id49935.diff
Mon, Aug 11, 5:54 PM
F18100845: D20959.diff
Sat, Aug 9, 12:07 PM
F18037473: D20959.id49934.diff
Sun, Aug 3, 2:35 AM
F17950259: D20959.id49935.diff
Fri, Aug 1, 12:14 AM
Subscribers
None

Details

Summary

Fixes T13468. See that task for discussion. The older source-rendering code mixes "line number" / "1-based" lists with "block number" / "0-based" lists and then has other bugs which cancel this out.

For block-based diffs, build an explicit block-based mask with only block numbers. This sort of sidesteps the whole issue.

Test Plan

Viewed the diff with the original reproduction case, plus various other block-based diffs, including one-block image diffs, in unified and side-by-side mode. Didn't spot any oddities.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable