Commit Graph

5719 Commits

Author SHA1 Message Date
Sivin Varghese
b683973e79
fix: Resolve styling issues in multiselect (#11728) 2025-06-19 21:28:12 +05:30
Sivin Varghese
2cfca6008b
fix: Incorrect conversation count shown for filters/folders after idle period (#11770) 2025-06-19 14:05:18 +05:30
Baptiste Fontaine
d2f5311400
fix: Disable custom context menu on img tags (#11762)
# Pull Request Template

## Description

Fixes #11761. See the issue for the details.

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality not to work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

I deployed a modified version of Chatwoot with this patch and tested.

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [x] I have commented on my code, particularly in hard-to-understand
areas
- [x] I have made corresponding changes to the documentation (not
applicable)
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works (not sure how to do this)
- [x] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-06-18 14:51:23 -07:00
Shivam Mishra
f6dbbf0d90
refactor: use state-based authentication (#11690)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2025-06-18 17:39:06 +05:30
Sojan
768fa9ab1b Merge branch 'release/4.3.0' into develop 2025-06-17 17:29:35 -07:00
Sojan
89bcef4623 Bump version to 4.3.0 2025-06-17 17:28:31 -07:00
Chatwoot Bot
25a0c9ed91
chore: Update translations (#11724) 2025-06-17 17:13:31 -07:00
Pranav
dc77b5bb2b
feat: Enable audio transcriptions for self hosted instances (#11755)
- Enable audio transcriptions feature for self hosted instances
2025-06-17 16:54:43 -07:00
Muhsin Keloth
5487d4c615
fix: Include private channels in Slack integration pagination (#11751)
Fixes
https://linear.app/chatwoot/issue/CW-4507/slack-integration-not-showing-private-channels
  ## Problem

When the Slack workspace has many channels (requiring multiple API
requests to fetch all of them), our system was only looking for private
channels in the first batch of results. All subsequent batches were
missing the instruction to include private channels, so they only
returned public channels.

  ## Root Cause
- Initial API call correctly specified `types:
'public_channel,private_channel'`
- Pagination loop only passed `cursor` parameter, omitting `types` and
`exclude_archived`
  - Subsequent pages defaulted to public channels only

  ## Changes
- Fixed parameter formatting in `types` (removed space:
`'public_channel, private_channel'` →
`'public_channel,private_channel'`)
- Added missing `types` and `exclude_archived` parameters to paginated
`conversations_list` calls

---------

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2025-06-17 16:44:56 -07:00
Sojan Jose
b4b2b0bdc2
feat: Hide installation identifier (#11722)
<img width="1779" alt="Screenshot 2025-06-12 at 7 21 59 PM"
src="https://github.com/user-attachments/assets/a4c54d7f-4f5f-4d72-a81b-be4d88066549"
/>




## Summary
- Hides installation identifier by default so that users don't
accidentally expose it in screenshots.
2025-06-17 15:45:40 -07:00
Sojan Jose
16dbcabaac
feat: Enable super admin deletion of agent bots (#11748)
## Summary
- Allow super admins to remove agent bots
2025-06-17 15:41:29 -07:00
Cayo P. R. Oliveira
6a5c0b515d
fix: send receipt to received messages (#70)
* feat: add received messages handling in WhatsApp services

* feat: ensure received messages are processed in the conversation

* tests: add received messages specs

* tests: add spec for call provider received_messages after save incoming message

* test: add spec to prevent calling received_messages for outgoing messages

* feat: add received_messages to error handling methods

* test: add spec for sending received messages request in WhatsappBaileysService

* fix: update fromMe flag in WhatsappBaileysService

* test: add spec to verify received_messages is not called for protocol messages

* test: improve received_messages stub

---------

Co-authored-by: gabrieljablonski <contact@gabrieljablonski.com>
2025-06-17 11:05:28 -03:00
ruslan
b87b7972c1
feat(channel): add support for Telegram Business bots (#10181) (#11663)
Added support for Telegram Business bots. Telegram webhooks from such bots include the business_message field, which we transform into a standard message for Chatwoot. This PR also modifies how we handle replies, attachments, and image uploads when working with Telegram Business bots.

demo: https://drive.google.com/file/d/1Yz82wXBVRtb-mxjXogkUju4hlJbt3qyh/view?usp=sharing&t=4

Fixes #10181
2025-06-16 20:35:23 -07:00
Gabriel Jablonski
a355b53464
fix: remove cache from some baileys helpers (#69)
* fix: remove cache from some baileys helpers

* test: add spec
2025-06-16 18:02:29 -03:00
Sivin Varghese
149dab239a
chore: Prevent count flicker on loading more conversations (#11726) 2025-06-16 15:38:27 +05:30
Muhsin Keloth
f4381e3b5d
feat: Add activity messages for linear actions (#11654) 2025-06-13 11:57:11 +05:30
gabrieljablonski
0b09542d33 chore: fix post start on coolify compose 2025-06-12 23:24:43 -03:00
Gabriel Jablonski
c350ba15ec
feat: custom branding (#68)
* feat: add custom branding support with environment variables and asset extraction

* chore: wrap brand assets url in quotes
2025-06-12 22:11:19 -03:00
Sivin Varghese
58380c6d01
fix: Hide Copilot launcher on inbox view message screen (#11723)
# Pull Request Template

## Description

This PR will hide Copilot launcher button on inbox view message screen.

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

### Screenshots

**Before**
<img width="1425" alt="image"
src="https://github.com/user-attachments/assets/319a010c-d6e0-4ac0-b52f-7a4263e62e7f"
/>

**After**
<img width="1442" alt="image"
src="https://github.com/user-attachments/assets/73ed796e-97ab-4d34-bf65-43a439d7e66b"
/>
<img width="1442" alt="image"
src="https://github.com/user-attachments/assets/98043441-7c8a-492a-abc3-330856d44c19"
/>



## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
2025-06-12 17:29:28 -04:00
Gabriel Jablonski
3cd273d2d0
chore: fix issues with specs and provider disconnect (#67)
* chore: fix issues with specs and provider disconnect

* test: add expects
2025-06-12 12:14:54 -03:00
Sivin Varghese
e54e80a936
fix: Display "To" in email meta header on outgoing messages (#11717) 2025-06-12 18:01:12 +05:30
Shivam Mishra
ac3bce3932
fix: missing metrics and labels from label summary (#11718) 2025-06-12 17:58:56 +05:30
Sivin Varghese
6baca40597
chore: Display divider only when multiple portals are available (#11709) 2025-06-12 17:01:41 +05:30
Sivin Varghese
f28bb70d67
fix: Prevent count flicker on loading more conversations (#11706) 2025-06-12 14:38:45 +05:30
Sojan Jose
288df3a399
fix: Flaky Instagram unsend message test (#11712)
- Use direct message object reference instead of re-querying through
inbox
- Add message.reload after unsend operation to get updated state
- Remove unnecessary inbox reload that could cause timing issues
- Remove redundant assertions for better test atomicity

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2025-06-12 02:05:34 -04:00
João Gabriel Franco
d52f4267ba
feat: Add i18n on whatsapp list button (#10852)
Fixes #10862

---------

Co-authored-by: Pranav <pranav@chatwoot.com>
2025-06-11 22:19:36 -04:00
Alex808r
0d05a07aa7
fix: Prevent display_name reset when updating password (#10374)
Fixes #10372

---------
Co-authored-by: Pranav <pranavrajs@gmail.com>
2025-06-11 19:05:30 -04:00
Chatwoot Bot
c8f5633d9d
chore: Update translations (#11708) 2025-06-11 18:43:15 -04:00
Sivin Varghese
bf3b1676dd
fix: Broken header in public Help Center portal (#11704)
Fixes https://linear.app/chatwoot/issue/CW-4473/broken-header-in-help-center-portal
2025-06-11 15:07:24 -04:00
Muhsin Keloth
f627dbe42d
feat: hide CSAT survey URLs from agents in dashboard (#11622) 2025-06-11 23:39:47 +05:30
jaedson-correia
5745a55db5
fix: Prevent duplicate API calls for contact details when switching conversations (#9268)
Fixes #9263 
Co-authored-by: Pranav <pranavrajs@gmail.com>
2025-06-11 13:27:19 -04:00
Michael Choi
68bfbc7eb0
feat: Add liquid processing for SMS campaigns (#10981)
Liquid template processing for SMS campaigns
fixes: https://github.com/chatwoot/chatwoot/issues/10980

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2025-06-11 13:16:44 -04:00
Muhsin Keloth
7a67799f35
fix: Send CSAT survey only when agent can reply in conversation (#11637) 2025-06-11 22:45:32 +05:30
Chatwoot Bot
459c22054a
chore: Update translations (#11702) 2025-06-11 12:12:15 -04:00
Shivam Mishra
35f06f30e7
feat: label reports overview (#11194)
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2025-06-11 14:35:46 +05:30
Gabriel Jablonski
b7a316fafa
fix: reconnecting deadlock (#66)
* fix: fill whatsapp provider url with value from inbox provider config

* chore: compact blank on setup channel provider

* fix: deadlock on `reconnecting` state
2025-06-11 00:21:19 -03:00
Uchkun Rakhimov
c0d9533b3a
feat: add support for telegram circular video messages (#11504)
This PR adds support for handling Telegram's video_note messages (circular video messages), which are commonly used for short voice-style video replies in messaging.

Fixes: #11503

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2025-06-10 17:31:28 -04:00
Muhsin Keloth
4303007786
feat: Enhance Linear integration UX with multi-issue support and improved placement (#11668)
Fixes
https://linear.app/chatwoot/issue/CW-4150/support-for-multiple-issues-linking-in-linear

This PR significantly improves the Linear integration user experience by
relocating the Linear integration from the conversation header to the
contact panel and adding support for multiple issue linking per
conversation.

  ### Key Changes

- **Relocated Linear integration**: Moved from conversation header to
contact panel for better organization and accessibility
- **Multi-issue support**: Added ability to link/create multiple Linear
issues for a single conversation
- **Integration CTA**: Added a dedicated call-to-action section for
users who haven't connected their Linear account yet
  - **UI/UX improvements**: Enhanced design consistency and user flow




<details>
<summary>Screenshots</summary>

  #### Multiple Issues Support


![link-multiple-issues](https://github.com/user-attachments/assets/b56cfa7d-6f98-42db-b4bb-361ae59d0eae)

  #### Integration CTA


![link-multiple-issues](https://github.com/user-attachments/assets/a895fcbe-780a-47f8-9fa4-3a2af8b243e1)

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
Co-authored-by: Pranav <pranav@chatwoot.com>
Co-authored-by: Pranav <pranavrajs@gmail.com>
2025-06-10 15:40:02 -04:00
Pranav
4a83e70158
fix: Avoid throwing 406 for non-json requests (#11701)
Users get confused between app routes and API routes. Instead of hitting
/api, they append /app in the API call, which ends up calling the
dashboard controller and throws an error. To fix this, we added a check
to throw a 406 Not Acceptable for non-HTML requests. But Meta requires
Accept: \*/\* to return 200 for the integration to be accepted.

This change will only throw an error for JSON requests.

Fixes #11697
Fixes https://github.com/chatwoot/chatwoot/issues/11251
Fixes https://github.com/chatwoot/chatwoot/issues/11205
2025-06-10 15:12:32 -04:00
Sivin Varghese
53e2585275
feat: Show conversation count for filters/folders in header (#11698)
# Pull Request Template

## Description

Fixes
https://linear.app/chatwoot/issue/CW-4467/show-the-conversation-count-at-the-top-for-filters-and-folders

## Type of change

- [x] New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

### Screenshots
<img width="637" alt="image"
src="https://github.com/user-attachments/assets/8c167130-f41a-45ce-a70e-bba99d74050f"
/>
<img width="637" alt="image"
src="https://github.com/user-attachments/assets/769bc488-e4d9-40fb-9760-62434761617b"
/>




## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
2025-06-10 13:59:25 -04:00
Chatwoot Bot
9b8c8a3850
chore: Update translations (#11574) 2025-06-10 10:10:52 -04:00
Sojan Jose
07d3b92b12
feat: Add development variant toggle rake task (#11696) 2025-06-10 09:47:59 -04:00
mix5003
c710cbe370
feat: Add message support for input_select type in Facebook (#11627) 2025-06-10 16:15:11 +05:30
mix5003
cf1d0de294
feat: Add message support for input_select type in LINE (#11628)
# Pull Request Template

## Description

Added input_select message type support for LINE

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [X] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality not to work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

add testcase. and test manually by myself


## Checklist:

- [X] My code follows the style guidelines of this project
- [X] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2025-06-10 15:10:51 +05:30
Gabriel Jablonski
6e1da287a2
chore: fix v4.2.0 deployment (#64)
* chore: fix docker compose healthcheck

* fix: compact setup channel provider request
2025-06-09 22:17:54 -03:00
gabrieljablonski
2f36e0cfd3 chore: include arm64 platform 2025-06-09 19:54:48 -03:00
Gabriel Jablonski
4f15a1fd9c
Merge pull request #63 from fazer-ai/chore/merge-upstream
Chore/merge upstream
2025-06-09 19:51:43 -03:00
gabrieljablonski
f5f79b0b6c chore: apply rubocop 2025-06-09 19:50:29 -03:00
gabrieljablonski
b990ca9570 Merge branch 'main' into chore/merge-upstream 2025-06-09 19:49:48 -03:00
gabrieljablonski
3ed8276f21 chore: default locale on coolify compose 2025-06-09 19:49:08 -03:00