chatwoot/app/javascript/dashboard
Macoly Melo e68522318b
feat: Enable lock to single thread settings for Telegram (#12367)
This PR implements the **"Lock to Single Conversation"** option for
Telegram inboxes, bringing it to parity with WhatsApp, SMS, and other
channels.

- When **enabled**: resolved conversations can be reopened (single
thread).
- When **disabled**: new messages from a resolved conversation create a
**new conversation**.
- Added **agent name display** in outgoing Telegram messages (formatted
as `Agent Name: message`).
- Updated frontend to display agent name above messages in the dashboard
(consistent with WhatsApp behavior).

This fixes [#8046](https://github.com/chatwoot/chatwoot/issues/8046).

## 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?

- Unit tests added in
`spec/services/telegram/incoming_message_service_spec.rb`
- Scenarios covered:
  - Lock enabled → reopens resolved conversation
  - Lock disabled → creates new conversation if resolved
  - Lock disabled → appends to last open conversation
- Manual tests:
  1. Create a Telegram conversation
  2. Mark it as resolved
  3. Send a new message from same user
  4.  Expected: new conversation created (if lock disabled)


## 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
- [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

## Additional Documentation

For full technical details of this implementation, please refer to:  

[TELEGRAM_LOCK_TO_SINGLE_CONVERSATION_IMPLEMENTATION_EN.md](./TELEGRAM_LOCK_TO_SINGLE_CONVERSATION_IMPLEMENTATION_EN.md)

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2025-09-24 11:35:14 +05:30
..
api feat: Add the frontend support for MFA (#12372) 2025-09-18 21:16:06 +05:30
assets chore: Improve layout styles (#12025) 2025-07-30 13:49:27 -07:00
components fix: Inbox delete confirmation fails due to whitespace (#12498) 2025-09-23 22:20:43 +05:30
components-next feat: Captain animating SVGs (#12448) 2025-09-22 10:10:26 +05:30
composables feat: Add support for labels in automations (#11658) 2025-09-18 14:17:54 +05:30
constants chore: Enable flexible whatsapp onboarding (Manual + Embedded Signup) options (#12344) 2025-09-15 19:59:56 +05:30
helper feat: Add media_name support for WhatsApp templates document files (#12462) 2025-09-18 15:25:31 +05:30
i18n chore: Update translations (#12506) 2025-09-24 10:47:31 +05:30
mixins chore: Default file limits for private notes and reset attachment on mode switch (#12310) 2025-08-27 11:56:07 +05:30
modules feat(ee): Setup advanced, performant message search (#12193) 2025-08-28 10:10:28 +05:30
routes feat: Enable lock to single thread settings for Telegram (#12367) 2025-09-24 11:35:14 +05:30
store feat: Update meta debounce max wait (#12493) 2025-09-23 13:57:17 +05:30
App.vue feat: Agent language settings (#11222) 2025-09-09 14:27:36 +05:30
featureFlags.js feat: remove SAML from premium feature list (#12443) 2025-09-15 21:41:34 +05:30