* feat: add store in additional_attributes to conversation model
* feat: set default mark_as_read to true in additional_attributes for conversation params
* fix: remove mark_as_read from additional_attributes in conversation
* refactor: move message read logic to mark_messages_as_read method in ConversationsController
* feat: add 'Mark messages as read' option to WhatsApp channel settings
* feat: add 'mark_as_read' option in factorie for WhatsApp channel
* feat: integrate Checkbox component for 'mark as read' option in WhatsApp settings
* fix: ensure 'mark_as_read' option is included in channel creation payload
* feat: add 'Mark as read' settings for WhatsApp inbox, including UI and state management
* chore: remove redundant content update test from IncomingMessageBaileysService spec
* feat: update 'Mark as read' label to 'Read receipts' and replace Checkbox with Switch component in WhatsApp settings
* fix: handle potential nil value for 'mark_as_read' in provider config
* feat: refactor provider config to streamline channel creation with 'mark_as_read' option
* feat: add test for MESSAGE_READ event dispatch in update_last_seen action
* fix: update subheader for 'Mark as read' setting to read receipt behavior in WhatsApp
* feat: update mark_messages_as_read behavior to handle false value in provider config
* chore: update label for 'Mark as read' option
* feat: update update_last_seen to send WhatsApp read receipt for WhatsApp channels
* test: remove MESSAGE_READ event dispatch tests in wrong file
* feat: enhance update_last_seen behavior for WhatsApp channel to conditionally dispatch messages.read event
* feat: update update_last_seen to dispatch messages.read event
* test: refactor update_last_seen tests
* chore: refactor to ensure provider_service responds to read_messages before ensure the mark_as_read provider config
* test: enhance #read_messages with provider config mark_as_read expected behaviors
* chore: clarify test names and remove useless expect
---------
Co-authored-by: gabrieljablonski <contact@gabrieljablonski.com>
* feat: baileys provider and placeholder for link device modal
* chore: drop qrcode.vue in favor of just img tag
* chore: update modal props
* feat: setup channel provider connection
* chore: update .env.example with Baileys API default configuration
* feat: add support for Baileys provider in WhatsApp events processing
* chore: rename Baileys API default host variable to DEFAULT_BAILEYS_URL
* feat: add setup and disconnect methods for Baileys channel provider in inboxes controller that will be implemented
* feat: add CHANNEL_CONNECTION_UPDATE event and include it in broadcast data preparation
* refactor: simplify channel retrieval logic in WhatsappEventsJob
* refactor: revert CHANNEL_UPDATE_EVENTS constant from ActionCableBroadcastJob
* feat: add 'baileys' as a provider option in Whatsapp channel model
* feat: add provider_connection field to Whatsapp channel model and migration
* refactor: remove unnecessary CHANNEL_CONNECTION_UPDATE event type
* feat: implement channel provider connection with baileys API
* feat: add inbox association to Whatsapp channel model and update webhook URL handling
* feat: enhance Baileys service to handle webhook multiple event types
* refactor: simplify webhook verification logic in Baileys service
* feat: add setup channel provider call, and refactor some logic
* chore: adapt logic to new API
* refactor: fix typo
* refactor: fix import
* refactor: fix typo
* chore: add fixme comment about race condition
* fix: remove double disconnect call
* feat: implement message processing for incoming WhatsApp messages
* refactor: streamline message type determination and improve readability
* chore: increase cache key granularity
provider connection info might be updated multiple times within 1 second, so updates might be lost due to cache key not being updated. changing cache key to milliseconds solves this
* feat: add `is-loading` to buttons
* feat: update send_message method to use 'to' parameter and improve error handling
* refactor: simplify test setup and update API key in specs
* chore: add setup and disconnect channel provider specs
* test: fix spec after increase cache key granularity
* feat: handle reconnecting state on modal
* style: centered error text
* feat: advanced options on create inbox
* feat: handle new reconnecting on backend
* refactor: update inbox controller specs and leave a FIXME note
* test: add specs for Whatsapp::IncomingMessageBaileysService
* feat: add baileys configuration page
* feat: link device button when disconnected on conversation
* chore: refactor .env.example
* feat: add TODO for unimplemented methods in IncomingMessageBaileysService
* fix: correct method name and update environment variable references in WhatsappBaileysService
* refactor: simplify channel lookup by removing redundant method and handling phone number check directly
* chore: add TODO for unimplemented event processing methods in IncomingMessageBaileysService
* fix: update environment variable references in WhatsappBaileysService tests
* chore(webhook): add pt-BR translations
* chore: add pt-br translations
* chore: inboxname component margin
* refactor: inboxname computed prop
* feat: enhance WhatsApp provider connection handling and message processing
* test: inbox controller
* chore: improve baileys connection and messages handling
* test: incoming message service baileys
* refactor: update provider config validation and improve test setup for WhatsApp Baileys service
* fix: ensure only text messages are sent and update message source ID
* fix: create message
* fix: only update message on success
* test: fix broken specs
* chore: raise error on unsupported message content type
* feat: hide provider connection data from non-admins
* fix: update advanced options
* chore: move class definition
* fix: issue with send_message not returning id
---------
Co-authored-by: gabrieljablonski <contact@gabrieljablonski.com>
# Pull Request Template
## Description
In pt_BR language, some strings are being mispelled, the correct word
would be "Configurações" but instead it is being showed as
"Confirgurações", which is wrong.
Fixes: https://github.com/chatwoot/chatwoot/issues/11149
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
I've compiled the new translations and I compared the problematic
strings in PT_BR to check if it was still with the "Confirgurações" word
instead of "Configurações"
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [x] My changes generate no new warnings