* chore: improve performance of server unit-tests
* update screenshots spec to run faster
* improve timing of more server unit tests
* revert the project spec changes
* fix path resolutions
* chore: bump firefox version we test against to 141
* account for unspecified sameSite which is now available in firefox 140
* fix expected error string for invalid cookie
* override FORCE_FIREFOX_CDP firefox 141
* fix cdp override in ff 141+
* maybe fix cookeie system tests? seem to time out locally
* set family as well as name
* fix system tests fore ff 141
* fix ff deprecation
* rm erroneous err param
* assume firefox is modern in cookies driver e2e test
* Update system-tests/lib/system-tests.ts
* we do still run tests against firefox 134
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
Co-authored-by: Cacie Prins <cacie@cypress.io>
* chore: cut over mocha tests to vitest in @cypress/vite-dev-server
* breaking: make @cypress/vite-dev-server an ESM only package
* feat: support vite version 7 in @cypress/vite-dev-server
* build binaries
* test
* fix: file import issues on windows
* avoid optimized deps to suppress extraneous console logs
* does this work?
* chore: add unit tests for getVite as the implementation as changed quite a bit
* chore: update changelog
* fix vite optimize dependency messages being logged out to the console
even though log level is silent
* fix issues with correct vite being invoked
* chore: address issues from code review
* Downgrade react in vite 7 project to fix deprecation warnings
* chore: Update Chrome (stable) to 137.0.7151.55
* empty commit
* chore: enable chrome for testing for system tests as we need it to test extension loading in chrome
* Update system-tests/test/plugins_spec.js
Co-authored-by: Matt Schile <mschile@cypress.io>
* address comments from code review
---------
Co-authored-by: cypress-bot[bot] <41898282+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
* chore: convert cache.js file within server to TypeScript
* update cache calls and await them
* updates to imports and switching cache calls to await
* remove Partial from Allowed State
* change cache calls back to not await
* Remove dead code
* update memo.push return
* chore: set up sharing of react via module federation in studio
* chore: add ability to load types from the studio bundle
* fix build
* fix build
* fix build
* chore: pass file preprocesor override to protocol as debug data
* fix tests
* PR comments
* PR comment
* update types
* init vitest unit test harness for @packages/driver
* unit tests with stack examples
* drop lines until __cypress/tests rather than just __cypress
* changelog
* changelog
* remove vitest globals (unnecessary) from driver tsconfig
* bump the number of junit reports expected from the unit tests job
* fix ts-check error in scroll.ts
* fix type definition for getInvocationDetails
* rm packageManager key on package.json
* remove junit reporter, as script that verifies result does not recognize it as valid
* change @ts-expect-error to @ts-ignore for .scroll, as this ts check is apparently flaky
* set expected mocha result back to 19
* add ct style stacks for cy in cy ct tests
* re-enable junit reporter, update mocha result verification to be more lenient about the order of xml fields
* persist binaries for this branch
* expect 20 junit reports again
* fix mocha v vitest verification?
* add binary system test to verify correct file paths for codepoints in protocol events
* fix invocation details system test filename
* add required config for binary tests
* build on darwin to fix binary system tests
* build linux-arm64 for this branch
* simplify binary test
* build windows binary
* rm binary system test
* Update cli/CHANGELOG.md
* remove experimentalSkipDomainInjection, add and deprecate injectDocumentDomain
* remove experimentalSkipDomainInjection, add injectDocumentDomain
* begin rethreading domain injection
* complete document domain transition
* move some cookie specs to separate test run
* origin and privileged commands with default docdom inject
* fix privileged channel when injecting document domain
* rm unnecessary .getOrigin abstraction in cors lib
* move remote-states in prep for refactor Replace Conditional with Polymorphism
* refactor remote states to strategy pattern
* cookie commands work as expected w cross origin bridge on different origins
* some origin tests updated
* run tests with document domain enabled
* run tests actually
* use correct config, swap conditional
* check-ts
* inject documetn domain for webkit tests
* do not exec injectDocumetnDomain in parallel
* fix ServerBase construction in tests to include cfg now
* pass cfg to ServerBase
* improved integration tests
* remove document domain checks for all server integration specs - will add injectDocumentDomain cases
* tests for injecting document domain when configured to
* square away server integration tests
* ensure cookies are set correctly, potentially
* errors pkg snapshots
* fix config tests
* fixing config tests
* somewhat improves tests for cors policies in packages/network
* fix ts err in server-base
* enable injectDocumentDomain for cy in cy tests
* fix Policy type ref
* refactor cypress-schematic ct spec to be less prone to timeouts
* run vite-dev-server tests with injectDocumentDomain
* rm document domain assertion from page_loading system test
* add system tests that test with injectDocumentDomain and others that test with cy.origin
* fix results_spec snapshot
* update experimentalSkipDomainInjection system test
* different behavior for certain net_stubbing tests based on injectDocumentDomain or not
* fix ts
* extract origin key logic from remote states, for now
* move server-base and response-middleware over to new pattern
* WIP - reentry
* fix build, remove console.log
* check-ts
* fix spec frame injection
* remove injection for localhost
* mostly fix vite-dev-server app integration tests
* fix codeframe in certain cases in chrome
* drop internal stack frames from stacks intended for determining code frame data
* some improvements to vite ct error codeframes
* fix proxy unit tests to use document domain injection util class
* rm .only
* fix all vite ct error specs
* rm console.log
* slight refactor to util class to make easier to test
* fix refactor - missing rename in files.js
* several tests do not set testingtype in config, so just check against component instead of checking for e2e
* revert changes to getInvocationDetails to see if that breaks tests
* re-enable stack stripping in invocation details for chrome
* new snapshots with more accurate invocation details
* test for same-site cross-origin cookie behavior
* ignore window.top ts errors
* revert forcing injectDocumentDomain in vite-dev-server cy config
* fix normalized whitespace for firefox "loading_failed" error
* always trim trailing wsp from stack before appending additional content
* force normalization of whitespace to three \n when adding additional stack details
* normalize wsp between stack and additional stack to "\n \n" in firefox
* remove stack_utils attempt at normalizing wsp
* various cleanup: remove commented console logs, add more detailed comments
* add on links to error messages
* remove experimentalSkipDomainInjection from exported type defs
* Update system-tests/test/experimental_skip_domain_injection_spec.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update packages/driver/cypress/e2e/e2e/origin/cookie_misc.cy.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* no need to coerce a boolean value to a booleanc
* export base config from primary cypress config in driver for use in inject-document-domain test subset
* lift experimentalSkipDomainInjection breaking option to root
* rollback config/options changes
* rm invalid comment
* use hostname instead of origin to create cookie from automation cookie
* clarify stack regex in results_spec
* lint
* take a stab at the changelog entries for this
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* reenable locally-failing test
* changelog
* snapshot updatesfor experimental skip domain injection err msg
* remove packageManager declaration in package.json
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* misc: implement webdriver npm package as the client for the webdriver specification
* misc: go back to xulstore to save browser preferences [run ci]
* add changelog [run ci]
* chore: fix screenshot resolution [run ci]
* fix check-ts issues [run ci]
* run windows ci [run ci]
* run ci
* add comments [run ci]
* build binaries for webdriver impl [run ci]
* fix Cypress namespace missing issue. see 6d7ba97c25
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* patch edgedriver and preserve dependency paths for webdriver so they are included in the binary [run ci]
* fix issues with firefox profile not being created in open mode when old profile exists from previous cypress versions where they are no longer compatible [run ci]
* address comments that came up in review [run ci]
* see if this fixes extension test [run ci]
* make sure process kill emits the exit event [run ci]
* update geckodriver to include contribution patch to types [run ci]
* fix misapplication of geckodriver package (accidentally deleted) [run ci]
* empty commit to trigger ci [run ci]
* address comments from code review [run ci]
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* misc: replace marionette-client with geckodriver as b2g marionette client is no longer supported [run ci]
* install pump [run ci]
* refactor to have geckodriver launch the browser and split out webdriver to own class [run ci]
fix other failing tests [run ci]
fix other failing tests [run ci]
pass env variables to firefox
* fix sigkill / treekill issues on windows with firefox binary being a dangling process [run ci]
* fix issue where browser in headed mode was not starting maximized [run ci]
* stub firefox_spec added deps different to get type inference
* add comment to geckodriver patch
* move capabilities to verbose debug statement
* update changelog
* address comments from code review
* add pending for changelog
* update with suggestions from code review
* remove debug enable as the process needs to be bound to stderr and stdout
* add comment on why we need to bind
* add comments from code review
* address comments from code review
* make sure sessionId is set
* [protocol] throw error verifying sig
Not throwing is surfacing as an upload error when it's a download error.
* adds system test snapshot for invalid signature
* changelog
* pending
* Update cli/CHANGELOG.md
---------
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
Co-authored-by: Cacie Prins <cacie@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* misc: report protocol capture afterSpec duration to cloud
* WIP: collecting afterSpec durations, TODO: system test scaffolding
* push all afterSpec timings to cloud
* push afterSpecTotal instead of afterSpec property
* changelog
* fix trailing slash in readme
* fix afterspec duration unit test
* correct return signature of afterSpec; add debug
* changelog
* Update packages/server/lib/cloud/api/index.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update packages/server/lib/cloud/protocol.ts
* fix ts check
* fix unit tests re: expected afterSpec sig
* fix return sig of protocol afterSpec stub for system tests
* use env var directly in tests for capture error codepath, rather than override var
* rm unused param
* bump cache
* changelog
* remove pending runnables duration from afterspec report
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* feat: add CT support for angular 18
* chore: update system test for angular 17 to use released version [run ci]
* chore: add ignore engines for system test install until Electron 29 update is finished
* empty commit to run ci
* fix changelog
* fix changelog
* new error messages
* errors for initialization and capturing test replay
* messaging the case where no protocol instance but also no fatal error
* adds suggested remedies to initialization errors
* differentiation between network and http errors, initial work on db missing error
* improve db not found error
* add new error type to schema
* rm commented dead code
* clean up network error creation in uploadStream
* make artifact confirmation error msg more general
* test display of put instance artifacts failure
* changelog
* ensure we are displaying errors even in quiet mode
* fix pending changelog
* new snapshots for protocol errors
* improve aggregate error
* resolved html error snapshots
* fix check-ts
* fix test
* sanitize temp dir in CLOUD_PROTOCOL_CAPTURE_FAILURE error msg
* changelog
* fix double entry of certain network errors, error message prop for network errors
* fix url arg for network error
* Update packages/server/lib/cloud/artifacts/upload_artifacts.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* rm extra formatting from debug
* snapshot whitespace
* changelog update
* +pending
* Update cli/CHANGELOG.md
* resolve snapshots?
* does moving the stack trace fix whitespace in snapshots in ci?
* maybe fixes whitespace on electron now?
* fully normalize stack traces
* remove full normalization
* maybe debug stack normalization
* rm stack traces from error messages
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* chore: add additional context to messaging when network errors occur in protocol uploads
* reduce total attempts for uploading capture artifacts from 8 to 3
* dependency: upgrades electron from 25 to 26
* bump cache run ci
* fix docker img names
* ref electron upgrade branch
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* debug
* debug
* debug
* update search string for resize observer error swallow
* debug
* update integrity check
* update electron readme with upgrade troubleshooting section
* point to new publish binary workflow branch for electron 27
* update electron readme with locations of chromium & node versions for a given electron version
* update node versions and docker image refs
* update electron version to 27.1.3
* fix db nativeBinding arg
* chore: updating v8 snapshot cache
* install setuptools on mac when updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* run workflows on this branch run ci
* require addon directly and pass to better-sqlite3 init; debug
* rm debug
* try loading better-sqlite with a more dynamic filename
* bump electron version
* bump electron version
* bump electron version -- run ci
* bump electron version -- run ci
* bump electron version -- run ci
* bump electron version -- run ci
* bump electron version -- run ci
* add a step to update workflows.yml to electron upgrade process
* reduce retry limit on issue 1244 test to prevent circle from thinking tests have hanged
* target main branch of binary publish workflow? run ci
* Update .node-version -- run ci
* Update CHANGELOG.md
* Update module_api_spec.ts
* point publish binary back to electron upgrade branch
* Adds some logging re: cachedDataVersion
* use precise electron version for better-sqlite3 for centos7
* Update CHANGELOG.md
* chore: fix issue with bytenode (#28568)
* fix jsc for 27 -- run ci
* Update smoke.js
* fix build
* update electron upgrade steps
* Update packages/electron/README.md
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
* Update cli/CHANGELOG.md
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
* fix DebugEmptyStates component test
* try to fix downstream build -- run ci (#28649)
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
* point to consolidated binary publish branch
* revert webpack-preprocessor-awesome-typescript-loader update
* revert certain system tests
* increase padding for module api system test duration window
* account for differing screenshot sizes
* screenshot size differs locally vs ci
* update protocol snapshots
* Update after-pack-hook.js
* fix flaky slideshow
* correct the chromium version in changelog
* use 18.17.1 internal images
* workflow filters
* fix trailing checkbox in electron readme
* add solution to crashing better-sqlite3 in electron readme
* Update packages/electron/README.md
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update scripts/after-pack-hook.js
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update scripts/after-pack-hook.js
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update scripts/after-pack-hook.js
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* add branch to setup_should_persist_artifacts
* debug app e2e test
* bump cache
* upgrade browsers-internal to chrome 121
* revert to chrome 118 images
* bump cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* bump cache
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* logic for activity indicator
* update snapshot & masking to handle upload duration, remove defunct mask for upload order
* update changelog
* check for existence of upload activity indicator before attempting to stop it
* updates changelog
* Update cli/CHANGELOG.md
* upload activity display improvements; configurable intervals and delays
* system test snapshots for video compression
* default delay and interval based on undefined rather than falsy
* reduce interval so upload indicator is captured in certain system tests
* Update CHANGELOG.md
* Update CHANGELOG.md
* remove initial delay for upload activity
* correctly evaluate if an upload activity interval env is set or not
* re-inserts spacing before upload activity indicator
* snapshots
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* feat: display how long artifacts take to upload
* adds changelog entry
* add PR link to changelog
* bump circle cache
* previous masking was too greedy, made upload duration masking more limited in scope
* update snapshots for video compression system tests
* links changelog for upload durations to open issue
* reorder upload result manifest - show duration after filesize instead of after count
* update stdout normalization regex to be less applicable across system tests
* maybe better regex for masking
* another snapshot attempt
* chore: add after:browser:launch node event (#28180)
* test: update mochaEvent snapshots to be auto-generated (#28224)
* feat: add support for angular 17 (#28152)
* feat(webpack-dev-server): add support for angular 17
* update changelog
* fix broken spec pattern
* update to rc 2 for cli
* remove = from dependency minVersion lists
* update angular 17 rc version and update dep test
* add projectDirFolder to fixtures for angular-17
* resolve broken system tests
* update ct project dir angular version
* fix: runIfWaitingForDebugger when targets are reloaded after crashing (#28254)
* Update cli/CHANGELOG.md
Co-authored-by: Matt Schile <mschile@cypress.io>
* update snapshots
* Update CHANGELOG.md
---------
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* fix: set a crashed flag when cri detects a crash, throw on send if crashed
* changelog update
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* update snapshots
* updates changelog, updates crash handling snapshot
* electron tab crash snapshot fix
* electron tab crash snapshot...
* add wsp to eol on snapshot - maybe the diff?
* more whitespace?
* update snapshots again
* fix screenshot res in electron tab crash snap
* updates changelog
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* feat: update to electron 25 and bump node dependencies. need to remove
custom docker image
* chore: update node versions to 18+ [run ci]
* chore: bump @types/node from v16 to v18 and bump the typescript supported CLI version from 3.9 to 4.4
* update mock-fs to 5.2.0 to fix BigInt issue (see https://github.com/tschaub/mock-fs/releases/tag/v5.1.4) [run ci]
* chore: update electron integrity check to pass create binary job
* chore: fix issues with achrinza/node-ipc not yet having node 18 engine support (only up to 17 by patching from 9.2.2 to 9.2.5 as seen in https://github.com/achrinza/node-ipc/pull/38. vue/cli-service is not maintained and we should migrate these over to vue create at some point in the near future to get rid of these resolutions
* allow for TLSv1 tests to work with node 18 as the express server running node 18 with tlsv1 needs to allow legacy ciphers
* chore: update snyk workflows to use node 18
* chore: add changelog
* update timeout
* more cleanup during binary build
* bump cache and run ci. include ignore engines for rwa and get rid of
16.16 image references
* chore: update FF tests to 115 as serialization now works with errors and click events do not get fired on buttons being typed into
* chore: don't error when symlink already exists
* chore: fix serialization test for newer versions of firefox
* chore: fix CI config
* chore: fix chrome system tests to work with chrome 114. updates mostly caused by bugs in screen height in chrome. see https://bugs.chromium.org/p/chromium/issues/detail?id=1416398
* chore: test binary against vite update in RWA
* remove wait for RWA as it shouldnt be needed for vite. link example recipes update to node 18
chore: remove commented out code
* chore: print message when DISABLE_SNAPSHOT_REQUIRE is set
* chore: clean out unneeded dependencies always
* chore: remove trailing space
* fix: propagate click events for enter and typing on firefox 106 or later
* chore: fix changelog failures
* fix: correctly simulate click events for buttons on keyup and space type in Firefox versions greater than 91 and simulate click for buttons on enter in Firefox versions greater than or equal to 106
* chore: add documentation to type to clarify firefox synthetic events
* chore: update protocol snapshot as order or log messages seems to have changed
* update comments
* sort commandLogChanged events for protocol
* chore: remove PR ids from CRA and CER as the PRs are merged into develop
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>