diff options
-rw-r--r-- | Zotlabs/Daemon/Notifier.php | 10 | ||||
-rw-r--r-- | Zotlabs/Lib/Activity.php | 9 | ||||
-rw-r--r-- | Zotlabs/Lib/Libsync.php | 10 |
3 files changed, 19 insertions, 10 deletions
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php index f51dfab28..de8597081 100644 --- a/Zotlabs/Daemon/Notifier.php +++ b/Zotlabs/Daemon/Notifier.php @@ -79,10 +79,7 @@ class Notifier { static public $encoded_item = null; static public $channel = null; static public $private = false; - // $fragment can contain additional info to omit de-duplication in the queueworker. - // E.g. if an item is updated many times in a row from different sources (multiple vote updates) the - // update source mid or a timestamp or random string can be added. - static public $fragment = null; + static public function run($argc, $argv) { @@ -107,7 +104,6 @@ class Notifier { self::$encoded_item = null; self::$channel = null; self::$private = false; - self::$fragment = null; $sys = get_sys_channel(); $normal_mode = true; @@ -233,8 +229,6 @@ class Notifier { // Fetch the target item - self::$fragment = $argv[3] ?? ''; - $r = q("SELECT * FROM item WHERE id = %d AND parent != 0", intval($item_id) ); @@ -701,7 +695,7 @@ class Notifier { // This wastes a process if there are no delivery hooks configured, so check this before launching the new process $x = q("select * from hook where hook = 'notifier_normal'"); if ($x) { - Master::Summon(['Deliver_hooks', $target_item['id'], self::$fragment]); + Master::Summon(['Deliver_hooks', $target_item['id']]); } } diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 4a14b1ba1..1a1031909 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -2183,7 +2183,14 @@ class Activity { if ($u) { dbq("COMMIT"); - Master::Summon(['Notifier', 'wall-new', $item['id']/* , $post['mid'] trick queueworker de-duplication */ ]); + + if ($multi) { + // wait some seconds for possible multiple answers to be processed + // before calling the notifier + sleep(3); + } + + Master::Summon(['Notifier', 'wall-new', $item['id']]); return true; } diff --git a/Zotlabs/Lib/Libsync.php b/Zotlabs/Lib/Libsync.php index f844c63b5..19361c4ae 100644 --- a/Zotlabs/Lib/Libsync.php +++ b/Zotlabs/Lib/Libsync.php @@ -862,7 +862,9 @@ class Libsync { ); } - // update connection timestamp if this is the site we're talking to + // Update connection timestamp if this is the site we're talking to. + // Also mark all entries from the current site with different sitekeys + // deleted (the site has been re-installed) // This only happens when called from import_xchan $current_site = false; @@ -876,6 +878,12 @@ class Libsync { intval($r[0]['hubloc_id']), dbesc($t) ); + + q("update hubloc set hubloc_error = 1, hubloc_deleted = 1 where hubloc_url = '%s' and hubloc_sitekey != '%s'", + dbesc($r[0]['hubloc_url']), + dbesc($r[0]['hubloc_sitekey']) + ); + $current_site = true; } |