Refactor AiActionsDropdown
What does this MR do and why?
This MR refactors AiActionsDropdown.vue to support more AI actions via props. Right now it only supports a single hard coded action.
It also externalizes Apollo API out of the component and adds support for abstract actions that don't rely on Apollo. This is necessary for Engineering: Summarize my merge request review (#407364 - closed) because I plan to use this component to add another action that doesn't reply on Apollo and GraphQL.
Timeout functionality has been removed because that should be handled on:
- Transport level for the GraphQL query (HTTP requests timeout by default)
- API level for the WebSockets updates
Lastly, it changes GlCollapsibleListbox
to GlDisclosureDropdown
because it better represents the component UI logic.
Screenshots or screen recordings
Before | After |
---|---|
How to set up and validate locally
- Upgrade to Ultimate GitLab license
- Enable necessary feature flags
Feature.enable(:openai_experimentation) Feature.enable(:summarize_comments) Feature.enable(:summarize_notes)
- Open any issue and scroll to the reply form
Edited by Stanislav Lashmanov