Should remember the diff sequence when leaving and re-entering history view for the same page. Saves client and server and network. Clear when loading for a different page. Load any diffs since the past diff when re-entering.
Then can remember what diff you were on, so when re-entering, jump to the remembered location in time. This should make it more convenient to jump back and forth between past and present.
Might also want to limit the number of returned diffs at once, and require client to do a bunch of fetches, to limit the cost of each method call.
Should also compute reverse diffs when applying a diff (like we do for undo stack -- maybe we can even use that data structure?). Then we can scrub backwards as quickly as we can forwards.