(function() {
+/**
+ * Version of this script. If the server returns a version larger than
+ * this, it is a sign we should reload to upgrade ourselves.
+ *
+ * @type {Number}
+ * @const
+ * @private */
+var SCRIPT_VERSION = 2015062103;
+
/** @type {window.ChessBoard} @private */
var board = null;
} else {
new_data = data;
}
+
+ var minimum_version = xhr.getResponseHeader('X-RGMV');
+ if (minimum_version && minimum_version > SCRIPT_VERSION) {
+ // Upgrade to latest version with a force-reload.
+ location.reload(true);
+ }
+
possibly_play_sound(current_analysis_data, new_data);
current_analysis_data = new_data;
update_board(current_analysis_data, displayed_analysis_data);
// Constants.
var JSON_FILENAME = '/srv/analysis.sesse.net/www/analysis.json';
var HISTORY_TO_KEEP = 5;
+var MINIMUM_VERSION = null;
// If set to 1, we are already processing a JSON update and should not
// start a new one. If set to 2, we are _also_ having one in the queue.
'Vary': 'Accept-Encoding',
};
+ if (MINIMUM_VERSION) {
+ headers['X-RGMV'] = MINIMUM_VERSION;
+ }
+
if (accept_gzip) {
headers['Content-Length'] = this_json.gzip.length;
headers['Content-Encoding'] = 'gzip';