Snapshot labels often include icon characters and leading spaces
(e.g. ' Instructions'). Now findRefByButtonName and findButtonLine
trim and lowercase both sides before comparing.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The root package.json has "type": "module", which makes Node treat
.js files as ESM. Since run.js uses require(), rename to .cjs to
explicitly opt into CommonJS.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Screenshots from failed E2E steps now go into out/ (already gitignored)
rather than the repo root. Remove the failure-*.png and sessions-*.png
entries from root .gitignore since they're no longer needed.
Also remove shebang from run.js to pass copyright hygiene check.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The playwright-cli approach uses accessibility tree snapshots instead of
CSS selectors, so these data-testid attributes are no longer needed.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Traces the full data flow for 'Click button Cloud' step by step: DOM
rendering → accessibility tree snapshot → YAML parsing → ref lookup →
CDP click, so new contributors can understand the internals.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: add dynamic customization slash commands to sessions new-chat page
Add individual prompt/skill files as slash commands in the sessions
window's new-chat input, matching what the customizations view shows.
- Add getFilteredPromptSlashCommands() to IAICustomizationWorkspaceService
- Core: passthrough to IPromptsService
- Sessions: filters via applyStorageSourceFilter() per prompt type
- Add second completion provider in SlashCommandHandler for dynamic
prompt/skill slash commands alongside existing static ones
- Update decorations to recognize and highlight dynamic prompt commands
- Subscribe to onDidChangeSlashCommands for cache refresh
- Fix regex in tryExecuteSlashCommand to support Unicode prompt names
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: expand prompt slash commands into CLI-friendly references
When a user types /my-prompt in the sessions new-chat input, expand it
before sending to: 'Use the prompt file located at [name](uri).' so
the CLI agent can locate and process the prompt file.
- Add tryExpandPromptSlashCommand() to SlashCommandHandler
- Call it in _send() before session.setQuery() to rewrite the query
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Commit customization files to main repo for worktree persistence
Customization files (agents, skills, instructions, prompts, hooks) are
now always committed to the main repository so they persist across
worktrees. When a worktree session is active, the file is also copied
and committed there so the running session picks it up immediately.
- Rewrite SessionsAICustomizationWorkspaceService.commitFiles() with
dual-commit logic (main repo + worktree)
- Add deleteFiles() to IAICustomizationWorkspaceService interface
- Wire delete action to commit removals to git
- Show friendly warning when main repo commit fails from a worktree
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Remove files from the previous TS/Electron testing approach that are no
longer used now that tests run via playwright-cli against the web server:
- actionMap.ts, scenarioParser.ts, sessionApp.ts, scenarios.spec.ts
- playwright.config.ts, package.json, tsconfig.json
- extensions/mock-chat-provider/
Update README.md to document the current playwright-cli + web server
approach, including how to run tests and add new scenarios.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Created new YAML files for Playwright configurations, detailing the structure of the application UI.
- Included toolbar actions for session management, customization options, and repository picker.
- Defined buttons for session actions, agent sessions, and various UI elements like alerts and textboxes.
- Enhanced user interaction elements with cursor pointers and active states for better usability.
- Created new YAML files for Playwright that define the structure and components of the session management UI.
- Each file includes configurations for toolbars, buttons, alerts, and other UI elements.
- The configurations support various actions such as finding sessions, filtering sessions, and customizing settings.
- Added support for user interactions with buttons for navigating, signing in, and managing agent sessions.
- Ensured consistent structure across all YAML files for maintainability and ease of updates.
- Created new YAML files for Playwright configurations to define UI components and actions related to session management.
- Included various toolbars, buttons, and alerts to enhance user interaction.
- Configured folder picker options for browsing and cloning functionalities.
- Ensured consistent structure across multiple configuration files for maintainability.
- Created multiple YAML files for Playwright CLI with detailed UI structure.
- Included toolbar actions for session management, including buttons for finding and filtering sessions.
- Added customizable options and agent session lists.
- Implemented navigation buttons with disabled states for back and forward actions.
- Integrated folder picker options for browsing and cloning.
- Enhanced chat input functionality with context addition and model selection.
- Created new YAML files to define the structure and components of the session management interface.
- Included various toolbars, buttons, and alerts to enhance user interaction.
- Implemented features such as session actions, agent sessions, and folder picker options.
- Ensured accessibility with appropriate cursor pointers and disabled states for buttons.
- Created multiple YAML files for Playwright CLI to define UI structure for session actions, including buttons for finding and filtering sessions.
- Implemented toolbar configurations for primary and secondary sidebars with various action buttons.
- Added support for agent sessions and customizations, including buttons for skills, instructions, prompts, and hooks.
- Introduced a folder picker listbox with options to browse and clone folders.
- Enhanced the chat input area with context addition and model selection buttons.
- Included alerts for user notifications within the application interface.
- Created new YAML files for the application UI, detailing the structure of session actions, toolbars, buttons, and alerts.
- Each file includes configurations for session management features such as "Find Session," "Filter Sessions," and various customization options.
- Implemented consistent button references and cursor styles across the UI components.
- Ensured accessibility features are included, such as disabled states for buttons and alerts for user notifications.
- Introduced a new E2E test runner script for Agent Sessions located at src/vs/sessions/test/e2e/run.js.
- The script starts a web server, opens the sessions window, and executes defined scenarios from markdown files.
- Added a YAML file defining the UI structure and components for the sessions interface.
* api: fix memory leaks in MainThreadManagedSockets
Refactors MainThreadManagedSockets to properly manage disposables and prevent
memory leaks. Uses DisposableMap for registrations and DisposableStore to
collect socket disposal listeners.
- Changes _registrations from Map<number, IDisposable> to DisposableMap to
leverage automatic disposal when clearing entries.
- Collects Event.once listeners for socket disposal in a DisposableStore to
ensure they are properly disposed of when the factory is unregistered.
- Minor whitespace fix on closeRemote method signature.
Refs https://github.com/microsoft/vscode/issues/293200
(Commit message generated by Copilot)
* Better
* Don't show Used n references when opening an old session
Alternate fix for #297152
* Don't show Used n references when opening an old session
Alternate fix for #297152