* https-proxy: unused file
* server: wrap all https requests that use a proxy
* server: use request lib in ensureUrl if proxy is in use. this makes runs tab work behind a proxy
* electron: pass --proxy-server to app itself, so the embedded github login page works
* cli: first attempt at env vars from windows registry
* cli: api cleanup
* cli: lint
* cli: fix crash on no proxy, add tests
* add desktop-gui watch to terminals.json
* cli: pass along --proxy-source
* electron: pass --proxy-bypass-list too
* server: whitelist proxy* args
* cli: better wording
* desktop-gui: display proxy settings
* extension: force proxy [wip]
* extension: finally, i am victorious over coffeescript
* extension: add -loopback to bypasslist
* extension: revert changes
Revert "extension: force proxy [wip]"
This reverts commit 3ab6ba42a763f25ee65f12eb8b79eb597efc9b11.
* desktop-gui: skip proxysettings if there aren't any
* https-proxy, server: proxy directConnections using https-proxy-agent
* https-agent: pool httpsAgents
* https-proxy: work when they're not on a proxy
* https-proxy: ci - use agent 1.0
* https-proxy: tests
* desktop-gui: hide proxy settings when not using proxy
* https-proxy: pass req through to https-proxy-agent callback
* cli: use get-windows-proxy
* desktop-gui: always show proxy settings
* server: use get-windows-proxy
* electron, server: supply electron proxy config when window launched
* server: fix
* https-proxy: cleanup
* server: clean up ensureUrl
* https-proxy: cleanup
* cli: fix
* cli: fix destructuring
* server: enable ForeverAgent to pool HTTPS/HTTP connections
#3192
* server: updating snapshot
* https-proxy: don't crash, do error if proxy unreachable
* https-proxy:
* get-windows-proxy@1.0.0
* https-proxy: use proxy-from-env to decide on a proxy for a url
* server: fallback to HTTP_PROXY globally if HTTPS_PROXY not set
* server: proxy args test
* cli: add proxy tests
* cli: add test that loadSystemProxySettings is called during download
* cli, server: account for the fact that CI has some proxy vars set
* https-proxy: ""
* cli, https-proxy, server: ""
* desktop-gui: update settings gui
* desktop-gui: cypress tests for proxy settings
* server: strict undefined check
* cli, server: move get-windows-proxy to scope, optionalDeps
* server, cli: use new and improved get-windows-proxy
* cli, server: 1.5.0
* server: re-check for proxy since cli may have failed to load the lib
* server, cli: 1.5.1
* server: NO_PROXY=localhost by default, clean up
* https-proxy: disable Nagle's on proxy sockets
\#3192
* https-proxy: use setNoDelay on upstream, cache https agent
* https-proxy: test basic auth
* https-proxy: add todo: remove this
* server: add custom HTTP(s) Agent implementation w keepalive, tunneling
* server: typescript for agent
* add ts to zunder
* server: more ts
* ts: add missing Agent type declaration
* server: create CombinedAgent
* server: use agent in more places
* ts: more declarations
* server: make script work even if debug port not supplied
* server: begin some testing
* server, ts: agent, tests
* server: test
* server: agent works with websockets now
* server: update snapshot
* server: work out some more bugs with websockets
* server: more websockets
* server: add net_profiler
* https-proxy: fix dangling socket on direct connection
* server: fix potential 'headers have already been sent'
* https-proxy: nab another dangler
* server: update test to expect agent
* https-proxy: fix failing test
* desktop-gui: change on-link
* server: add tests for empty response case
* server: tests
* server: send keep-alive with requests
* server: make net profiler hook on socket.connect
* server: only hook profiler once
* server: update tests, add keep-alive test
* server: only regen headers if needed
* server: move http_overrides into CombinedAgent, make it proxy-proof
for #112
* server: update snapshot
* server: undo
* server: avoid circular dependency
* https-proxy, server: use our Agent instead of https-proxy-agent
* server: add dependency back
* cli: actually use proxy for download
* server, launcher, ts: typescript
* Revert "server, launcher, ts: typescript"
This reverts commit d3f8b8bbb6.
* Revert "Revert "server, launcher, ts: typescript""
This reverts commit 818dfdfd00.
* ts, server: respond to PR
* server, ts: types
* ts: really fix types
* https-proxy, server: export CA from https-proxy
* agent, server, https-proxy: move agent to own package
* agent => networking, move connect into networking
* fix tests
* fix test
* networking: respond to PR changes, add more unit tests
* rename ctx
* networking, ts: add more tests
* server: add ensureUrl tests
* https-proxy: remove https-proxy-agent
* server: use CombinedAgent for API
* server: updates
* add proxy performance tests
* add perf tests to workflow
* circle
* run perf tests with --no-sandbox
* networking, ts: ch-ch-ch-ch-changes
* server, networking: pr changes
* run networking tests in circle
* server: fix performance test
* https-proxy: test that sockets are being closed
* https-proxy: write, not emit
* networking: fix test
* networking: bubble err in connect
* networking: style
* networking: clean p connect error handling
* networking => network
* server: make perf tests really work
* server: really report
* server: use args from browser
* server: use AI to determine max run time
* server: load electron only when needed
Co-authored-by: Brian Mann <brian@cypress.io>
* chore: upgrade commit-info to 2.1.1 in server, close#2848
* chore: using mocked-env to test CI params
* update more CI env tests
* update last CI tests to use mocked-env
* test git commit info from environment variables
* do not crash on undefined when running npm t
* remove duplicate object key to pass linter
* WIP creating a new banner + summary table for runs [skip ci]
* WIP continuing to iterate on new run output, use tables for results [skip ci]
* log -> debug
* switch out 400 -> 412 status code on schema errors
* update humanTime to take short or long formats
* debug the starting argv
* create terminal-size wrapper to return terminal columns + rows
* created custom terminal tables for displaying new stdout results for running multiple specs
- made tables responsive when columns < 100
* add e2e tests around exiting with error when browser cannot be found or specs cannot be found
- instead of creating a run, immediately die without making any requests
- improve BROWSER_NOT_FOUND error message
* strip ansi color codes from terminal spec, use chalk instead of colors
* pass webUrl from recording runs to be able to display URL before tests run
* finished new stdout flow for running specs iteratively
* when webUrl is present, display the recorded run in the header + footer
- move from ‘white’ to ‘reset’
- tighten up intro table
* change results output from "Video Captured" to "Video" to pair with newest config option
* use runUrl, not webUrl, fix white space, ensure that e2e snapshots are accurately normalized
* use console.log, not console.error to capture stdout for dashboard
* e2e tests around logging warnings when cannot record video
* 0 seconds -> X seconds
* Tests Starting -> Run Starting, Tests Finished -> Results
* Started video recording -> hr line break
* All Done -> Run Finished
* evenly space stdout section headers
* add a new line when exiting early from bundle errors
* sanitize stdout better, replace duration seconds, etc
* update all the various e2e stdout snapshots
* ensure that COLUMNS env is set to 100 for snapshots to pass
* better logging for env var
* env -> stdout
* store as string
* remove columns
* echo columns
* add columns back in
* comment out
* set terminal columns
* cleanup circle.yml [skip ci]
* normalize more result properties for browser, os, cypress
* set columns for server tests
* enforce no colors and correct columns + rows for e2e tests, fix cloning env vars
* update e2e tests for newest stdout
* set env vars for columns + lines for e2e tests, remove stty
* fix snapshots when duration is X second, X seconds, or XX seconds
* use process.env.COLUMNS not process.stdout
* ugh
* stringify
* log crap out
* quotes oh my
* fix failing e2e snapshot tests
* fix failing e2e tests
* fix failing integration tests
* fixes failing unit tests
* extract random string to util
* run specs in isolation, aggregate totalFailures, display output per spec, enable globbing for specs
* extract electron app ready into its own module
* WIP: e2e tests around spec isolation, snapshots, stdout, and complete test results
* removed unused and deprecated remove id's feature
* move fs_warn to fs util to promisify an fs singleton
* create a glob singleton util
* cleanup dead removeIds code
* extract files controller specs into its own file
* extract finding specs out of project instance into its own utility with no state
* use glob util singleton
* use fs util singleton
* lots of formatting and cleanup
* fixes failing headless specs
* fixes all failing unit tests
* fixes failing integration test
* WIP: temporarily throw old error msg
* WIP: skip failing --record integration tests for now
* fix failing e2e tests
* try installing on Windows
* Handle windows setup
- no browser detection on windows yet, just placeholder code
- symlink types
* add appveyor file
* add appveyor windows build
* use execa to run server unit tests
* run server unit tests on appveyor
* ignore root install errors
* upgrade rebuild-node-sass
and work on Json unit test that fails on Windows
* print npm version
before installing, commented out caching node modules in the root
* a few small tweaks for windows support
* fix bin-up in launcher project
use bin-up@1.1.0 for windows support, close#491
* cli: build script on Windows, close#492
* cli: build errors are fatal
* use cross-env in extension
Fixes environment variables on Windows in #490
* extension: fix 3 tests on Windows
1 more broken test remaining
* extension: use EOL before comparing text
* example: update test for Windows
* example: replace build.sh with build.js
Close#488
* remove trailing whitespace
* cli: build script again
* server: work on unit tests for windows
* binary: add windows as build platform
* windows: try building binary
started work on building on CI for windows