Page MenuHomePhabricator

Fix an issue where inlines could be duplicated in the client list
ClosedPublic

Authored by epriestley on Mar 18 2021, 6:33 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 17, 2:47 PM
Unknown Object (File)
Sat, Apr 6, 9:58 AM
Unknown Object (File)
Sat, Apr 6, 2:38 AM
Unknown Object (File)
Fri, Apr 5, 12:01 PM
Unknown Object (File)
Sun, Mar 31, 5:58 AM
Unknown Object (File)
Thu, Mar 28, 7:11 PM
Unknown Object (File)
Wed, Mar 27, 11:34 PM
Unknown Object (File)
Sun, Mar 24, 6:07 AM
Subscribers
None

Details

Summary

Ref T13559. D21261 added caching here, but the logic in rebuilding inlines wasn't quite correct, and could lead to us double-appending.

Instead, when rebuilding, unconditionally discard the old list.

Test Plan
  • Added inline comments to a file in Differential.
  • Marked some done.
  • Scrolled so the inline comment header was visible, saw "X / Y Comments" button in header.
  • Clicked "Show 20 more lines" on the changeset with inlines (or toggle "View Unified" / "View Side-by-Side", or other interactions likely work too).
    • Before: saw "X / Y" change improperly (because inlines in that file were double-counted).
    • After: saw stable count.
  • Grepped for "differential-inline-comment-refresh", got no hits, concluded this event has no listeners.

Diff Detail

Repository
rP Phabricator
Branch
inline1
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 25315
Build 34947: Run Core Tests
Build 34946: arc lint + arc unit

Unit TestsFailed

TimeTest
205 msPhabricatorCelerityTestCase::testCelerityMaps
Assertion failed, expected 'true' (at PhabricatorCelerityTestCase.php:32): When this test fails, it means the Celerity resource map is out of date. Run `bin/celerity map` to rebuild it. ACTUAL VALUE
0 msAlmanacNamesTestCase::testServiceOrDeviceNames
30 assertions passed.
0 msAlmanacServiceTypeTestCase::testGetAllServiceTypes
1 assertion passed.
0 msAphrontHTTPHeaderParserTestCase::testHeaderParser
18 assertions passed.
0 msAphrontHTTPSinkTestCase::testHTTPHeaderNames
2 assertions passed.
View Full Test Results (1 Failed · 424 Passed · 2 Skipped)