aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2021-10-03 18:52:14 +0200
committerMario Vavti <mario@mariovavti.com>2021-10-03 18:52:14 +0200
commit4ba70a3fae5722273d17c519d5ad3f270e781f53 (patch)
tree792e3f4f5f485535b19388ed0450401e01776653
parent0722188ea6d6c1eb30500a540c49adf0b5d25eb8 (diff)
downloadvolse-hubzilla-4ba70a3fae5722273d17c519d5ad3f270e781f53.tar.gz
volse-hubzilla-4ba70a3fae5722273d17c519d5ad3f270e781f53.tar.bz2
volse-hubzilla-4ba70a3fae5722273d17c519d5ad3f270e781f53.zip
clone channel delete issues - part 1
-rw-r--r--Zotlabs/Daemon/Directory.php7
-rw-r--r--Zotlabs/Daemon/Notifier.php11
-rw-r--r--Zotlabs/Lib/Queue.php2
3 files changed, 12 insertions, 8 deletions
diff --git a/Zotlabs/Daemon/Directory.php b/Zotlabs/Daemon/Directory.php
index 35d184206..3996b8079 100644
--- a/Zotlabs/Daemon/Directory.php
+++ b/Zotlabs/Daemon/Directory.php
@@ -49,8 +49,9 @@ class Directory {
);
// Now update all the connections
- if ($pushall)
+ if ($pushall) {
Master::Summon(array('Notifier', 'refresh_all', $channel['channel_id']));
+ }
return;
}
@@ -93,8 +94,8 @@ class Directory {
}
// Now update all the connections
- if ($pushall)
+ if ($pushall) {
Master::Summon(array('Notifier', 'refresh_all', $channel['channel_id']));
-
+ }
}
}
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php
index 64f192bb2..cdb54d37e 100644
--- a/Zotlabs/Daemon/Notifier.php
+++ b/Zotlabs/Daemon/Notifier.php
@@ -95,7 +95,6 @@ class Notifier {
return;
}
-
self::$deliveries = [];
self::$recipients = [];
self::$env_recips = [];
@@ -180,6 +179,11 @@ class Notifier {
self::$recipients[] = $rr['abook_xchan'];
}
}
+
+ // In case we deleted the channel, our abook entry has already vanished.
+ // In order to be able to update our clones we need to add ourself here.
+ self::$recipients[] = self::$channel['channel_hash'];
+
self::$private = false;
self::$packet_type = 'refresh';
}
@@ -190,14 +194,14 @@ class Notifier {
return;
}
- self::$channel = channelx_by_n($item_id);
+ self::$channel = channelx_by_n($item_id, true);
self::$recipients = [$xchan];
self::$private = true;
self::$packet_type = 'purge';
}
elseif ($cmd === 'purge_all') {
logger('notifier: purge_all: ' . $item_id);
- self::$channel = channelx_by_n($item_id);
+ self::$channel = channelx_by_n($item_id, true);
self::$recipients = [];
self::$private = false;
self::$packet_type = 'purge';
@@ -443,7 +447,6 @@ class Notifier {
}
}
-
$narr = [
'channel' => self::$channel,
'upstream' => $upstream,
diff --git a/Zotlabs/Lib/Queue.php b/Zotlabs/Lib/Queue.php
index 35eb1e264..e03816f05 100644
--- a/Zotlabs/Lib/Queue.php
+++ b/Zotlabs/Lib/Queue.php
@@ -195,7 +195,7 @@ class Queue {
$channel = null;
if($outq['outq_channel']) {
- $channel = channelx_by_n($outq['outq_channel']);
+ $channel = channelx_by_n($outq['outq_channel'], true);
}
$host_crypto = null;