assets/js/dashboard.js:1169-1171, quickAssign() calls lt.combobox.init(input, items, { onSelect: function(item) {...} }) — but lt.combobox.init() (assets/js/base.js:1896-1995) only destructures {max, placeholder, onChange} from opts and never reads/calls onSelect at all; it invokes onChange([...selected]) with an array of value strings instead.
Impact:_quickAssignUserId (initialized to undefined at dashboard.js:1126) is never updated no matter what the user clicks in the dropdown, so performQuickAssign() (dashboard.js:1184) always hits if (_quickAssignUserId === undefined) and shows "Please select a user from the list" — forever, regardless of selection.
Repro: Click any per-ticket "Quick Assign" action on the dashboard, pick any user from the search dropdown, click ASSIGN → warning toast, no assignment happens.
Contrast with the separately-implemented Bulk Assign modal (dashboard.js:648-656), which correctly uses lt.typeahead.init(...) (which DOES support onSelect) and works fine.
Fix: Change quickAssign() to use lt.typeahead.init (matching Bulk Assign), or add onSelect support to lt.combobox.init, or switch the callback to onChange and read selected[0] from the array it receives.
**Severity:** High
`assets/js/dashboard.js:1169-1171`, `quickAssign()` calls `lt.combobox.init(input, items, { onSelect: function(item) {...} })` — but `lt.combobox.init()` (`assets/js/base.js:1896-1995`) only destructures `{max, placeholder, onChange}` from `opts` and never reads/calls `onSelect` at all; it invokes `onChange([...selected])` with an array of value strings instead.
**Impact:** `_quickAssignUserId` (initialized to `undefined` at `dashboard.js:1126`) is never updated no matter what the user clicks in the dropdown, so `performQuickAssign()` (`dashboard.js:1184`) always hits `if (_quickAssignUserId === undefined)` and shows "Please select a user from the list" — forever, regardless of selection.
**Repro:** Click any per-ticket "Quick Assign" action on the dashboard, pick any user from the search dropdown, click ASSIGN → warning toast, no assignment happens.
Contrast with the separately-implemented Bulk Assign modal (`dashboard.js:648-656`), which correctly uses `lt.typeahead.init(...)` (which DOES support `onSelect`) and works fine.
**Fix:** Change `quickAssign()` to use `lt.typeahead.init` (matching Bulk Assign), or add `onSelect` support to `lt.combobox.init`, or switch the callback to `onChange` and read `selected[0]` from the array it receives.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Severity: High
assets/js/dashboard.js:1169-1171,quickAssign()callslt.combobox.init(input, items, { onSelect: function(item) {...} })— butlt.combobox.init()(assets/js/base.js:1896-1995) only destructures{max, placeholder, onChange}fromoptsand never reads/callsonSelectat all; it invokesonChange([...selected])with an array of value strings instead.Impact:
_quickAssignUserId(initialized toundefinedatdashboard.js:1126) is never updated no matter what the user clicks in the dropdown, soperformQuickAssign()(dashboard.js:1184) always hitsif (_quickAssignUserId === undefined)and shows "Please select a user from the list" — forever, regardless of selection.Repro: Click any per-ticket "Quick Assign" action on the dashboard, pick any user from the search dropdown, click ASSIGN → warning toast, no assignment happens.
Contrast with the separately-implemented Bulk Assign modal (
dashboard.js:648-656), which correctly useslt.typeahead.init(...)(which DOES supportonSelect) and works fine.Fix: Change
quickAssign()to uselt.typeahead.init(matching Bulk Assign), or addonSelectsupport tolt.combobox.init, or switch the callback toonChangeand readselected[0]from the array it receives.