diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/components/WhatsappBaileysLinkDeviceModal.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/components/WhatsappBaileysLinkDeviceModal.vue index 29bab95e8..a9b5bfd25 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/components/WhatsappBaileysLinkDeviceModal.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/components/WhatsappBaileysLinkDeviceModal.vue @@ -48,7 +48,10 @@ onMounted(() => { } }); onUnmounted(() => { - if (connection.value === 'connecting') { + if ( + connection.value === 'connecting' || + connection.value === 'reconnecting' + ) { disconnect(); } }); diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/settingsPage/ConfigurationPage.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/settingsPage/ConfigurationPage.vue index 96987b2a7..17903c88f 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/settingsPage/ConfigurationPage.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/settingsPage/ConfigurationPage.vue @@ -61,6 +61,7 @@ export default { methods: { setDefaults() { this.hmacMandatory = this.inbox.hmac_mandatory || false; + this.whatsAppProviderUrl = this.inbox.provider_config?.provider_url ?? ''; this.markAsRead = this.inbox.provider_config.mark_as_read ?? true; }, handleHmacFlag() { diff --git a/app/models/channel/whatsapp.rb b/app/models/channel/whatsapp.rb index 53bdccdd1..7107add1f 100644 --- a/app/models/channel/whatsapp.rb +++ b/app/models/channel/whatsapp.rb @@ -107,8 +107,13 @@ class Channel::Whatsapp < ApplicationRecord provider_service.unread_message(conversation.contact.phone_number, last_message) if last_message end + def disconnect_channel_provider + provider_service.disconnect_channel_provider + ensure + update_provider_connection!(connection: 'close') + end + delegate :setup_channel_provider, to: :provider_service - delegate :disconnect_channel_provider, to: :provider_service delegate :send_message, to: :provider_service delegate :send_template, to: :provider_service delegate :sync_templates, to: :provider_service diff --git a/app/services/whatsapp/providers/whatsapp_baileys_service.rb b/app/services/whatsapp/providers/whatsapp_baileys_service.rb index 1dea14a54..1826d68b1 100644 --- a/app/services/whatsapp/providers/whatsapp_baileys_service.rb +++ b/app/services/whatsapp/providers/whatsapp_baileys_service.rb @@ -18,7 +18,7 @@ class Whatsapp::Providers::WhatsappBaileysService < Whatsapp::Providers::BaseSer webhookVerifyToken: whatsapp_channel.provider_config['webhook_verify_token'], # TODO: Remove on Baileys v2, default will be false includeMedia: false - }.compact.to_json + }.compact_blank.to_json ) process_response(response)