X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=server%2Fserve-analysis.js;h=de884a3439f68ade5b11b4a16255cb07bd9895ab;hp=ce1f89d5ca5bf65ae4f2db26ca4a560822831293;hb=93c084f827a5783b20a3b3349463187c6d342810;hpb=bfb31cc6182daab7087e2922fde47c3441e3eb65 diff --git a/server/serve-analysis.js b/server/serve-analysis.js index ce1f89d..de884a3 100644 --- a/server/serve-analysis.js +++ b/server/serve-analysis.js @@ -93,8 +93,19 @@ var replace_json = function(new_json_contents, mtime) { } } + var parsed = JSON.parse(new_json_contents); + + if (parsed['internal']) { + if (parsed['internal']['grpc_backends'] && + hash_lookup.need_reinit(parsed['internal']['grpc_backends'])) { + hash_lookup.init(parsed['internal']['grpc_backends']); + } + delete parsed['internal']; + new_json_contents = JSON.stringify(parsed); + } + var new_json = { - parsed: JSON.parse(new_json_contents), + parsed: parsed, plain: new_json_contents, last_modified: mtime }; @@ -121,7 +132,7 @@ var create_json_historic_diff = function(new_json, history_left, new_diff_json, } var histobj = history_left.shift(); - var diff = delta.JSON_delta.diff(histobj.parsed, new_json.parsed); + var diff = delta.JSON_delta.diff(histobj.parsed, new_json.parsed, false); var diff_text = JSON.stringify(diff); zlib.gzip(diff_text, function(err, buffer) { if (err) throw err; @@ -145,7 +156,7 @@ var reread_file = function(event, filename) { if (json_lock == 1) { // Already processing; wait a bit. json_lock = 2; - setTimeout(function() { json_lock = 1; reread_file(event, filename); }, 100); + setTimeout(function() { if (json_lock == 2) json_lock = 1; reread_file(event, filename); }, 100); return; } json_lock = 1;