Chore: Provide fixed attachment URLs for Channels (#4507)

Prior to this change, The attachment URL sent from Chatwoot to 3rd party integrations like Whatsapp and Facebook
involved a 301 redirect before the original content is served. This causes intermittent breakages for the sent attachments.

fixes: #3632
ref: https://blog.saeloun.com/2021/09/14/rails-7-adds-expiring-urls-to-active-storage.html
This commit is contained in:
Sojan Jose
2022-04-20 22:42:13 +05:30
committed by GitHub
parent 2b2252b66e
commit 2c73df4292
11 changed files with 29 additions and 11 deletions

View File

@@ -57,6 +57,7 @@ describe Facebook::SendOnFacebookService do
attachment = message.attachments.new(account_id: message.account_id, file_type: :image)
attachment.file.attach(io: File.open(Rails.root.join('spec/assets/avatar.png')), filename: 'avatar.png', content_type: 'image/png')
message.save!
allow(attachment).to receive(:download_url).and_return('url1')
::Facebook::SendOnFacebookService.new(message: message).perform
expect(bot).to have_received(:deliver).with({
recipient: { id: contact_inbox.source_id },
@@ -70,7 +71,7 @@ describe Facebook::SendOnFacebookService do
attachment: {
type: 'image',
payload: {
url: attachment.file_url
url: 'url1'
}
}
},