diff --git a/web/src/add_group_members_pill.ts b/web/src/add_group_members_pill.ts index 47878b2141..b4b85662c5 100644 --- a/web/src/add_group_members_pill.ts +++ b/web/src/add_group_members_pill.ts @@ -166,14 +166,23 @@ export function set_up_handlers({ } $parent_container.on("keyup", pill_selector, (e) => { - if (keydown_util.is_enter_event(e)) { + const pill_widget = get_pill_widget(); + if (!pill_widget.is_pending() && keydown_util.is_enter_event(e)) { e.preventDefault(); callback(); } }); $parent_container.on("click", button_selector, (e) => { - e.preventDefault(); - callback(); + const pill_widget = get_pill_widget(); + if (!pill_widget.is_pending()) { + e.preventDefault(); + callback(); + } else { + // We are not appending any value here, but instead this is + // a proxy to invoke the error state for a pill widget + // that would usually get triggered on pressing enter. + pill_widget.appendValue(pill_widget.getCurrentText()!); + } }); }