Commit Graph

214 Commits

Author SHA1 Message Date
Gabriel Jablonski
188119317e
chore: allow non-admin to call setup_channel_provider and add localization (#90)
* chore: allow non-admin to call `setup_channel_provider` and add localization

* feat: allow agents to setup channel provider for assigned inboxes and handle unauthorized access
2025-07-29 17:43:57 -03:00
Gabriel Jablonski
11f8aac294
feat: allow non-admin to refresh baileys connection, and automatically setup connection provider on error (#89)
* feat: allow non-admin to refresh baileys connection, and automatically setup connection provider on error

* Update app/javascript/dashboard/components/widgets/conversation/MessagesView.vue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: ignore console lint

* feat: handle disconnect errors gracefully and update tests accordingly

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-28 20:20:32 -03:00
Chatwoot Bot
0b74be82a3
chore: Update translations (#12037) 2025-07-28 17:33:49 +04:00
Chatwoot Bot
bb9e3a5495
chore: Update translations (#11962)
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-07-17 21:50:55 -07:00
gabrieljablonski
4f0b5cd595 Merge branch 'main' into chatwoot/develop 2025-07-16 09:37:08 -03:00
Chatwoot Bot
d89fa09359
chore: Update translations (#11903)
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2025-07-14 14:52:57 +05:30
Chatwoot Bot
e4ba80e2f0
chore: Update translations (#11893) 2025-07-07 14:34:25 -07:00
Chatwoot Bot
25a0c9ed91
chore: Update translations (#11724) 2025-06-17 17:13:31 -07:00
Chatwoot Bot
c8f5633d9d
chore: Update translations (#11708) 2025-06-11 18:43:15 -04:00
Chatwoot Bot
459c22054a
chore: Update translations (#11702) 2025-06-11 12:12:15 -04:00
Chatwoot Bot
9b8c8a3850
chore: Update translations (#11574) 2025-06-10 10:10:52 -04:00
Cayo P. R. Oliveira
a3effacc21
Feat: improve read receipts (#56)
* 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>
2025-06-03 23:28:15 -03:00
Gabriel Jablonski
ba14d51d23
Merge branch 'fazer-ai/main' into chore/merge-upstream 2025-05-18 11:43:18 -03:00
Chatwoot Bot
f0e8cf4ffe
chore(i18n): Update translations (#11501)
Co-authored-by: Pranav <pranavrajs@gmail.com>
2025-05-16 20:14:50 -07:00
Chatwoot Bot
142bae5fa4
chore: Update translations (#11458) 2025-05-10 19:21:34 -07:00
Cayo P. R. Oliveira
322f0d1922
feat: use message is unsupported content attribute (#44)
* refactor: simplify message_type method using a hash for message types

* refactor: streamline message handling and update unsupported message logic

* refactor: simplify create_message method by inlining sender_type and message_type assignments

* refactor: simplify message_type method for improved readability and performance

* feat: allow is_recorded_audio as boolean

* chore: refactor create message + attach media logic

* fix: unsupported message templates

---------

Co-authored-by: gabrieljablonski <contact@gabrieljablonski.com>
2025-05-09 10:52:07 -03:00
Chatwoot Bot
823c3df27f
chore: Update translations (#11432) 2025-05-08 15:45:53 -07:00
Chatwoot Bot
e08436dde5
chore: Update translations (#11425) 2025-05-07 00:34:06 -07:00
Chatwoot Bot
c8daa6c1fe
chore: Update translations (#11413)
Co-authored-by: Pranav <pranav@chatwoot.com>
2025-05-06 13:34:27 -07:00
Gabriel Jablonski
af4ca9d974
Merge branch 'fazer-ai/main' into chore/merge-upstream 2025-05-02 19:55:54 -03:00
Chatwoot Bot
55316ea0a0
chore: Update translations (#11404) 2025-05-01 16:10:29 -07:00
Chatwoot Bot
251abd02b0
chore: Update translations (#11400) 2025-04-30 15:34:11 -07:00
Cayo P. R. Oliveira
acd1e56a28 feat: baileys provider for whatsapp (#7)
* 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>
2025-04-03 23:28:38 -03:00
Petterson
157ec00994
fix(i18n): correct settings name translation in pt-BR (#11172)
# 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
2025-03-25 20:27:41 -07:00
Chatwoot Bot
3c85b79d2a
chore: Update translations (#11141)
- Update translations
2025-03-21 18:50:52 -07:00
Chatwoot Bot
41be634db0
chore: Update translations (#11117) 2025-03-20 12:00:36 -07:00
Chatwoot Bot
cc8c05834a
chore: Update translations (#11077)
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-03-19 16:48:56 -07:00
Chatwoot Bot
ba44f4fff8
chore: Update translations (#11067)
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2025-03-12 16:38:25 +05:30
Chatwoot Bot
a543cc92df
chore: Update translations (#11043)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2025-03-07 14:07:28 -08:00
Chatwoot Bot
488c334b72
chore: Update translations (#11002)
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2025-03-03 14:27:33 +05:30
Chatwoot Bot
f57c9279aa
chore: Update translations (#10997)
- Update translations
2025-02-27 20:56:42 -08:00
Chatwoot Bot
0fbb9b91b2
chore: Update translations (#10990) 2025-02-27 15:46:02 -08:00
Chatwoot Bot
4397ee7d3b
chore: Update translations, add pnpm sync:i18n command (#10893)
Added a command to sync files in the locale/*/ folder. Run `pnpm
sync:i18n` would copy index.js in `dashboard/locale/en` to every other
folder `dashboard/locale/*/`

---------

Co-authored-by: Pranav <pranavrajs@gmail.com>
2025-02-12 17:43:46 -08:00
Chatwoot Bot
1af726e05e
chore: Update translations (#10890)
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2025-02-12 09:33:19 -08:00
Chatwoot Bot
4a088e0663
chore: Update translations from Crowdin (#10686)
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Co-authored-by: Pranav <pranav@chatwoot.com>
2025-02-12 12:34:34 +05:30
Chatwoot Bot
0c01303db0
chore: Update translations (#10549)
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-01-14 22:00:56 +05:30
Willian Coqueiro
54740e3bb9
fix: Update the translation for the text used in isTyping method (#10384)
This fix consists of translating the message when another user is typing on the other side.
---
Co-authored-by: Pranav <pranavrajs@gmail.com>
Co-authored-by: Pranav <pranav@chatwoot.com>
2024-11-04 20:04:08 -08:00
Shivam Mishra
2a832f8ed5
fix: parsing of @ in i18n values (#10334)
Vue i18n has a new [linked message
syntax.](https://vue-i18n.intlify.dev/guide/essentials/syntax.html#linked-messages)
When it encounters `@` it assumes that we're trying to use a linked
message. And tries to parse it as such, in any case, it breaks since the
syntax is not valid and the params are not present. So it causes an
error. This works on dev but on production the error is bubbled up to
the top and rendering breaks.

A lot of folks use Chatwoot with default locale set in the env, this
surfaced the issue for the languages for which the syntax was not
updated

Fixes: https://github.com/chatwoot/chatwoot/issues/10313
2024-10-22 15:43:01 +05:30
Shivam Mishra
a8c12ffb25
chore: update interpolation syntax for i18n files (#10198)
There were two warnings showing up on new teams page

1. `errorMessage` prop was getting invalid value, this was because were
short circuting the error message using `&&`, fixed it by using ternary
operator
2. `vue-i18n` has deprecated [rails
syntax](https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format),
fixed that warning by removing `%` before `{}` for interpolation

> Note: the `vue-i18n` deprecation needs to be handled, but we can do it
later
2024-10-07 11:12:40 -07:00
Chatwoot Bot
f0d00b6965
chore: Update translations (#10124)
- update translations
2024-09-19 16:30:30 -07:00
Chatwoot Bot
a92d7fd7d5
chore: Update translations (#9976) 2024-08-20 20:13:09 +05:30
Chatwoot Bot
bb78639696
chore: Update translations (#9946) 2024-08-16 14:06:32 +05:30
Chatwoot Bot
066f0b990a
chore: Update translations (#9841)
- update translations
2024-07-26 14:53:52 -07:00
Chatwoot Bot
027a540bbd
chore: Update translations from Crowdin (#9835) 2024-07-25 11:58:22 -07:00
Chatwoot Bot
b0b4668d23
chore: Update translations (#9439)
- update translations from crowdin
2024-05-15 21:52:30 -07:00
Chatwoot Bot
94e1d55543
chore(i18n): Update the latest translations (#9340) 2024-05-02 08:18:17 -07:00
Chatwoot Bot
f71f43e54a
chore: Update translations (#9236)
- update translations 

------------------
Co-authored-by: Sojan <sojan@pepalo.com>
2024-04-15 18:49:04 -07:00
Chatwoot Bot
56bf543f7e
chore: Update translations (#9052) 2024-03-06 23:30:32 +05:30
Chatwoot Bot
a5e9cd94e1
chore: Update translations (#8983) 2024-02-21 16:01:14 -08:00
Chatwoot Bot
e467d15f2c
chore: Update translations (#8544)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2024-01-16 13:49:38 +04:00
Gabriel Quina
4cb981d81b
fix: Semantics across portuguese translations (#8291) 2023-11-08 10:42:57 +05:30
Emanuel
b579ff832e
chore: Update the case in the translation files (#8298) 2023-11-06 08:01:54 -08:00
Chatwoot Bot
483d55df91
chore: Update translations (#8161) 2023-10-25 19:20:30 -07:00
Chatwoot Bot
3b0788c3be
chore: Update translations (#8024)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-10-16 19:55:25 -07:00
Chatwoot Bot
e8b7e791a5
chore: Update translations (#7969) 2023-09-27 12:47:03 +05:30
Chatwoot Bot
fcd40e9636
chore: Update translations (#7887)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-09-12 18:09:47 -07:00
Pranav Raj S
5f2a720920
chore: Update translations (#7766) 2023-08-24 13:26:39 +05:30
Pranav Raj S
4101a7b566
chore: Update translations from Crowdin (#7750) 2023-08-18 12:48:50 -07:00
Pranav Raj S
8015490aba
chore: Update translations (#7731) 2023-08-16 11:18:14 -07:00
Pranav Raj S
310c127693
chore: Update translations (#7728) 2023-08-15 13:47:38 -07:00
Pranav Raj S
ad03be4529
fix: Update the index files to fix missing translations (#7484) 2023-07-07 20:11:34 -07:00
Chatwoot Bot
3c4514c9f7
chore: Update translations (#7415)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-07-04 14:23:56 +05:30
Chatwoot Bot
54bf33083e
chore: Update translations (#7372)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-06-23 16:01:14 +05:30
Chatwoot Bot
c410fe333a
chore: Update translations (#7347)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-06-19 17:27:43 +05:30
Chatwoot Bot
3dedfee350
chore: Update translations (#7033)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-05-06 15:10:50 +05:30
Chatwoot Bot
be3c75e858
chore: Update translations (#6999)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-04-28 20:28:03 +05:30
Chatwoot Bot
3a35281b3f
chore: Update translations (#6941)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-04-21 15:28:56 +05:30
Chatwoot Bot
9090eabb8a
chore: Update translations (#6895)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-04-17 14:45:49 +05:30
Chatwoot Bot
040e9a732f
chore: Update translations (#6854)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-04-07 16:05:33 +05:30
Chatwoot Bot
44e4eee28b
chore: Update translations (#6806)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-04-02 13:24:13 +05:30
Chatwoot Bot
7de89b6f9b
chore: Update translations (#6751)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-03-27 14:45:50 +05:30
Chatwoot Bot
7331154f04
chore: Update translations
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-03-15 15:23:38 +05:30
Chatwoot Bot
5214be67c7
chore: Update translations
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-03-08 14:00:00 +05:30
Chatwoot Bot
40e81c63ad
chore: New Crowdin updates (#6566)
- Pulling the latest translation updates from Crowdin.

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2023-03-01 14:35:04 +05:30
Sivin Varghese
9bd47588fc
bug: Fixes i18n is not working on the help center dashboard (#6562) 2023-02-28 16:12:08 +05:30
Chatwoot Bot
04f30e3033
chore: Update translations (#6534) 2023-02-27 18:15:34 -08:00
Chatwoot Bot
c12bdc8350
chore: Update translations (#6449) 2023-02-15 20:42:45 -08:00
Chatwoot Bot
ff9cadc9a0
chore: Update translations from Crowdin (#6283) 2023-02-13 13:34:53 -08:00
brunosfg
0a2d3130e0
Wrong Translation (#6384)
The "open action" translation would be "Abrir" (verb) instead of "Abertas" (which is the adjective).
2023-02-06 13:20:59 +05:30
Chatwoot Bot
032699930c
chore: Update translations from Crowdin (#6240) 2023-01-16 16:07:00 -08:00
Sojan Jose
28c8023bad
chore: Update translations (#6211) 2023-01-09 21:23:11 -08:00
Sojan Jose
ab87f9d6c0
chore: Update translations (#6159) 2023-01-01 21:40:15 -08:00
Sojan Jose
cf48610f2f chore: Update translations (#6152) 2022-12-30 13:54:37 -08:00
Sojan Jose
78251f54c9 chore: Update translations (#6113) 2022-12-30 13:54:37 -08:00
Sojan Jose
ca88eb55f4
chore: Update translations from Crowdin 2022-12-19 22:34:49 +05:30
Sojan Jose
72fcaa739c
chore: Update translations from Crowdin 2022-12-15 14:11:15 +05:30
Sojan Jose
06434bc655
chore: Update translations from Crowdin (#5952) 2022-12-05 16:04:49 -08:00
Sojan Jose
b5f8524167
chore: Update translations from Crowdin (#5883) 2022-11-22 11:42:29 -08:00
Sojan Jose
8e2da837d4
chore: Update translations from Crowdin 2022-11-16 00:37:29 +00:00
Sojan Jose
3184c8964d
chore: Update translations from Crowdin (#5831) 2022-11-09 20:26:30 -08:00
Sojan Jose
2e42821c48
chore: Update translations from Crowdin (#5810) 2022-11-08 09:36:24 -08:00
Sojan Jose
199f462af4
chore: Update translations from Crowdin (#5663) 2022-10-19 13:27:10 -07:00
Sojan Jose
db53af91e7
chore (#5636)
* New translations conversation.json (Latvian)

* New translations bulkActions.json (Portuguese, Brazilian)

* New translations agentMgmt.json (Latvian)

* New translations teamsSettings.json (Latvian)

* New translations contactFilters.json (Latvian)

* New translations automation.json (Latvian)

* New translations attributesMgmt.json (Latvian)

* New translations labelsMgmt.json (Latvian)

* New translations settings.json (Latvian)

* New translations integrations.json (Latvian)

* New translations inboxMgmt.json (Latvian)

* New translations generalSettings.json (Latvian)

* New translations contact.json (Latvian)

* New translations helpCenter.json (Latvian)
2022-10-14 12:46:41 -07:00
Sojan Jose
779f815f8e
chore: Update translations (#5566) 2022-10-07 09:08:18 -07:00
Sojan Jose
c76aed6d5e
chore: Update translations from Crowdin (#5546) 2022-10-04 18:14:35 -07:00
Sojan Jose
74e03f9beb
chore: Update translations from Crowdin (#5523) 2022-09-28 21:59:41 -07:00
Pranav Raj S
1761100c77
chore: Remove static URLs from the documentation (#5461) 2022-09-19 21:52:01 -07:00
Sojan Jose
f33ff351cf
chore: New Translation updates (#5287) 2022-08-19 13:55:23 +05:30
Sojan Jose
fc8c7a7107
chore: New Translation updates (#5235) 2022-08-16 17:06:21 +05:30
Sojan Jose
a89a280a94
chore: Update translations from Crowdin (#5202) 2022-08-08 21:14:50 +05:30