diff options
author | zotlabs <mike@macgirvin.com> | 2016-11-01 21:39:49 -0700 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2016-11-01 21:39:49 -0700 |
commit | 055d55b71b2430850f758378513e75e69fa27745 (patch) | |
tree | a79ff3ad8ae8937e89faae1700be071fc9c1e4a2 /view/js/main.js | |
parent | fa8cb40af0457ed9ad418be2ba64dc221cbaa842 (diff) | |
download | volse-hubzilla-055d55b71b2430850f758378513e75e69fa27745.tar.gz volse-hubzilla-055d55b71b2430850f758378513e75e69fa27745.tar.bz2 volse-hubzilla-055d55b71b2430850f758378513e75e69fa27745.zip |
retry liveupdate up to 10 times if we receive incomplete/truncated html data.
Diffstat (limited to 'view/js/main.js')
-rw-r--r-- | view/js/main.js | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/view/js/main.js b/view/js/main.js index 5435dfd87..6c7e90807 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -249,7 +249,7 @@ var divmore_height = 400; var last_filestorage_id = null; var mediaPlaying = false; var contentHeightDiff = 0; - +var liveRecurse = 0; $(function() { $.ajaxSetup({cache: false}); @@ -762,6 +762,27 @@ function liveUpdate() { var dstart = new Date(); console.log('LOADING data...'); $.get(update_url, function(data) { + + // on shared hosts occasionally the live update process will be killed + // leaving an incomplete HTML structure, which leads to conversations getting + // truncated and the page messed up if all the divs aren't closed. We will try + // again and give up if we can't get a valid HTML response after 10 tries. + + if((data.indexOf("<html>") != (-1)) && (data.indexOf("</html>") == (-1))) { + console.log('Incomplete data. Reloading'); + in_progress = false; + liveRecurse ++; + if(liveRecurse < 10) { + liveUpdate(); + } + else { + console.log('Incomplete data. Too many attempts. Giving up.'); + } + } + + // else data was valid - reset the recursion counter + liveRecurse = 0; + var dready = new Date(); console.log('DATA ready in: ' + (dready - dstart)/1000 + ' seconds.'); |