Sivin Varghese and GitHub
cf09aaadfc
Merge branch 'develop' into feat/email-forwarding
2025-05-06 08:33:13 +05:30
Pranav and GitHub
cbdbf7900e
fix: Update the character count for instructions ( #11419 )
...
- Increase the Captain instruction size to 20k instead of 2k
- Fix a display issue in the Captain playground and i18n issue in
Captain form.
2025-05-05 19:41:38 -07:00
Pranav and GitHub
7cf051aba0
fix: Show campaigns only if the feature is enabled ( #11420 )
...
If the feature is disabled (manually or due to plan changes), the
customer cannot disable the existing campaigns. This PR would fix that.
Fixes
https://linear.app/chatwoot/issue/CW-3691/fix-disable-campaigns-on-plan-downgrade
2025-05-05 19:41:28 -07:00
Sivin Varghese and GitHub
6b42305f59
fix: Show agent bot name and avatar correctly in messages ( #11394 )
...
This PR fixes an issue where messages from the agent bot were incorrectly displayed as "BOT" with a missing avatar. It now correctly shows the agent bot’s name and avatar URL in the message list.
2025-05-05 16:26:30 -07:00
iamsivin
421597b1bc
chore: Minor fix
2025-05-05 16:25:05 +05:30
Sivin Varghese and GitHub
2db43948c0
Merge branch 'develop' into feat/email-forwarding
2025-05-05 16:09:25 +05:30
bfed849d6a
fix: Fix missing translations in copilot ( #11411 )
...
This PR does the following:
- Missing translations to the i18n file.
- Test the change with Malayalam (ml) translation.
- Fixes overflow by setting the width to 100%
_Note_: The prompt text is also set for translation. This is
intentional, there is no change in the behaviour.
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2025-05-04 18:06:24 -07:00
iamsivin
7ab4343359
chore: Minor fix
2025-05-02 21:33:20 +05:30
iamsivin
76dbc7540f
chore: Fix position issue and lock scroll
2025-05-02 21:21:23 +05:30
iamsivin
cc44e7ab88
chore: Preview email attachments
2025-05-02 20:20:14 +05:30
iamsivin
c1c488eafa
chore: Fix build
2025-05-02 20:13:10 +05:30
Sivin Varghese and GitHub
b05312aab1
Merge branch 'develop' into feat/email-forwarding
2025-05-02 14:14:56 +05:30
iamsivin
99d7bd9e7c
chore: Code clean up moves to service classes
2025-05-02 14:14:15 +05:30
Vishnu Narayanan and GitHub
f3a807c6f0
chore: enable stale contact removal job on chatwoot cloud ( #11390 )
...
- enable stale contact/contact inboxes removal job on chatwoot cloud
2025-05-02 13:36:30 +05:30
iamsivin
7aefbba2ca
chore: MInor fix
2025-05-02 12:34:33 +05:30
Sivin Varghese and GitHub
7c8f4d26fe
Merge branch 'develop' into feat/email-forwarding
2025-05-02 08:07:02 +05:30
Chatwoot Bot and GitHub
55316ea0a0
chore: Update translations ( #11404 )
2025-05-01 16:10:29 -07:00
Shivam Mishra and GitHub
3630277d00
fix: Update flag from countries.js ( #11401 )
2025-05-01 09:03:36 -07:00
iamsivin
7b0aaa2721
chore: Fix code climate
2025-05-01 19:11:25 +05:30
iamsivin
00a9a5cdc2
chore: Minor fix
2025-05-01 19:02:25 +05:30
iamsivin
ccd24c40e7
chore: Minor fix
2025-05-01 18:59:35 +05:30
iamsivin
754d0ff515
chore: Minor fix
2025-05-01 18:52:25 +05:30
iamsivin
f8d3a2a989
chore: Improve formatting with commonmarker and fix spec
2025-05-01 18:40:25 +05:30
iamsivin
d1ac7211ec
chore: Forward outgoing email message
2025-05-01 17:12:05 +05:30
Sivin Varghese and GitHub
f4ca2529ba
Merge branch 'develop' into feat/email-forwarding
2025-05-01 13:13:29 +05:30
Chatwoot Bot and GitHub
251abd02b0
chore: Update translations ( #11400 )
2025-04-30 15:34:11 -07:00
iamsivin
1094a3924e
chore: Forward plain email UI
2025-04-30 22:57:25 +05:30
iamsivin
8326eae4fe
chore: Forward with attachments
2025-04-30 22:29:33 +05:30
iamsivin
e96f296414
chore: Send with attachment
2025-04-30 11:05:59 +05:30
Sivin Varghese and GitHub
abce44c737
Merge branch 'develop' into feat/email-forwarding
2025-04-30 08:35:28 +05:30
Pranav and GitHub
fb6409508b
feat: Allow customizing the responses, flows in Captain ( #11385 )
...
- Ability to provide custom instructions to captain
<img width="1107" alt="Screenshot 2025-04-28 at 6 11 43 PM"
src="https://github.com/user-attachments/assets/f94cbccc-b4d8-48fd-b6b9-55524129bc50 "
/>
2025-04-29 15:42:15 -07:00
Sojan Jose and GitHub
970e76ace8
feat: API Endpoints to update message status ( #11387 )
...
- Added an api endpoint for update message status ( available only for
api inboxes )
- Moved message status management to a service.
- Handles case where read status arrive before delivered
fixes : #10314 , #9962
2025-04-29 15:33:11 -07:00
iamsivin
ab9d10488c
chore: Fix spec
2025-04-29 22:03:27 +05:30
Sivin Varghese and GitHub
a4a749e0d5
Merge branch 'develop' into feat/email-forwarding
2025-04-29 18:14:30 +05:30
Shivam Mishra and GitHub
fa4c1fadba
feat: use numbers when fetching from the API ( #11391 )
2025-04-29 18:12:16 +05:30
59bae616cf
feat: add UI for contact notes ( #11358 )
...
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2025-04-29 16:08:20 +05:30
iamsivin
f20ef2bfc7
chore: Adds spec
2025-04-29 15:41:42 +05:30
iamsivin
65b38bb4e4
chore: Adds multipart support on email rendering
2025-04-29 14:35:03 +05:30
Sivin Varghese and GitHub
9ab40adc24
Merge branch 'develop' into feat/email-forwarding
2025-04-29 09:23:11 +05:30
948a118490
chore(deps): Bump net-imap from 0.4.19 to 0.4.20 ( #11386 )
...
Bumps [net-imap](https://github.com/ruby/net-imap ) from 0.4.19 to
0.4.20.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ruby/net-imap/releases ">net-imap's
releases</a>.</em></p>
<blockquote>
<h2>v0.4.20</h2>
<h2>What's Changed</h2>
<p>This release backports two features to prevent unbounded memory use:
the <code>response_handlers</code> keyword argument to
<code>Net::IMAP.new</code> so response handlers can be added before the
server can send any responses (<a
href="https://redirect.github.com/ruby/net-imap/pull/427 ">ruby/net-imap#427</a>),
and the <code>max_response_size</code> config attribute (<a
href="https://redirect.github.com/ruby/net-imap/pull/445 ">ruby/net-imap#445</a>).</p>
<blockquote>
<p>[!NOTE]
The default <code>max_response_size</code> is <code>nil</code>
(unlimited), to avoid backward compatibility issues with secure
connections to trusted servers that are well-behaved. It can be
configured more conservatively to guard against untrusted servers (for
example, connecting to user-provided hostnames). <em>It is the
responsibility of <code>net-imap</code> users to configure their client
appropriately for the server they are connecting to.</em></p>
</blockquote>
<h3>Added</h3>
<ul>
<li>✨ Add <code>response_handlers</code> kwarg to
<code>Net::IMAP.new</code> by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/427 ">ruby/net-imap#427</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/419 ">#419</a></li>
</ul>
</li>
<li>✨ Limit max_response_size by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/445 ">ruby/net-imap#445</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/444 ">#444</a></li>
</ul>
</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>📚 Backport documentation to v0.4 by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/426 ">ruby/net-imap#426</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/418 ">#418</a>, <a
href="https://redirect.github.com/ruby/net-imap/issues/420 ">#420</a>,
documentation only from <a
href="https://redirect.github.com/ruby/net-imap/issues/416 ">#416</a>,
and <a
href="https://redirect.github.com/ruby/net-imap/issues/424 ">#424</a></li>
</ul>
</li>
</ul>
<h3>Other Changes</h3>
<ul>
<li>♻️ Update versioned default configs by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/413 ">ruby/net-imap#413</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/412 ">#412</a></li>
</ul>
</li>
<li>♻️ Refactor <code>get_response</code> by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/431 ">ruby/net-imap#431</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/422 ">#422</a></li>
</ul>
</li>
<li>♻️ Rational config versions by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/430 ">ruby/net-imap#430</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/429 ">#429</a></li>
</ul>
</li>
<li>♻️ Extract ResponseReader from get_response by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/434 ">ruby/net-imap#434</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/433 ">#433</a></li>
</ul>
</li>
<li>♻️ Refactoring by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/436 ">ruby/net-imap#436</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/417 ">#417</a> and
<a
href="https://redirect.github.com/ruby/net-imap/issues/435 ">#435</a></li>
</ul>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>✅ Various test improvements to v0.4 by <a
href="https://github.com/nevans "><code>@nevans</code></a> in <a
href="https://redirect.github.com/ruby/net-imap/pull/425 ">ruby/net-imap#425</a>
<ul>
<li>Backports <a
href="https://redirect.github.com/ruby/net-imap/issues/414 ">#414</a>, <a
href="https://redirect.github.com/ruby/net-imap/issues/415 ">#415</a>, <a
href="https://redirect.github.com/ruby/net-imap/issues/421 ">#421</a>,
and <code>assert_pattern</code> from minitest (originally in <a
href="https://redirect.github.com/ruby/net-imap/issues/333 ">#333</a>)</li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ruby/net-imap/compare/v0.4.19...v0.4.20 ">https://github.com/ruby/net-imap/compare/v0.4.19...v0.4.20 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ruby/net-imap/commit/5b8f9aece9a06074e396cb127098f30b681faad8 "><code>5b8f9ae</code></a>
🔖 Bump version to 0.4.20</li>
<li><a
href="https://github.com/ruby/net-imap/commit/8222a369ce5c700c2df307c8939ea5dcc8b2832d "><code>8222a36</code></a>
🔀 Merge pull request <a
href="https://redirect.github.com/ruby/net-imap/issues/445 ">#445</a>
from ruby/backport/v0.4-max_response_size</li>
<li><a
href="https://github.com/ruby/net-imap/commit/641c4c451e7c35f72726f7b19342c6de4143977c "><code>641c4c4</code></a>
✅ Fix backport compatibility with ruby 2.7</li>
<li><a
href="https://github.com/ruby/net-imap/commit/19bea631c31b82798a4047ac3a6737a41054e45a "><code>19bea63</code></a>
✨ Make max_response_size configurable</li>
<li><a
href="https://github.com/ruby/net-imap/commit/ddcaabd4fecbd1b0d4b3202bc1befed685d06562 "><code>ddcaabd</code></a>
✨ Limit max response size to 512MiB (hard-coded)</li>
<li><a
href="https://github.com/ruby/net-imap/commit/2ca4dbcaa4401a0177c140e220f0a11688603211 "><code>2ca4dbc</code></a>
🔀 Merge pull request <a
href="https://redirect.github.com/ruby/net-imap/issues/436 ">#436</a>
from ruby/backport/v0.4-refactor-config-and-respons...</li>
<li><a
href="https://github.com/ruby/net-imap/commit/9279f8aa1136f4ee4227ed7ce09bfdc20944dc48 "><code>9279f8a</code></a>
✅ Fix backport compatibility with ruby 2.7</li>
<li><a
href="https://github.com/ruby/net-imap/commit/0e27fc1224b18e338d06db9c2f919e2026d5269f "><code>0e27fc1</code></a>
♻️ Save ResponseReader ivars: <a
href="https://github.com/buff "><code>@buff</code></a> & <a
href="https://github.com/literal "><code>@literal</code></a>_size</li>
<li><a
href="https://github.com/ruby/net-imap/commit/17064cd2f094ff019a163808d02483b6a892c4bb "><code>17064cd</code></a>
✅ Fix backport compatibility with ruby 2.7</li>
<li><a
href="https://github.com/ruby/net-imap/commit/e4bb73453c0aae5b5ade9ce6f352914cbfc62028 "><code>e4bb734</code></a>
✨ Fix Config::AttrTypeCoercion for Ractor sharing</li>
<li>Additional commits viewable in <a
href="https://github.com/ruby/net-imap/compare/v0.4.19...v0.4.20 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/chatwoot/chatwoot/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sojan Jose <sojan@pepalo.com >
2025-04-28 20:49:26 -07:00
Shivam Mishra and GitHub
1a2e6dc4ee
feat: integrate LeadSquared CRM ( #11284 )
2025-04-29 09:14:00 +05:30
c63b583f90
chore: improve plan-based feature handling with plan hierarchy ( #11335 )
...
- Refactor HandleStripeEventService to better manage features by plan
- Add constants for features available in each plan tier (Startup,
Business, Enterprise)
- Add channel_instagram to Startup plan features
- Improve downgrade handling to properly disable higher-tier features
- Clean up and optimize tests for maintainability
- Add comprehensive test coverage for plan upgrades and downgrades
---------
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com >
2025-04-28 14:13:56 -07:00
iamsivin
77feacb544
chore: Fix date
2025-04-28 22:19:39 +05:30
iamsivin
32664bb840
chore: Minor fix
2025-04-28 22:15:07 +05:30
iamsivin
c710c55cf1
chore: Minor fix
2025-04-28 16:44:37 +05:30
iamsivin
38741f9a15
feat: Email forwarding
2025-04-28 16:40:41 +05:30
Sivin Varghese and GitHub
ef6949e32d
fix: Hover issue with Linear issue popup ( #11376 )
2025-04-25 10:14:23 +05:30
Sivin Varghese and GitHub
9194984091
fix: Alignment issue with logo in standard type bubble ( #11364 )
2025-04-24 21:57:52 +05:30
ecc95478b9
feat: widget opened and closed events ( #11240 )
...
Fixes #9272
---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com >
2025-04-24 17:01:39 +05:30
Sivin Varghese and GitHub
73f768e0bf
fix: Handle slug validation errors in Help Center ( #11368 )
...
# Pull Request Template
## Description
This PR fixes an issue with slug validation in the Help Center portal
settings. Previously, users were able to create or update slugs with
invalid characters such as spaces, slashes, and special symbols, which
cause help center to crash.
With this update, slug creation and updates are now properly validated.
Only slugs that match the allowed pattern will be accepted. No spaces,
underscores, slashes, or special characters are allowed.
Examples: **user**, **user-guide**
---
Fixes
https://linear.app/chatwoot/issue/CW-4273/add-validation-for-help-centre-slugs
## Type of change
- [x] Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
### Loom video
https://www.loom.com/share/a2ca5e2104984f28b29539293ffed33a?sid=e5064cb8-6220-4c43-99da-242c25d32027
## 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-04-24 16:58:05 +05:30