Allow users to use + as a delimiter to search and insert references into Duo chat
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
- prototype: https://www.figma.com/proto/uPU1dQRCyarQyvGRteLG19/GitLab-Duo-Chat-SSOT?page-id=2566%3A654&node-id=2577-7796&node-type=canvas&viewport=2095%2C1583%2C0.8&t=W0y92cl420uAETf0-1&scaling=scale-down&content-scaling=fixed&starting-point-node-id=2577%3A7796
- design file: https://www.figma.com/design/uPU1dQRCyarQyvGRteLG19/GitLab-Duo-Chat-SSOT?node-id=2577-7796&t=SRFdIv5hNB2Eh3Dk-4
Acceptance criteria
- When a user is composing a message to Duo, if they start the message with a
+or they type whitespace then a+, they should invoke the same menu that users see today when running the/includecommand - If the user hits esc after invoking this menu, then the menu is dismissed and the
+is treated like normal text in the user message - After invoking the menu, the user should be able to type to search the list -- for example, if the user types + then f, this should move focus to the first match for
fin the menu, which will beFile. If the user types + then e, this should move focus to the first match fore, which will beEpic. If the user types a letter that has no match in the menu (for example, they type + then z), then there should be no change to the focus state of the menu. - While focus is in the menu, things the user types (as in item 2 above) should not be added to the message they are composing
- After the user has finished interacting with the menu invoked by the
+delimiter:- A token for the item the user selected should appear in the added context tokens row, as would happen today when the user uses the
/includecommand - the name of whatever the user selected should be inserted into their message after the
+delimiter. The name should be a rich text link and hovering over it should show the same popover that would show on hovering over the associated token in the tokens row - If the selected item is a class of context that has its own delimiter (i.e., an Issue, MR or Epic), then the
+should be changed to the conventional delimiter for that class of context item. For example, if the user chooses an issue, then the+they typed to invoke the context item picker menu should change to a#after they have selected the issue
- A token for the item the user selected should appear in the added context tokens row, as would happen today when the user uses the
See related issues for specific context delimiters:
Edited by 🤖 GitLab Bot 🤖