Skip to content
  • epriestley's avatar
    Make "renderer", "engine", and "encoding" sticky across reloads in Differential and Diffusion · c3c55d82
    epriestley authored
    Summary:
    Ref T13455. Update the other "view state" properties to work like "highlight" now works.
    
    Some complexity here arises from these concerns:
    
      - In "View Standalone", we render the changeset inline. This is useful for debugging/development, and desirable to retain.
      - In all other cases, we render the changeset with AJAX.
    
    So the client needs to be able to learn about the "state" properties of the changeset on two different flows. Prior to this change, each pathway had a fair amount of unique code.
    
    Then, some bookkeeping issues:
    
      - At inital rendering time, we may not know which renderer will be selected: it may be based on the client viewport dimensions.
      - Prior to this change, the client didn't separate "value of the property for the changeset as rendered" and "desired value of the property".
    
    Test Plan:
      - Viewed changes in Differential, Diffusion, and in standalone mode.
      - Toggled renderer, character sets, and document engine (this one isn't terribly useful). Reloaded, saw them stick.
      - Started typing a comment, cancelled it, hit the undo UI.
    
    Maniphest Tasks: T13455
    
    Differential Revision: https://secure.phabricator.com/D21138
    c3c55d82