Page MenuHomePhabricator

Add a Quicksand-aware page-level container to diffs
ClosedPublic

Authored by epriestley on May 8 2017, 4:01 PM.
Tags
None
Referenced Files
F18798747: D17840.diff
Fri, Oct 17, 8:18 AM
F18772660: D17840.id42918.diff
Thu, Oct 9, 3:39 AM
F18735393: D17840.diff
Wed, Oct 1, 1:12 AM
F18658347: D17840.diff
Tue, Sep 23, 5:58 AM
F18656818: D17840.diff
Mon, Sep 22, 11:32 PM
F18633091: D17840.diff
Sep 16 2025, 7:34 PM
F18629605: D17840.diff
Sep 16 2025, 9:23 AM
F18620270: D17840.id42919.diff
Sep 15 2025, 4:43 AM
Subscribers
None

Details

Summary

Ref T12616. Ref T8047. Ref T11093. We currently have several bugs where diff state sticks across Quicksand pages.

Add a new top-level object to handle this, with sleep() and wake() methods. In sleep(), future changes will remove/deacivate all the reticles/editors/etc.

See T12616 for high-level discussion of plans here.

This general idea is likely to become more formal eventually (e.g. for "sheets" or whatever we call them, in T10469) but I think this is probably a reasonable place to draw a line for now.

Test Plan
  • Added some logging to sleep(), wake() and construct().
  • Viewed changes in Differential.
  • With Quicksand on, browsed around; saw state change logs fire properly.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

  • Slightly less debugging code.
  • Make the state change more robust to Quicksand and behaviors firing in any order.
chad added inline comments.
webroot/rsrc/js/application/diff/DiffChangesetList.js
8–26

spacing expected?

This revision is now accepted and ready to land.May 8 2017, 10:08 PM
This revision was automatically updated to reflect the committed changes.