diff --git a/lib/MatterbridgeManager.php b/lib/MatterbridgeManager.php index bb319e60e42..2c3e8d2c379 100644 --- a/lib/MatterbridgeManager.php +++ b/lib/MatterbridgeManager.php @@ -133,6 +133,11 @@ public function getBridgeLog(Room $room): string { */ public function editBridgeOfRoom(Room $room, bool $enabled, array $parts = []): array { $currentBridge = $this->getBridgeOfRoom($room); + // kill matterbridge if we edit a running bridge config file so that it will be launched again + // matterbridge dynamic config reload does not fully work + if ($currentBridge['enabled'] && $enabled && $currentBridge['pid'] && $currentBridge['pid'] !== 0) { + $this->killPid($currentBridge['pid']); + } $newBridge = [ 'enabled' => $enabled, 'pid' => isset($currentBridge['pid']) ? $currentBridge['pid'] : 0,