* Create cy-prompt-development.md
* chore: cy prompt infrastructure (#31748)
* feat: cy prompt infrastructure
* refactor and add tests
* refactor
* rename experimental config
* prompt
* fix test
* Update cy-prompt-development.md
* Update cy-prompt-development.md
* PR comments
* Update packages/server/lib/cloud/api/cy-prompt/get_cy_prompt_bundle.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* PR comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix test
* Delete packages/server/lib/cloud/StudioLifecycleManager.ts
* Delete packages/server/test/unit/cloud/StudioLifecycleManager_spec.ts
* chore: add cdp connection to cy prompt (#31806)
* chore: add cdp connection to cy prompt
* minor fix
* fix type build
* try to fix build
* Update packages/server/lib/browsers/browser-cri-client.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update packages/server/lib/browsers/browser-cri-client.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* do not support prompt in firefox or webkit
* rework timing of lifecycle
* refactor
* fix tests
* troubleshooting
* troubleshooting
* fix tests
* additional troubleshooting
* additional troubleshooting
* additional troubleshooting
* attempt to fix build
* add back
* debugging
* debugging
* debugging
* debugging
* clean up
* fix unit tests
* rework
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* chore: create infrastructure to support backend function in cy.prompt (#31803)
* chore: add promptBackend as an additional Cypress-attached function
* Update packages/app/src/runner/event-manager.ts
* update types
* fix types
* fix spacing
* refactor
* additional refactor
* fix type build
* fix build
* refactor
* reword messages
* fix
* debugging
* undo debugging
* PR comment
* fix tests
* fix tests
* fix tests
* fix test
* chore: add watcher for cy-prompt development (#31810)
* chore: add watcher for cy-prompt development
* test caching
* fix types
* chore: turn on beta deployments for cy-prompt
* internal: (cy.prompt) handle errors better in the command definition (#31835)
* internal: (cy.prompt) handle errors better in the command definition
* internal: (cy.prompt) add timeout and handle loading errors more cleanly
* add process environment variable
* clean up test
* update JSDoc
* chore: handle errors (#31854)
* chore: handle errors
* Fix ts, add test
* Fix error title
* Fix ts
* Fix ts
* chores: (cy.prompt) refactor routing to support both app and driver (#31891)
* chore: Share error utils with the cloud (#31887)
* share error utils with cloud
* additional rework
* Fix command, add isOpenMode
* Add / fix test
* fix ts
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* internal: (cy.prompt) add infrastructure to support a Get Code modal (#31904)
* chore: (cy.prompt) add infrastructure to support a Get Code modal
* fix tests
* fix code paths
* Update eject button styles
* handle errors
* update types
* Update packages/server/lib/socket-base.ts
* Fix cy test
* update readme
---------
Co-authored-by: estrada9166 <estrada9166@gmail.com>
* chore: (cy.prompt) refactor getTestsState to take a runnable id (#31965)
* chore: (cy.prompt) refactor getTestsState to take a runnable id
* fix tests
* minor tweak
* chore: (cy.prompt) add manifest for all of the cloud delivered files (#31922)
* chore: (cy.prompt) add manifest for all of the cloud delivered files
* fix tests and remove environment variables
* update strategy
* fix build
* rework
* require manifest
* clean up
* refactor
* refactor
* Update packages/server/lib/cloud/cy-prompt/CyPromptLifecycleManager.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* fix test
---------
Co-authored-by: Matt Schile <mschile@cypress.io>
* feat: add cy prompt more info needed modal (WIP) (#31970)
* feat: add cy prompt more info needed modal
* Reset promptStore
* additional things exposed for more info
* rework
* fix tests
* fix build
* fix types
* fix types
* Update packages/app/src/runner/event-manager.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* reefactor
* chore: (cy.prompt) rework the file save lifecycle
* rework types
* add unit tests
---------
Co-authored-by: estrada9166 <estrada9166@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: (cy.prompt) ensure that we do not attach a vue ref to the react root in the cy.prompt modals (#32011)
* fix: (studio) ensure that we do not attach a vue ref to the react root in the studio panel
* fix test
* chore: Handle cy-prompt error to the cloud (#32009)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* chore: display prompt error message (#32016)
* add createCloudRequest to cloudApi, handle errors during createCyPromptServer
* render the get code button on failure
* chore: update types
* chore: move CT and browser error to cloud (#32077)
* feat: (cy.prompt) give cy.prompt access to recording information (#32110)
* feat: (cy.prompt) give cy.prompt access to recording information
* undo bad refactor
* undo bad refactor
* undo bad refactor
* rename
* fix typo
* Update packages/server/test/unit/modes/record_spec.js
* Update packages/server/test/unit/modes/record_spec.js
* Update packages/server/test/unit/modes/record_spec.js
* Update packages/server/test/unit/modes/record_spec.js
* Update packages/server/test/unit/modes/record_spec.js
* Update cy-prompt-development.md
* Update cy-prompt-development.md
* Update cy-prompt-development.md
* chore: add CYPRESS_INTERNAL_SIMULATE_OPEN_MODE to simulate running Cypress tests in open mode (#32114)
* chore: (cy.prompt) ensure to strip out paths from all data when reporting errors in prompt (#32134)
* fix: (cy.prompt) ensure to strip out paths from all data when reporting errors in prompt
* refactor
* update tests
* fix logic error with protocol
* add event manager to get code
* Apply suggestions from code review
* fix: (cy.prompt) improve the get project options performance by running promises in parallel (#32196)
* fix: (cy.prompt) improve the get project options performance by running promises in parallel
* add awaits in test
* bump cache
* Update packages/server/lib/cloud/studio/StudioLifecycleManager.ts
* fix build
* chore: cleanup
* blank
* Update trigger-publish-binary-pipeline.js
* Update packages/server/test/unit/socket_spec.js
* get rid of environment variable
* fix: (cy.prompt) ensure to reset the prompt state when the event manager is torn down (indicating that we're no longer on the runner page) (#32301)
* fix: (cy.prompt) ensure to reset the prompt state when the event manager is torn down (indicating that we're no longer on the runner page)
* move test
* fix lint issue
* feat: (cy.prompt) introduce the concept of log collapse state being open/closed by default (#32262)
* feat: (cy.prompt) introduce the concept of logs' collapse state being open/closed by default
* update tests
* rename
* PR comments
* fix test due to bad merge of develop
* chore: Only allow experimentalPromptCommand within e2e config (#32435)
* chore: Only allow experimentalPromptCommand within e2e config
* Fix config
* Update tests
* Update test, update types
* Fix test and types
* fix tests
* Add types
* Update cli/types/cypress.d.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update workflows.yml
* Add optional cyPromptManagerPromise property
* Implement error handling in CyPromptManager
Added a new method to handle errors uniformly in CyPromptManager.
* Fix indentation in socket_spec.js
* fix: (cy.prompt) handle when the prompt is executed by in CT or when the experiment is not enabled (#32470)
* fix: (cy.prompt) handle when the prompt is executed by in CT or when the experiment is not enabled
* Update packages/driver/cypress/e2e/commands/prompt/prompt.cy.ts
* Update packages/driver/cypress/e2e/commands/prompt/prompt.cy.ts
* update name of errors
* Bump cache version to 9-15-2025
* update yarn.lock
* fixes
* fix snapshot
* fix snapshot
* internal: fix get code button to be purple with correct margin (#32504)
* feat: (cy.prompt) update the types of prompt (#32529)
* fix: move currentMoreInfoNeededModalInfo.onCancel to onClose (#32559)
* internal: (cy.prompt) various improvements to error messages and time outs (#32582)
* internal: (cy.prompt) various improvements to error messages and timeouts
* fix test
* remove dead code
* Update packages/driver/src/cy/commands/prompt/index.ts
* update prompt experiment description
* fix build
* fix tests
* fix tests
* fix test
* update error message
* Update packages/server/lib/experiments.ts
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
---------
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
* internal: (cy.prompt) ensure that get code can properly work with prompts in cy.origin (#32596)
* internal: (cy.prompt) ensure that get code can properly work with prompts in cy.origin
* additional tests
* additional tests
* Apply suggestions from code review
* code review comment
* fix merge
* fix merge
* Update packages/data-context/graphql/schemaTypes/index.ts
* update workflow
* blank
* persist binaries
* chore: display custom link title (#32567)
* chore: display custom link title
* Add test
* Pass docs as second argument of the error
* Revert changes
* Use openExternal for links
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* update
* internal: (cy.prompt) do not retry on cert failures (#32624)
* internal: (cy.prompt) do not retry on cert failures
* tests and clean up
* additional cleanup and add error message for prompt
* fix unit tests
* Update report_studio_error.ts
* Update packages/network/lib/agent.ts
* cursor comment
* fix build
* fix build
* fix test
* fix build
* fix build
* fix build
* fix build
* fix build
* revert
* Update packages/driver/src/cypress/error_messages.ts
* Update packages/driver/cypress/e2e/commands/prompt/prompt-initialization-error.cy.ts
* fix build
* cursor comment
* add changelog entry
* clean up
* Update packages/app/src/store/prompt-store.ts
* Bump cache version to 10-3-2025
Updated cache version to trigger CI cache recreation.
* Revise CHANGELOG for new features and fixes
Updated changelog with new features and bug fixes.
* index on feat/cy-prompt: 3cbcf6c336 Bump cache version to 10-3-2025
* index on feat/cy-prompt: 3cbcf6c336 Bump cache version to 10-3-2025
* index on feat/cy-prompt: 3cbcf6c336 Bump cache version to 10-3-2025
* blank
* fix build
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Alejandro Estrada <estrada9166@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* patch axios for v8 snapshots
* export httpsAgent and httpAgent discretely
* set up axios interceptors for logging and error response transformation
* use unified error transform fn
* create instance api reqs, timeouts, tests
* move axios middleware to its own dir & refactor
* refactor error handling, enable retries in createInstance
* fix invocation of createInstance - not caught by ts because record.js is js
* retry on 500 - according to system test, this is expected behavior
* resolve snapshots, report retries to stdout
* fix cdp connection usage of shouldRetry due to newly unknown error type
* axios doesnt fully follow RequestOptions shape when adding request to https agent
* note why uri is treated as optional
* hail mary on getting axios to work with v8 snapshots
* update lockfile, force no-rewrite on more axios files
* attempt to fix v8 snapshots
* add verbose debugging to api request logging
* enable verbose api debugging on server unit tests
* fix nock pattern for createInstance
* remove request logging unit test - sinon/mocha does not assert correctly
* fix a few unit tests
* use runAllAsync rather than waiting an arbitrary time for sinon fake timer
* move create_instance spec to ts file, remove redundant test
* rm debug on ci
* clarify comment on change inpackages/network
* correct .uri property on patched RequestOptions to be optional
* rm unused log_requests.ts, DRY error messages
* resolve types with record.ts migration
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* refactor record.js to extract upload logic into ts
- streamlines the main uploadArtifact fn
- extracts artifact specific logic to artifact classes
- fully defines types for upload processing and reporting
* tweak refactors so system tests produce same snapshots
* some todos, fixes exports/imports from api/index.ts
* fix api export so it can be imported by ts files
* cleans up types
* extracting artifact metadata from options logs to debug but does not throw if errors are encountered
* fix type imports in print-run
* fix debug formatting for artifacts
* fix reporting successful protocol uploads
* change inheritence to strategy
* rm empty file
* Update packages/server/lib/cloud/artifacts/upload_artifacts.ts
* makes protocolManager optional to uploadArtifacts, fixes conditional accessor in protocol fatal error report
* missed a potentially undef
* convert to frozen object / keyof instead of string composition for artifact kinds
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* Adding prototype before-quit handler to handle async teardown.
* Getting binary builds
* Let's try this then
* Working the async changes backwards, hope I got them all. Unit tests will be a disaster currently.
* Actually getting build artifacts for testing
* Moving logic to server interactive/run
* fix: Fix some tests
* fix: Revert changes to circle config
* fix: Fix some tests
* fix: Fix more tests
* fix: Remove dead code comment
* fix: Fix ProjectDataSource tests
* fix: Add comment prefix
* fix: Remove comment and unnecessary async
* fix: Build Mac binary
* Reverting run changes
* Addressing PR comments. Cleaning up a few naming quibbles I had.
* Addressing TODO regarding onLoadError watcher cleanup.
* Correcting catch
* Fighting some unref errors on these catches
* Reverting making this private en lieu of binding
* Should have left these as instances, whoops
* Removing unnecessary test that was previously skipped
* Adding a couple cheap unit tests for the new interactive mode behavior
Co-authored-by: Tyler Biethman <tbiethman@gmail.com>
Co-authored-by: Tyler Biethman <tbiethman@users.noreply.github.com>
* chore: Un-skip some tests
* chore: Unskip more tests
* chore: Use exec rather than spawn
* chore: Fix test
* chore: Remove events_spec tests
* chore: Add defaultValue for specPattern option
* chore: Remove default value
* chore: Use os to determine system arch and platform during testing
* chore: Add comment for specPattern defaultValue
* chore: Remove comment
* Support setting testingType specific config at root via cli args
* Properly merge CLI testing-type specific arguments
* Include CLI overrides when refreshing project config in dataContext
* Make TS happy
* Update config nesting to work without explicitly passed in testing type
* Fix types
* Fix types gooder
* Fix server unit test for config nesting
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* no longer check if dev to show devtools
* match tests to new behavior
* remove 'withDevTools` option
* Revert "remove 'withDevTools` option"
This reverts commit ff4a8b96e4.
* rename withDevTools to withInteralDevTools
* coniditionally show internal dev tools in menu
* test nesting
* develop: (40 commits)
fix(driver): Sticky elements within a fixed container will not prevent an element from being scrolled to (#18441)
chore: make `create` function on server.ts obsolete (#18615)
docs: Add instructions to squash commits to develop in Contributing (#18728)
fix(@cypress/react): throw if using Next.js swc-loader without nodeVersion=system (#18686)
refactor: remove Ramda (#18723)
chore: Increase paralleled machines for desktop-gui tests (#18725)
chore: Update Chrome (stable) to 95.0.4638.69 (#18696)
chore: release @cypress/vue-v3.0.4
chore: release @cypress/react-v5.10.2
chore: release @cypress/schematic-v1.5.3
fix: remove outdated registry link (#18710)
chore: release @cypress/schematic-v1.5.2
chore: release create-cypress-tests-v1.1.3
chore: Update Chrome (beta) to 96.0.4664.27 (#18676)
chore(tests): Remove flaky assertion that relies on png how compression (#18668)
fix: make sure to go back to no-specs when delete spec file (#17760)
fix: Next.JS 12 components testing failing with ` TypeError: Cannot read property 'traceChild' of undefined` (#18648)
Backport .gitignore from unified-desktop-gui
chore(docs): add 'Upgrading Electron' instructions (#18594)
release 8.7.0 [skip ci]
...
* wip
* wip
* Adding required icons and strings for spec list
* adding icons with some duplication
* wip
* fixing the colors and classes
* removing the Icon from usage in the button and input
* green => jade
* wip
* Fixes
* wip
* merge
* fixing no projects state
* Adding better spec pattern parsing
* Adding routing for the runner
* adding more tests
* update tests
* chore: lint
* update types
* types
* chore: align vue-i18n version
* update findSpecs
* remove old spec
* omit new properties returned from findSpecs
* fix test
* use different type
Co-authored-by: Jessica Sachs <jess@jessicasachs.io>
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
* wip
* wip: use async/await
* slowly refactor
* slowly refactor
* use typescript
* use async/await
* update spec
* do not use tap because bluebird sucks
* refactor
* update
* remove bluebird
* update
* remove then
* change to async/await to make it easier to reason about
* remove more bluebird
* no more bluebird
* remov ts ignore
* do not tap
* refactor
* simplify cfg
* move static methods to separate file
* update snapshot
* comment out test
* simplifying options merging
* update tests
* change order of options
* move code out of project-base
* update tests
* update tests
* type reporter
* simplify onWatchSettings function
* sep starting websockets and watching settings. reduce need to pass large cfg object
* move util functions out of project class
* move tests to new file
* update test
* move code around
* update tests
* remove need to pass options to getConfig
* fix tests
* separate get and init config
* set browser warnings in initializeConfig
* move Ct specific concerns to same function
* do not pass config to initializeSpecStore
* remove onOpen function
* improve types
* update typing errors
* update types
* types
* fix types
* update tests
* update tests
* fix tests
* update tests
* comment back in test
* update methods
* update types
* add defensive code against config.clientRoute
* do not use async
* update tests
* use same baseUrl for proxy regardless
* remove comment
* revert change to baseUrl
* update example build scripts
* remove old scaffolding relics
* update
* Fix some issues with scaffolding
* Correctly fix issues with scaffolding
* Replace old onboarding with new banner
* Add ability to remove scaffolded files
* Add banner for new users
* Update tests for new scaffolding
* Compare file sizes before removing
* Add tests for remove file
* Save when user opened cypress rather than boolean
* Update intro link and add tets for banners
* fix small issue
* Update design and copy of onboarding banners
* Update style of new spec file button
* Improve outline button active statE
* Update design of new project a bit more
* Fix specs list tests
* Update banner copy and layout
* Update banner copy and layout
* Switch to docs style alerts
* Fix testing logic
* Update banner styles a bit
* Update banners
* Add confirmation modal for delete specs
* Update tests and fix states
* Upgrade kitchensink dep
* Upgrade kitchen sink version and fix unit tests
* Update integration scaffolding test
* Add further description to warning modal
* Update test for new user and new project case
* Remove check to file tree when removing files
* Update kitchensink version
* Fix edge case where banner could appear when no files have been scaffolded
* Fix tests
* Update styling for 'note' when deleting files
* fix issue with path on windows
* Change remove command
* Fix rm dir
* Fix for windows
* Try to use appveyor to test
* appveyor please
* getting some feedback
* Why doesn't this work
* more info
* I have a feeling this works
* maybe its the other path
* please
* this is the one
* this is it
* this should work
* try reverting that change that might not be needed
* remove appveyor testing scaffolding
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>