-
Notifications
You must be signed in to change notification settings - Fork 35.3k
Open
Description
Refs: #264520
- anyOS @Yoyokrazy
- anyOS @kieferrm
- anyOS @eleanorjboyd
Complexity: 3
This TPI verifies that the Chat Todo widget UX close to the chat-input
Setup
Ensure that you have the todo widget position set to chat-input
(default is set to be at the top of the chat panel):
"chat.todoListWidget.position": chat-input
Steps
- In Chat, request a complex development task which requires planning to trigger the todo tool usage.
- You can also trigger the tool explicitly with the
#todo
invocation. - Use sample scenarios from microsoft/vscode-copilot#11794 as references.
Verify that the todo widget is surfaced at the top of the chat-input (above the files changes for the session)
Widget Basics
- Verify that the todo tool title displays the current in-progress task.
- If no todos have been started, it should show
Todos (0/y)
.
- If no todos have been started, it should show
- Verify that the widget can be expanded and collapsed.
- Ask the model for a short todo list of fewer than 3 items.
- Verify that the widget is not displayed in this case (short lists are not shown).
Interaction & Metadata
Verify that hovering over a todo item displays its additional description as metadata.
Clear Button Behavior
Verify that the Clear button is focusable and operable via keyboard.
- The button’s title and
aria-label
should both be “Clear all todos”.
Verify that clicking Clear empties only the current session’s todos and hides the widget. - Other sessions should remain unaffected.
Dynamic Updates
With the widget expanded, verify that the list auto-scrolls as new items are started.
With the widget collapsed, verify that the title updates to reflect the current in-progress item as the task progresses.