mirror of
https://github.com/chatwoot/chatwoot.git
synced 2026-07-01 21:03:46 +08:00
## Description
Fixes a critical bug where conversations assigned to a team could be
auto-assigned to agents outside that team when all team members were at
capacity.
## Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
## 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 core assignment selection for both legacy and v2 flows;
misconfiguration of `allow_auto_assign` or team membership could cause
conversations to remain unassigned.
>
> **Overview**
> Prevents auto-assignment from crossing team boundaries by filtering
eligible agents to the conversation’s `team` members (and requiring
`team.allow_auto_assign`) in both the legacy `AutoAssignmentHandler`
path and the v2 `AutoAssignment::AssignmentService` (including the
Enterprise override).
>
> Adds test coverage to ensure team-scoped conversations only assign to
team members, and are skipped when team auto-assign is disabled or no
team members are available; also updates the conversations controller
spec setup to include team membership.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
|
||
|---|---|---|
| .. | ||
| actions | ||
| assets | ||
| builders | ||
| channels | ||
| config | ||
| configs | ||
| controllers | ||
| dispatchers | ||
| drops | ||
| enterprise | ||
| factories | ||
| finders | ||
| fixtures | ||
| helpers | ||
| integration | ||
| jobs | ||
| lib | ||
| listeners | ||
| mailboxes | ||
| mailers | ||
| models | ||
| policies | ||
| presenters | ||
| requests/api/v1 | ||
| services | ||
| support | ||
| coverage_helper.rb | ||
| rails_helper.rb | ||
| spec_helper.rb | ||
| test_helper.rb | ||