iachat/app/javascript/dashboard/components-next
Tanmay Deep Sharma 7b512bd00e
fix: V2 Assignment service enhancements (#13036)
## Linear Ticket:
https://linear.app/chatwoot/issue/CW-6081/review-feedback

## Description

Assignment V2 Service Enhancements

- Enable Assignment V2 on plan upgrade
- Fix UI issue with fair distribution policy display
- Add advanced assignment feature flag and enhance Assignment V2
capabilities

## Type of change

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

## How Has This Been Tested?

This has been tested using the UI.

## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] 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

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Changes auto-assignment execution paths, rate limiting defaults, and
feature-flag gating (including premium plan behavior), which could
affect which conversations get assigned and when. UI rewires inbox
settings and policy flows, so regressions are possible around
navigation/linking and feature visibility.
> 
> **Overview**
> **Adds a new premium `advanced_assignment` feature flag** and uses it
to gate capacity/balanced assignment features in the UI (sidebar entry,
settings routes, assignment-policy landing cards) and backend
(Enterprise balanced selector + capacity filtering).
`advanced_assignment` is marked premium, included in Business plan
entitlements, and auto-synced in Enterprise accounts when
`assignment_v2` is toggled.
> 
> **Improves Assignment V2 policy UX** by adding an inbox-level
“Conversation Assignment” section (behind `assignment_v2`) that can
link/unlink an assignment policy, navigate to create/edit policy flows
with `inboxId` query context, and show an inbox-link prompt after
creating a policy. The policy form now defaults to enabled, disables the
`balanced` option with a premium badge/message when unavailable, and
inbox lists support click-to-navigate.
> 
> **Tightens/adjusts auto-assignment behavior**: bulk assignment now
requires `inbox.enable_auto_assignment?`, conversation ordering uses the
attached `assignment_policy` priority, and rate limiting uses
`assignment_policy` config with an infinite default limit while still
tracking assignments. Tests and i18n strings are updated accordingly.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
23bc03bf75ee4376071e4d7fc7cd564c601d33d7. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Pranav <pranav@chatwoot.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2026-02-11 12:24:45 +05:30
..
Accordion feat: Allow customizing the responses, flows in Captain (#11385) 2025-04-29 15:42:15 -07:00
AssignmentPolicy fix: V2 Assignment service enhancements (#13036) 2026-02-11 12:24:45 +05:30
avatar fix: RTL issues in new conversation form (#12163) 2025-08-11 14:16:48 -07:00
banner chore: Update buttons in dashboard (#11145) 2025-03-31 17:21:32 -07:00
breadcrumb chore: Optimize contact page for smaller displays (#12183) 2025-08-14 19:07:20 +05:30
button chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
buttonGroup feat: Enhance button interactions (#12738) 2025-11-06 16:24:05 +05:30
Campaigns chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
captain feat: display total FAQ count in Related FAQs dialog (#13433) 2026-02-04 11:27:51 +05:30
changelog-card chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
checkbox feat: Add support for bulk action for Captain FAQs (#10905) 2025-02-27 17:05:33 -08:00
colorpicker chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
combobox feat: Enhance button interactions (#12738) 2025-11-06 16:24:05 +05:30
Companies chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
Contacts chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
content-templates feat: Add twilio content templates (#12277) 2025-08-29 16:13:25 +05:30
Conversation feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
ConversationWorkflow feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
copilot feat: Update Captain navigation structure (#12761) 2025-11-06 16:31:23 -08:00
CustomAttributes chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
dialog feat: Add Teleport component to fix RTL/LTR utility classes (#11455) 2025-05-12 11:49:23 -07:00
dropdown-menu feat: Advanced Search Backend (#12917) 2026-01-07 15:30:49 +05:30
Editor chore: Improve compose new conversation form (#13176) 2026-01-13 18:52:10 +05:30
feature-spotlight chore: Hide "Learn More" button in feature spotlight for self-hosted (#12675) 2025-10-16 12:04:53 +05:30
filter chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
flag feat: Flag icon component (#10564) 2024-12-10 11:53:24 +05:30
HelpCenter chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
icon feat: TikTok channel (#12741) 2025-12-17 07:54:50 -08:00
Inbox chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
inline-input chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
input feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
Label feat: Agent capacity policy Create/Edit pages (#12424) 2025-09-12 18:42:55 +05:30
message feat: Handle external echo messages from native apps (#13371) 2026-02-02 15:52:53 +05:30
NewConversation chore: Improve compose new conversation form (#13176) 2026-01-13 18:52:10 +05:30
pagination chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
phonenumberinput fix: Accidental contact creation on country dropdown toggle (#11494) 2025-05-16 16:14:00 +05:30
selectmenu feat: Update conversation basic filter (#11415) 2025-05-06 12:44:23 +05:30
sidebar fix: V2 Assignment service enhancements (#13036) 2026-02-11 12:24:45 +05:30
spinner feat: Add Spinner to new components (#10303) 2024-10-16 17:53:46 -07:00
switch chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
tabbar chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
taginput chore: Improve compose new conversation form (#13176) 2026-01-13 18:52:10 +05:30
textarea feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
whatsapp feat: Add media_name support for WhatsApp templates document files (#12462) 2025-09-18 15:25:31 +05:30
year-in-review chore: Enable YearInReview for everyone, include analytics (#13090) 2025-12-16 18:20:10 -08:00
CardLayout.vue feat: Advanced Search Backend (#12917) 2026-01-07 15:30:49 +05:30
EmptyStateLayout.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
SidebarActionsHeader.story.vue feat: Update the UI to support the change for Copilot as a universal copilot (#11618) 2025-05-29 12:35:10 +05:30
SidebarActionsHeader.vue feat: Update the UI to support the change for Copilot as a universal copilot (#11618) 2025-05-29 12:35:10 +05:30
TeleportWithDirection.vue feat: Add Teleport component to fix RTL/LTR utility classes (#11455) 2025-05-12 11:49:23 -07:00