- Shipped
- August 7, 2026 at 7:07 AM UTC
- Author
- Kamo
- Commit
- fa63e1a
Round 1 review fixes for the accept-popup claim endpoint: - an ordinary lost race (loser's isClaimableBy already false post-commit) now raises TicketAlreadyClaimedException (409) instead of 400 - a double-tap by the ticket's own winner is idempotent (200), not an error - a truly simultaneous DB-level conflict (ConcurrencyFailureException) is caught at the controller and also surfaces as 409 - MANAGE_SUPPORT holders can claim without department/strategy filters, per spec D7, via a new isManager path that never loosens SupportQueueService's paging predicate - added controller-level MockMvc tests asserting the exact wire contract (200/409/403/401 and the literal ALREADY_CLAIMED body)