Sivin Varghese and GitHub
f5608bc28b
feat: Update dashboard empty state UI ( #12990 )
2025-12-04 13:56:45 +05:30
Sivin Varghese and GitHub
b92b533afb
Merge branch 'develop' into feat/v5-ui-redesign
2025-12-04 13:56:20 +05:30
Sivin Varghese and GitHub
604d4a9c30
feat: Update conversation side panel layout and styling ( #12983 )
2025-12-04 13:55:07 +05:30
Vishnu Narayanan and GitHub
728a5a6710
fix: handle missing AccountUser in inbox_member API ( #12993 )
...
Fixes
https://linear.app/chatwoot/issue/CW-6065/actionviewtemplateerror-undefined-method-availability-status-for-nil
2025-12-04 13:32:51 +05:30
87fe1e9ad7
feat: migrate editor to ruby-llm ( #12961 )
...
Co-authored-by: aakashb95 <aakash@chatwoot.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
2025-12-04 12:51:35 +05:30
Sivin Varghese and GitHub
832d61c004
Merge branch 'develop' into feat/v5-ui-redesign
2025-12-04 10:39:39 +05:30
Muhsin Keloth and GitHub
5c3b85334b
feat: Add support for shared post and story attachment types in Instagram messages ( #12997 )
...
When users share Instagram posts or stories via DM, Instagram sends
webhooks with type `ig_post` and `ig_story` attachments. The system was
failing on these types because they weren't defined in the file_types.
This PR fixes the issue by handling all shared types and rendering them
on the front end.
**Shared post**
<img width="2154" height="1828" alt="CleanShot 2025-12-03 at 16 29
14@2x"
src="https://github.com/user-attachments/assets/7e731171-4904-43a6-abeb-b1db2c262742 "
/>
**Shared status**
<img width="1702" height="1676" alt="CleanShot 2025-12-03 at 16 10
25@2x"
src="https://github.com/user-attachments/assets/6a151233-ce47-429d-b7c2-061514b20e05 "
/>
Fixes
https://linear.app/chatwoot/issue/CW-5441/argumenterror-ig-story-is-not-a-valid-file-type-argumenterror
2025-12-04 05:20:47 +05:30
Sivin Varghese and GitHub
3308616223
Merge branch 'develop' into feat/v5-ui-redesign
2025-12-03 15:48:19 +05:30
Sivin Varghese and GitHub
8ad1bf3d2b
feat: Update conversation messages screen UI ( #12975 )
2025-12-03 15:48:04 +05:30
Sivin Varghese and GitHub
99f17891d0
feat: Updated conversation list UI ( #12971 )
2025-12-03 15:46:16 +05:30
Muhsin Keloth and GitHub
e6a7e836a0
fix: Add support for ig_post attachment type in Instagram messages ( #12992 )
...
Fixes
https://linear.app/chatwoot/issue/CW-6055/argumenterror-ig-post-is-not-a-valid-file-type-argumenterror
This PR fixes an issue where Instagram sends webhooks with both "type":
"share" and "type": "ig_post" attachments when users share Instagram
posts in direct messages. The system was failing on the ig_post type
because it wasn't defined, causing ArgumentError exceptions.
https://github.com/user-attachments/assets/577b8ebd-80e3-4c11-95f5-d8a8c3e16534
2025-12-03 10:27:16 +05:30
b269cca0bf
feat: Add AI credit topup flow for Stripe ( #12988 )
...
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com >
2025-12-02 17:53:44 -08:00
Sivin Varghese and GitHub
eccf3dd8f6
Merge branch 'develop' into feat/v5-ui-redesign
2025-12-01 15:02:29 +05:30
Sivin Varghese and GitHub
1df5fd513a
fix: Reduce unnecessary label suggestion API calls ( #12978 )
2025-12-01 13:36:34 +05:30
Sivin Varghese and GitHub
4cf5975ab8
Merge branch 'develop' into feat/v5-ui-redesign
2025-12-01 10:24:41 +05:30
Sivin Varghese and GitHub
f6852c33cb
feat: Redesign conversation card component UI ( #12957 )
2025-12-01 10:18:14 +05:30
Muhsin Keloth and GitHub
4627aad56d
fix: Enable reply editor for API channels with templates ( #12973 )
2025-12-01 10:13:38 +05:30
Sivin Varghese and GitHub
a0edf2e6e3
chore: Update sidebar and app layout UI ( #12933 )
2025-11-28 18:39:51 +05:30
Sivin Varghese and GitHub
8cc6bde24f
Merge branch 'develop' into feat/v5-ui-redesign
2025-11-28 16:46:15 +05:30
f23d95e004
feat: Add Pinia support and relocate store factory ( #12854 )
...
Co-authored-by: Vinay Keerthi <11478411+stonecharioteer@users.noreply.github.com >
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com >
2025-11-28 16:31:59 +05:30
Sivin Varghese and GitHub
4c724a4887
Merge branch 'develop' into feat/v5-ui-redesign
2025-11-28 15:36:07 +05:30
1ef945de7b
feat: Instrument captain ( #12949 )
...
Co-authored-by: aakashb95 <aakash@chatwoot.com >
2025-11-28 15:12:55 +05:30
Sivin Varghese and GitHub
556a49a25a
Merge branch 'develop' into feat/v5-ui-redesign
2025-11-27 11:04:10 +05:30
Sivin Varghese and GitHub
92fc286ecb
fix: Resolve z-index issue in assistant switcher ( #12969 )
2025-11-27 10:35:42 +05:30
Sivin Varghese and GitHub
dedb0426fb
chore: Improve pagination with compact number formatting and pluralization ( #12962 )
2025-11-27 10:32:34 +05:30
Vinay Keerthi and GitHub
eb0410af53
fix: handle string return values in MailPresenter#from method ( #12966 )
2025-11-27 10:31:56 +05:30
3ded13c8d5
chore(revert): switch label suggestions back gpt 4 mini ( #12959 )
...
Co-authored-by: aakashb95 <aakash@chatwoot.com >
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2025-11-27 10:27:11 +05:30
f1079574e3
fix: Disable SSL verification for LINE webhooks in development ( #12960 )
...
## Summary
- Fixes SSL certificate verification errors when testing LINE webhooks
in development environments
- Configures the LINE Bot API client to skip SSL verification only in
development mode
## Background
When testing LINE webhooks locally on macOS, the LINE Bot SDK was
failing with:
```
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get certificate CRL)
```
This occurs because the LINE Bot SDK tries to fetch user profiles via
HTTPS, and OpenSSL on macOS development environments may not have proper
access to Certificate Revocation Lists (CRLs).
## Changes
- Added `http_options` configuration to the LINE Bot client in
`Channel::Line#client`
- Sets `verify_mode: OpenSSL::SSL::VERIFY_NONE` only when
`Rails.env.development?` is true
- Production environments continue to use full SSL verification for
security
## Test Plan
- [x] Send a LINE message to trigger webhook in development
- [x] Verify webhook is processed without SSL errors
- [x] Confirm change only applies in development mode
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2025-11-26 22:38:26 +05:30
Muhsin Keloth and GitHub
73ad27e94c
fix: Show WhatsApp templates only for inboxes with templates ( #12965 )
...
Fixed the logic to show WhatsApp templates option only for inboxes that have templates available.
2025-11-26 21:01:31 +05:30
Sivin Varghese and GitHub
727ffea9f7
Merge branch 'develop' into feat/v5-ui-redesign
2025-11-26 17:21:48 +05:30
Muhsin Keloth and GitHub
6a83cad69d
fix: Prevent WhatsApp campaign duplicate messages by updating status immediately ( #12955 )
...
Fixes
https://linear.app/chatwoot/issue/CW-5918/whatsapp-campaigns-running-in-parallel-and-duplicating-messages
2025-11-26 15:25:49 +05:30
Gabriel Jablonski and GitHub
7e0507e3b5
fix: invalid language tag in heatmap component in reports page ( #12952 )
...
## Description
This PR fixes a `RangeError: Invalid language tag` that occurs in the
Heatmap report when using locales with underscores (e.g., `pt_BR`,
`zh_TW`).
The issue was caused by passing the raw locale string from `vue-i18n`
(which uses underscores for some regions) directly to
`Intl.DateTimeFormat`. The `Intl` API expects BCP 47 language tags which
use hyphens (e.g., `pt-BR`).
This change sanitizes the locale string by replacing underscores with
hyphens before creating the `DateTimeFormat` instance.
Fixes #12951
2025-11-26 13:24:29 +05:30
Vinay Keerthi and GitHub
94a9e4e067
chore: Add custom RuboCop cop to enforce one class per file ( #12947 )
2025-11-26 12:53:04 +05:30
Sivin Varghese and GitHub
08794c69ee
Merge branch 'develop' into feat/v5-ui-redesign
2025-11-26 10:11:34 +05:30
Shivam Mishra and GitHub
7b20ecd27b
chore: Revert pagination formatting and pluralization ( #12954 )
2025-11-25 21:36:13 +05:30
Gabriel Jablonski and GitHub
e635122ff6
fix: add presence validation for account name ( #12636 )
...
## Description
When a user tries creating a new account through the Super Admin
dashboard, and they forget to fill in the account name, they're faced
with an ugly error (generic "Something went wrong" on production).
This PR simply adds the `validates :name, presence: true` model
validation on `Account` model, which is translated as a proper error
message on the Super Admin UI.
2025-11-25 20:11:15 +05:30
Aakash Bakhle and GitHub
fa07b9158a
fix: switch label suggestions to gpt-5-nano ( #12945 )
2025-11-25 19:36:47 +05:30
Sivin Varghese and GitHub
46eb6f39f3
fix: Resolve z-index issue in assistant switcher ( #12940 )
2025-11-25 18:47:31 +05:30
Sivin Varghese and GitHub
f0538b25ed
fix: Reactive assistantId issue in Captain Inbox after route changes ( #12939 )
2025-11-25 18:47:18 +05:30
Shivam Mishra and GitHub
389b864020
fix: click event for billing support ( #12942 )
2025-11-25 14:53:27 +05:30
Sivin Varghese and GitHub
0829fbccd1
Merge branch 'develop' into feat/v5-ui-redesign
2025-11-25 09:03:35 +05:30
Sivin Varghese and GitHub
26778156dc
chore: Improve pagination with compact number formatting and pluralization ( #12921 )
...
# Pull Request Template
## Description
This PR enhances the pagination component with standardized number
formatting and improved i18n handling.
**Includes:**
* Added `formatCompactNumber` and `formatFullNumber` helpers using
`Intl.NumberFormat`.
* `< 1,000`: show exact value (e.g., `999`)
* `1,000–999,999`: show compact format (`1k`, `1k+`)
* `1,000,000+`: show in millions with one decimal (e.g., `1.2M`)
* Updated `PaginationFooter` to use the new formatters for all displayed
numbers.
* Added proper pluralization to pagination i18n strings.
Fixes
https://linear.app/chatwoot/issue/CW-5999/better-display-of-numbers
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
### Screenshoots
**Before**
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/9fcf8baa-ae32-4a8a-85b0-24002fd863db "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/3d7138b7-133e-4ae6-b55f-67eff73ff1cc "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/1bbf7070-0681-492d-9308-a33874052d28 "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/4e441672-26aa-4e66-965e-9edb807eaa72 "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/11836702-1b74-4834-8932-31c20adc2db8 "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/d37971bc-09af-4238-8601-ccc2ae69dbe7 "
/>
**After**
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/8eaf2a23-beea-486b-b555-37f8b36ab904 "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/f44f508a-e39d-45cb-afd8-98deb26920f8 "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/d3b90711-bd7e-44ee-8bb3-48e45b799420 "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/30dca6cd-f2be-4dcb-8596-924326ebf8c0 "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/58896699-1f05-46c9-88cb-908318e71476 "
/>
<img width="991" height="69" alt="image"
src="https://github.com/user-attachments/assets/ea0d91b0-077b-4d72-81a7-d38d17742da6 "
/>
## 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
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] 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-11-24 17:49:24 -08:00
48627da0f9
feat: outbound voice call essentials ( #12782 )
...
- Enables outbound voice calls in voice channel . We are only caring
about wiring the logic to trigger outgoing calls to the call button
introduced in previous PRs. We will connect it to call component in
subsequent PRs
ref: #11602
## Screens
<img width="2304" height="1202" alt="image"
src="https://github.com/user-attachments/assets/b91543a8-8d4e-4229-bd80-9727b42c7b0f "
/>
<img width="2304" height="1200" alt="image"
src="https://github.com/user-attachments/assets/1a1dad2a-8cb2-4aa2-9702-c062416556a7 "
/>
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
Co-authored-by: iamsivin <iamsivin@gmail.com >
Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com >
2025-11-24 17:47:00 -08:00
Sivin Varghese and GitHub
c94d76191b
chore: Update theme colors and add new Inter variable fonts ( #12932 )
2025-11-24 20:57:34 +05:30
Sivin Varghese and GitHub
6a712b7592
fix: Update Arcade embed aspect ratio ( #12923 )
2025-11-24 20:22:27 +05:30
e9c60aec04
feat: Add support for Langfuse LLM Tracing via OTEL ( #12905 )
...
This PR adds LLM instrumentation on langfuse for ai-editor feature
## Type of change
New feature (non-breaking change which adds functionality)
Needs langfuse account and env vars to be set
## How Has This Been Tested?
I configured personal langfuse credentials and instrumented the app,
traces can be seen in langfuse.
each conversation is one session.
<img width="1683" height="714" alt="image"
src="https://github.com/user-attachments/assets/3fcba1c9-63cf-44b9-a355-fd6608691559 "
/>
<img width="1446" height="172" alt="image"
src="https://github.com/user-attachments/assets/dfa6e98f-4741-4e04-9a9e-078d1f01e97b "
/>
## 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
- [ ] 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
---------
Co-authored-by: aakashb95 <aakash@chatwoot.com >
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com >
Co-authored-by: Pranav <pranav@chatwoot.com >
2025-11-21 16:31:45 -08:00
Vishnu Narayanan and GitHub
a8e9acfae9
fix: shopify and leadsquared specs in ci ( #12926 )
...
fix: shopify and leadsquared specs in ci
2025-11-21 17:01:03 +05:30
Vishnu Narayanan and GitHub
f5908b0f8a
fix: test failures due to parallelisation in ci ( #12924 )
2025-11-21 16:33:29 +05:30
Sivin Varghese and GitHub
45fa697885
chore: Hide pagination for empty company list ( #12920 )
2025-11-21 12:23:01 +05:30
Sivin Varghese and GitHub
51fbf583b6
fix: Companies card pluralization issue ( #12919 )
2025-11-21 12:22:02 +05:30