Page MenuHomePhabricator

Make "renderer", "engine", and "encoding" sticky across reloads in Differential and Diffusion
ClosedPublic

Authored by epriestley on Apr 17 2020, 11:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 3 2024, 8:20 AM
Unknown Object (File)
Jan 31 2024, 7:34 PM
Unknown Object (File)
Jan 18 2024, 11:20 AM
Unknown Object (File)
Dec 27 2023, 1:22 PM
Unknown Object (File)
Dec 22 2023, 2:55 AM
Unknown Object (File)
Nov 30 2023, 3:18 AM
Unknown Object (File)
Nov 16 2023, 8:15 AM
Unknown Object (File)
Nov 10 2023, 1:57 AM
Subscribers
None

Details

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.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable