Commit Graph

147513 Commits

Author SHA1 Message Date
Osvaldo Ortega
6bf042d9c3 Delete empty mds 2026-03-04 08:56:33 -08:00
Osvaldo Ortega
070db45493 Add package.json with playwright-cli dependency and test script
npm install installs playwright-cli locally, npm test runs the E2E suite.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-04 08:49:50 -08:00
Osvaldo Ortega
10dcfb9929 Fix playwright-cli package name and GitHub URL in README
The correct package is @playwright/cli (from microsoft/playwright-cli),
not @anthropics/playwright-cli.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-04 08:37:31 -08:00
Osvaldo Ortega
b3a9a015b0 Add initial E2E test setup with multiple scenario files and error handling 2026-03-04 08:34:40 -08:00
Osvaldo Ortega
ee13146c2e remove 2026-03-03 21:22:47 -08:00
Osvaldo Ortega
4012d3ccab Strip codicon/icon characters when matching button labels
Snapshot labels contain Private Use Area characters (U+E000-U+F8FF) for
VS Code codicons. normalizeLabel() strips these before comparing so
'Click button "Instructions"' matches ' Instructions' in the snapshot.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-03 21:21:40 -08:00
Osvaldo Ortega
2f34c246e8 Log snapshot filenames per step for debugging
Each getSnapshot() call now prints the .yml path and warns if the file
is empty, making it easy to correlate steps with snapshot files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-03 21:20:29 -08:00
Osvaldo Ortega
0eec305821 Update scenario title to reflect instructions for button click 2026-03-03 21:19:37 -08:00
Osvaldo Ortega
c1242da389 Make button matching case-insensitive and trim whitespace
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>
2026-03-03 21:12:31 -08:00
Osvaldo Ortega
72d5ba0262 Add E2E scenarios for cloud target and repository picker functionality 2026-03-03 21:11:07 -08:00
Osvaldo Ortega
ee7cdeb985 Rename run.js to run.cjs for CommonJS compatibility
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>
2026-03-03 21:02:15 -08:00
Osvaldo Ortega
8368928f8e Save failure screenshots to out/ instead of repo root
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>
2026-03-03 20:51:46 -08:00
Osvaldo Ortega
1259f94b51 Remove unused data-testid attributes from Sessions UI
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>
2026-03-03 20:45:13 -08:00
Osvaldo Ortega
6181c6b3e3 Add worked example to E2E README
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>
2026-03-03 20:36:22 -08:00
Osvaldo Ortega
0d358e4471 Remove old Electron-based E2E infrastructure, update README
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>
2026-03-03 19:06:06 -08:00
Osvaldo Ortega
2a4fe892ca Remove obsolete failure and session images from the repository 2026-03-03 18:49:30 -08:00
Osvaldo Ortega
cf8edf1222 Remove .playwright-cli from git and add to .gitignore
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-03 18:44:59 -08:00
Osvaldo Ortega
b4194d15c8 Add multiple Playwright configuration files for session management and UI components
- 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.
2026-03-03 18:42:22 -08:00
Osvaldo Ortega
31025c2ba2 Add multiple Playwright YAML configuration files for session management UI
- 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.
2026-03-03 18:41:20 -08:00
Osvaldo Ortega
12433ef089 Add multiple Playwright configuration files for session management and UI interactions
- 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.
2026-03-03 18:34:59 -08:00
Osvaldo Ortega
a643d56729 Add new Playwright CLI page configurations with session management and UI elements
- 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.
2026-03-03 18:32:25 -08:00
Osvaldo Ortega
55fe7db35d Add multiple Playwright YAML configuration files for session management UI
- 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.
2026-03-03 18:31:32 -08:00
Osvaldo Ortega
4d01b99cc3 Add new Playwright page configurations for session management and folder selection
- 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.
2026-03-03 18:30:14 -08:00
Osvaldo Ortega
a7de463d85 Add multiple Playwright YAML configuration files for session management UI
- 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.
2026-03-03 18:28:25 -08:00
Osvaldo Ortega
94742ca663 Refactor code structure and remove redundant sections for improved readability and maintainability 2026-03-03 18:25:40 -08:00
Osvaldo Ortega
479b002a89 Add E2E test runner for Agent Sessions and define UI structure in YAML
- 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.
2026-03-03 18:22:54 -08:00
Osvaldo Ortega
c3c27e091e Refactor code structure for improved readability and maintainability 2026-03-03 18:16:16 -08:00
Osvaldo Ortega
692fb00057 Refactor: update isSessionsWindow getter to use payload for dynamic value 2026-03-02 22:21:51 -08:00
Osvaldo Ortega
6794e9ab51 Fix: add console log for creating Sessions workbench in SessionsBrowserMain 2026-03-02 22:15:58 -08:00
Osvaldo Ortega
80e30be070 Fix: enhance welcome overlay skip functionality for automated tests with CLI flag and query parameter 2026-03-02 22:04:43 -08:00
Osvaldo Ortega
884c5882c9 Refactor: replace INativeEnvironmentService with IWorkbenchEnvironmentService in SessionsWelcomeContribution 2026-03-02 21:36:12 -08:00
Osvaldo Ortega
4ee10a3e48 Refactor: update getSessionsHTML to improve CSS module handling and file root definition 2026-03-02 21:26:06 -08:00
Osvaldo Ortega
63073c972b Refactor: update CSS module collection to use tinyglobby and add fallback for recursive file search 2026-03-02 20:14:34 -08:00
Osvaldo Ortega
4b93e8fe0e Fix: update open function call to use default export for URL opening 2026-03-02 18:54:51 -08:00
Osvaldo Ortega
71eca7dfec Add Sessions web entry point and supporting scripts for session management 2026-03-02 18:48:46 -08:00
Osvaldo Ortega
891f6318a5 Add SessionsBrowserMain and related imports for session management 2026-03-02 18:41:01 -08:00
Osvaldo Ortega
22045f2609 Merge remote-tracking branch 'origin/main' into copilot-worktree-2026-02-27T00-36-54 2026-03-02 18:06:28 -08:00
Osvaldo Ortega
ca6f15ddcf Revert test/automation and test/smoke changes to match main
These files were added in an earlier commit on this branch but are not
part of the sessions e2e test framework (which lives under
src/vs/sessions/test/e2e/).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-02 18:04:04 -08:00
Osvaldo Ortega
001db3a249 Merge pull request #298844 from microsoft/osortega/managing-marmoset
Sessions window: GH file system provider fixes
2026-03-02 17:56:30 -08:00
Osvaldo Ortega
85852c6763 Remove empty scenario files
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-02 17:51:27 -08:00
Osvaldo Ortega
8735867e70 Review comments 2026-03-02 17:41:00 -08:00
Kyle Cutler
e6fef18a2d Browser: support hard reload (#298840) 2026-03-02 17:15:56 -08:00
Osvaldo Ortega
df35dd974c feat: add initial end-to-end test scenarios and configuration files 2026-03-02 17:14:03 -08:00
Matt Bierner
61e4046343 Merge pull request #298827 from mjbvz/dev/mjbvz/marked-cicada
Remove remaining webpack references for building extensions
2026-03-02 17:10:04 -08:00
Ben Villalobos
d52b950ff8 Update distro (#298841) 2026-03-03 00:56:24 +00:00
Osvaldo Ortega
3275c13eea TODO 2026-03-02 16:49:17 -08:00
Osvaldo Ortega
bec7b2ba7d Sessions window: GH file system provider fixes 2026-03-02 16:48:34 -08:00
Kyle Cutler
1da6f72eba Browser: better focus transfering (#298819)
* Browser: better focus transfering

* fix
2026-03-02 16:23:19 -08:00
Connor Peet
122e527a81 chat: Use ref-counted model collection for tool confirmation inputs (#298829)
* chat: Use ref-counted model collection for tool confirmation inputs

Fixes duplicate model error when ToolConfirmationSubPart re-renders with
the same toolCallId. Models keyed by URI are now managed via a ref-counted
ReferenceCollection (InlineTextModelCollection) on IChatContentPartRenderContext,
so multiple SubPart instances can safely share the same model. The model is only
disposed when the last reference is released, preventing the 'Cannot add model
because it already exists!' error during list re-rendering or parallel tool calls.

- Add InlineTextModelCollection class wrapping ReferenceCollection<ITextModel>
  to handle ref-counted model lifecycle keyed by URI
- Add inlineTextModels field to IChatContentPartRenderContext
- Wire InlineTextModelCollection into chatListRenderer, passing to all context
  sites
- Update chatToolConfirmationSubPart to use context.inlineTextModels.acquire()
  instead of modelService.createModel()
- Remove unused IModelService injection from chatToolConfirmationSubPart

Fixes https://github.com/microsoft/vscode/issues/294345

(Commit message generated by Copilot)

* ci failure
2026-03-02 15:53:01 -08:00
Matt Bierner
3d7cf10fd1 Remove remaining webpack references for building extensions
All extensions now should be fully ported over to use esbuild instead of webpack
2026-03-02 15:07:39 -08:00