]> git.mxchange.org Git - friendica.git/commitdiff
Improve performance of asynchronous like/update
authorHypolite Petovan <hypolite@mrpetovan.com>
Wed, 27 May 2020 12:30:26 +0000 (08:30 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Wed, 27 May 2020 12:41:10 +0000 (08:41 -0400)
- Make the like module return earlier instead of outputting a full empty HTML page
- Update the force_update variable earlier to prevent spilling on multiple unrelated nav update calls

src/Module/Like.php
view/js/main.js

index c926012f18d7687c60fc21e07888dd9953bf3641..ca382475082c6871bcb4305e3e62a00020d07cdf 100644 (file)
@@ -22,6 +22,7 @@
 namespace Friendica\Module;
 
 use Friendica\BaseModule;
+use Friendica\Core\System;
 use Friendica\DI;
 use Friendica\Model\Item;
 use Friendica\Core\Session;
@@ -68,5 +69,7 @@ class Like extends BaseModule
 
                        DI::baseUrl()->redirect($returnPath . $rand);
                }
+
+               System::jsonExit(['status' => 'OK']);
        }
 }
index 86131539871b8e4848abbaa3726c8dbe30d2cf71..af2f8522c8e76341b360447b3b3688480a631225 100644 (file)
@@ -594,15 +594,17 @@ function liveUpdate(src) {
 
        in_progress = true;
 
-       if ($(document).scrollTop() == 0) {
-               force_update = true;
-       }
+       let force = force_update || $(document).scrollTop() === 0;
 
        var orgHeight = $("section").height();
 
        var udargs = ((netargs.length) ? '/' + netargs : '');
 
-       var update_url = 'update_' + src + udargs + '&p=' + profile_uid + '&force=' + ((force_update) ? 1 : 0) + '&item=' + update_item;
+       var update_url = 'update_' + src + udargs + '&p=' + profile_uid + '&force=' + (force ? 1 : 0) + '&item=' + update_item;
+
+       if (force_update) {
+               force_update = false;
+       }
 
        if (getUrlParameter('page')) {
                update_url += '&page=' + getUrlParameter('page');
@@ -614,9 +616,8 @@ function liveUpdate(src) {
                update_url += '&max_id=' + getUrlParameter('max_id');
        }
 
-       $.get(update_url,function(data) {
+       $.get(update_url, function(data) {
                in_progress = false;
-               force_update = false;
                update_item = 0;
 
                $('.wall-item-body', data).imagesLoaded(function() {