From ddada56753b365b97c1b84aa9fd1d8f1247bd7ac Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Fri, 20 Jun 2025 09:17:56 +0530 Subject: [PATCH] fix: Handle Instagram user consent error for first-time message recipients (#11773) Fixes https://linear.app/chatwoot/issue/CW-4510/koalafacebookclienterror-type-oauthexception-code-9010-message-9010-no --- app/services/instagram/messenger/message_text.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/services/instagram/messenger/message_text.rb b/app/services/instagram/messenger/message_text.rb index 0028a15d6..ed544263e 100644 --- a/app/services/instagram/messenger/message_text.rb +++ b/app/services/instagram/messenger/message_text.rb @@ -24,6 +24,15 @@ class Instagram::Messenger::MessageText < Instagram::BaseMessageText end def handle_client_error(error) + # Handle error code 230: User consent is required to access user profile + # This typically occurs when the connected Instagram account attempts to send a message to a user + # who has never messaged this Instagram account before. + # We can safely ignore this error as per Facebook documentation. + if error.message.include?('230') + Rails.logger.warn error + return + end + Rails.logger.warn("[FacebookUserFetchClientError]: account_id #{@inbox.account_id} inbox_id #{@inbox.id}") Rails.logger.warn("[FacebookUserFetchClientError]: #{error.message}") ChatwootExceptionTracker.new(error, account: @inbox.account).capture_exception