Prevent users from creating a new workspace with an unconnected agent
MR: Pending
Description
It's possible for users to create a workspace using an agent that's not connected. This results in a workspace that gets stuck showing the spinner icon in the UI with no terminate button.
TODO: Update issue resulting from discussion slack thread/ pairing session
For this issue an agent is unconnected if:
- It's never been connected
- It was previously connected but is unconnected at time of workspace creation
Examples
UI stuck on spinner:
Workspace state:
desired_state: "Terminated", actual_state: "CreationRequested",
Acceptance Criteria
-
User can't create a workspace with an unconnected agent -
User can understand why an unconnected agent can't be used -
Messaging specific to unconnected agents isn't displayed for other error scenarios
Technical Requirements
TODO: Fill out or delete [If applicable, please list out any technical requirements for this feature/enhancement.]
Design Requirements
Proposal:
On the Create Workspace
page:
- Disable the unconnected agent in the agent selector so user can't use it to create a workspace.
- Append
(not connected)
to the unconnected agent's option text as a status message so the user can understand why the agent's disabled.
Example:
Additional considerations:
-
Are there any additional invalid states for agents that we should consider and could apply the same fix for?
-
If feedback indicates users struggle with understanding what "not connected" means or how/where to fix unconnected agents then we could take a more heavy handed approach by allowing users to select unconnected agents in the selector but flagging them as invalid and displaying an actionable message that explains the problem in more detail and directs them to the agent page/docs.
Impact Assessment
The workspace UX will be improved by preventing the user from the frustrating experience of creating workspaces that immediately get stuck in a loading state.
User Story
As a user I want to avoid creating invalid workspaces so that I don't waste time troubleshooting.