HomePhabricator

Quicksand - get the dark console working properly with quicksand

Description

Quicksand - get the dark console working properly with quicksand

Summary:
Fixes T7700.

This ends up being kind of tricky because

  • the key for a given request is only correct at the time the dark console is rendered
  • the dark console itself should contain every request made, as opposed to being drawn from scratch
  • in the case of a quicksand request, the behavior gets invoked first with the correctly rendered console as part of the quicksand-redraw event and then again shortly after as an ajax request would, except this is incorrect relative to when the key should be calculated...

So...

  • assume we can get away with concurrency between the quicksand-redraw event and ajax request invocation of the behavior
  • cache the right data as part of the quicksand-redraw event and then use it in the subsequent ajax call
    • make sure ajax config gets a 'quicksand' flag

...otherwise its somewhat standard make sure this behavior can be init'd a bunch stuff.

Test Plan: visited '/', visited '/differential/', visited '/DXXX' - observed correctly populating dark console with all sorts of good data stuff. navigated backwards and observed dark console staying the same as expected. navigated by clicking links and console updated again

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T7700

Differential Revision: https://secure.phabricator.com/D12582