Skip to content

feature/VSN-2860 - resolve 15 UI bugs across ticket management module && Fix unread counter, duplicate message bubble, mini back navigation in chat.

youssef.achkir a demandé de fusionner feature/VSN-2860 vers develop

Tickets :

  • Fix search firing on every keystroke (debounce + instant client-side filter)
  • Fix client-side filter using debouncedSearch instead of raw search (1-letter bug)
  • Add "Sélectionner tout" to team MultiSelect in CreateTicketModal
  • Add dirty-check confirmation banner on modal close with unsaved changes
  • Fix KPI auto-refresh in GlobalTicketsPage (refreshAll pattern)
  • Fix KPI/Kanban count mismatch in GlobalTicketsPage (use filtered tickets.length)
  • Fix team selection reset on page refresh (sessionStorage persistence)
  • Add assignedTo filter dropdown in GlobalTicketsPage advanced filters
  • Fix refresh button in GlobalTicketsPage (missing label + calling refreshAll)
  • Add inline save confirmation banner in TicketPanel after edit
  • Add "Assigné à moi" as first option in collaborator list (sort self first)
  • Auto-assign ticket to current user when assignedTo left empty
  • Make assignedTo field optional in ticket schema + auto-select self on load
  • Fix board onStatusChange to call refreshAll (KPIs stay in sync after drag)
  • Fix pagination filtered count display (shows "X filtrés sur Y" when active)

Chat :

  • Fixed a stale closure bug in useMessages.ts where userId = null at listener registration caused sent messages to render as both sent and received.
  • Fixed the unread counter in useConversation.ts by reading activeConversation directly from the Zustand store instead of a potentially stale ref.
  • Fixed mini-mode back navigation in ChatWidget.tsx by also clearing activeConversation on back, preventing the conversation panel from re-mounting immediately.

Closes VSN-2860

Modification effectuée par youssef.achkir

Rapports de requête de fusion