Skip to content

Don't refresh the rankings page when a selector is changed. Closes #1870

Sean Stangl requested to merge norefresh into master

This patch teaches JS to handle selector changes purely through AJAX calls, instead of reaching out to the server for a completely new HTML base.

The implementation works by allowing a second RemoteCache to exist in the background. Changing the selectors makes that second RemoteCache, which triggers a new AJAX request to the new endpoint URL. When the request completes, the new RemoteCache gets swapped in, and the old RemoteCache gets garbage-collected.

Selection state is saved with the Web History API, allowing forward/backward navigation that does nothing but kick off more AJAX calls.

Merge request reports