From 1debfab5ec064331a76298b46d95d46531d12812 Mon Sep 17 00:00:00 2001 From: gabrieljablonski Date: Wed, 20 Aug 2025 12:34:46 -0300 Subject: [PATCH] fix: double callback destroy --- app/models/channel/whatsapp.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/models/channel/whatsapp.rb b/app/models/channel/whatsapp.rb index b855eb7cd..7ce8fd908 100644 --- a/app/models/channel/whatsapp.rb +++ b/app/models/channel/whatsapp.rb @@ -160,6 +160,11 @@ class Channel::Whatsapp < ApplicationRecord end def teardown_webhooks + # NOTE: Guard against double execution during destruction due to the + # `has_one :inbox, dependent: :destroy` relationship which will trigger this callback circularly + return if @webhook_teardown_initiated + + @webhook_teardown_initiated = true Whatsapp::WebhookTeardownService.new(self).perform end end