Commit Graph

639 Commits

Author SHA1 Message Date
Bill Glesias
f3b67666a5 fix: update cypress to Typescript 5 (#29568)
* fix: update the monorepo to typescript 5

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* run ci to see problems [run ci]

* update vue-tsc and typings that conflict with update

* regen snapshot

* fix typescript errors ui test as stack trace behavior has changed

* fix server unit tests

* update cy.origin() spec based on stack traces and code frames

* update spec to include source map url

* run ci

* fix check-ts

* chore: fix system tests [run ci]

* add preprocessor tests to batteries included to exercise new logic

* run ci

* refactor unit tests to be a bit more dry

* pin typescript to ~5.4 and adjust config to ignroe deprecations but keep importsNotUsedAsValues

* add changelog entry

* add fixme issue to stack trace mismatches inside evaled context

* use import type webpack as webpack as a lib isn't actually invboked in the runner webpack config

* fix system test as adding 4 lines of comments impacts the stack trace line 4 lines (duh)

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2024-06-04 19:17:38 -04:00
Jennifer Shehane
ea83415637 chore: move questions-remain into cypress repo (#29542)
* chore: move questions-remain into cypress repo

* to js file

* SLASH!
2024-06-03 10:42:55 -04:00
Jennifer Shehane
20712f80b8 chore: remove special binary branch from running in binary pipeline (#29444) 2024-04-30 15:11:30 -04:00
Jennifer Shehane
cd0cb612dd dependency: bump Electron to 27.3.10 (#29431)
* fix: bump Electron to 27.3.10

* add changelog entry

* do windows builds for good measure

* temporarily set branch to publish binary with updated electron

* Update binary-integrity-check-source.js

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2024-04-29 17:44:34 -04:00
renovate[bot]
8db1b236e2 chore(deps): update dependency filesize to v10 (#29379)
* chore(deps): update dependency filesize to v10

* empty commit

* update filesize require

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-04-23 12:22:34 -04:00
Cacie Prins
3a739f3f4f perf: improve replay upload resiliency (#29174)
* tbd

* workable templated filestream uploader

* clean up async assertions

* upload stream uses activity monitor to detect start timeouts and stalls

* makes uploadStream retryable

* filesize detection, enoent errors, and testable retry delays

* extract fs logic to putProtocolArtifact, impl putProtocolArtifact

* aggregate errors for retryable upload streams

* fixes imports from moving api.ts, uses new upload mechanism in protocol.ts

* use spec_helper in StreamActivityMonitor_spec due to global sinon clock changes

* fix putProtocolArtifact specs when run as a part of the unit test suite

* fix return type of ProtocolManager.uploadCaptureArtifact

* convert from whatwg streams back to node streams

* extract HttpError

* ensure system test snapshots

* changelog

* more changelog

* fix unit tests

* fix api ref in integration test

* fix refs to api in snapshotting and after-pack

* small edits

* Update packages/server/lib/cloud/api/HttpError.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* Update packages/server/lib/cloud/upload/uploadStream.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* camelcase -> snakeCase filenames

* improve docs for StreamActivityMonitor

* added documentation to: upload_stream, put_protocol_artifact_spec

* move stream activity monitor params to consts - no magic numbers. docs.

* Update packages/server/lib/cloud/api/http_error.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* Update packages/server/test/unit/cloud/api/put_protocol_artifact_spec.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* fix check-ts

* fix imports in put_protocol_artifact_spec

* Update packages/server/test/unit/cloud/upload/stream_activity_monitor_spec.ts

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* api.ts -> index.ts

* fix comment style, remove confusingly inapplicable comment about whatwg streams

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2024-03-29 12:22:57 -04:00
renovate[bot]
adbefb6d8d dependency: update dependency jimp to v0.22.12 (#29055)
* fix(deps): update dependency jimp to v0.22.12

* changelog entry

* empty commit

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* remove reference to files that no longer exist

* Remove 'regeneratorRuntime' from allowList, this must have been removed from jimp

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2024-03-08 17:39:28 -05:00
Cacie Prins
2251f2d645 chore: rm electron-27 branch from publish binary script (#28951) 2024-02-15 13:38:12 -05:00
Bill Glesias
0ea72a4c62 chore: disable live reloading inside cypress component tests [run ci] (#28908) 2024-02-15 11:57:55 -05:00
Cacie Prins
3288aa5069 chore(dependency): Upgrade Electron 27 (#28792)
* 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>
2024-02-15 10:33:51 -05:00
Bill Glesias
7df6df45fa chore: update aws sdk (#28712)
* chore: update the awk-sdk to version 3 and awspublish to use version 3 (version 8) [run ci]

chore: add region to aws s3 bucket [run ci]

* run ci for aws_updates
2024-01-16 09:41:21 -05:00
Bill Glesias
f088ce6c49 chore: fix the get-binary-release-data script to try and locate all possible references that might be pull requests for a given commit. Also added debug messaging in the case this script needs to be debugged without spamming the console. (#28692) 2024-01-12 09:01:52 -05:00
Bill Glesias
d34fdcf60e chore: implement remote executable signing for windows binary builds (#28636)
* chore: implement remote executable signing for windows to comply with
new  signing key storage requirements [run ci]

* bump circleci cache to avoid electron install issues [run ci]

* chore: use fs-extra to ensure and create directory for temporary files and use os package to locate OS tmp directory
2024-01-08 11:38:22 -05:00
Emily Rohrbough
862e263293 chore: remove / replace circleci polling jobs (#28605)
* remove-percy-funalize-polling

run ci

* remove wait-on-circle-jobs

* remove polling
2023-12-29 13:53:48 -06:00
Cacie Prins
77d661be52 chore: adds SKIP_RELEASE_CHANGELOG_VALIDATION_FOR_BRANCHES to verify-mocha-results allow list (#28582) 2023-12-22 15:39:58 -05:00
Cacie Prins
fd02263a2e chore: upgrade nvm on windows so we can install node 20 in kitchensink binary test (#28576)
* chore: upgrade nvm on windows so we can install node 20 in kitchensink binary test

* Update workflows.yml
2023-12-22 12:16:40 -05:00
Jennifer Shehane
690801a2fe chore(deprecate): Remove unused create-cypress-tests package (#28472) 2023-12-11 17:23:00 -05:00
Jordan
9337e4e1e0 chore: revert aws sdk PR (#28379) 2023-11-21 15:26:49 -05:00
Trivikram Kamat
537642a8c7 chore: migrate AWS SDK for JavaScript v2 APIs to v3 in scripts folder (#28249)
* fix: contributor checkout (run ci)

* .

* chore: run codemod on scripts/binary/s3-api.ts

* chore: format as per rest of the code

* chore(deps): use s3 client from AWS SDK for JavaScript v3

* chore(deps): use v3.450.0 of AWS SDK for JavaScript v3

* Update .circleci/config.yml

---------

Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Jordan <jordan@jpdesigning.com>
2023-11-20 22:48:48 -05:00
Jim Hays
34c8b1f884 refactor: Spellcheck (#27964)
Co-authored-by: Matthew Schile <mschile@cypress.io>
2023-10-11 10:06:10 -04:00
Ryan Manuel
9f3d5b4565 fix: build better-sqlite3 (#27968)
* fix: build better-sqlite3

* fix syntax

* fix syntax

* fix syntax

* fix syntax

* fix syntax

* fix syntax

* fix syntax

* fix syntax

* better sqlite3

* publish pre-release

* Update CHANGELOG.md

* add comment

* try to cache

* try and speed things up even more

* fixes

* improve caching

* improve caching

* improve caching

* fix build

* fix build

* Update scripts/binary/build.ts

Co-authored-by: Adam Stone-Lord <adams@cypress.io>

* Update centos7-builder.Dockerfile

Co-authored-by: Adam Stone-Lord <adams@cypress.io>

* Update centos7-builder.Dockerfile

Co-authored-by: Adam Stone-Lord <adams@cypress.io>

* Update CHANGELOG.md

* fix keys

* Update cli/CHANGELOG.md

* Update cli/CHANGELOG.md

* Revert "fix keys"

This reverts commit b1383d4432.

* fix keys

* fix build

* optimize

* bump cache

* optimize

* bump cache

* blank

* blank

* Update scripts/binary/trigger-publish-binary-pipeline.js

* Update cli/CHANGELOG.md

* Update CHANGELOG.md

* Update cli/CHANGELOG.md

---------

Co-authored-by: Adam Stone-Lord <adams@cypress.io>
2023-10-09 14:23:56 -05:00
Adam Stone-Lord
92cc6da758 chore: exit successfully when test report directory doesn't exist (#27986) 2023-10-06 11:41:00 -04:00
Dave Kasper
6bdebd7e5f chore: follow-up cli optimizations (#27974) 2023-10-04 14:07:46 -04:00
Adam Stone-Lord
4c11731ee1 chore: optimize task execution (#27848)
* Revert "chore: simplify build script (#27547)"

This reverts commit 0a86ec686e.

* Revert "chore: upgrade lerna to 6, cache build step (#26913)"

This reverts commit 9e60aeba8f.

* [run ci]

* chore: upgrade lerna to 6, cache build step (#26913)

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update lerna to 6

* [run ci]

* try caching build step

* we can't clean without building after

* add dependencies on scripts for npm packages

* update commands

* add config for data-context build step

* fix output configurations for npm packages, add gitignores

* revert changes to config and data-context build steps

* fix outputs

* run with cache

* fix outputs for cli

* actually fix outputs

* test with cache

---------

Co-authored-by: astone123 <adams@cypress.io>

* chore: simplify build script (#27547)

* chore: simplify build script

* update CI workflows

* fix workflows

* empty commit because Percy weirdness

* chore: add driver, reporter, config as implicit dependencies for runner package (#27559)

* run all workflows on branch

* chore: parallelize test-binary-against-recipes CI step (#27570)

* chore: fix some easy circular dependencies in dep graph (#27612)

* chore: remove gulp tasks from postinstall (#27616)

* empty commit

* chore: minor improvements to node_modules_install (#27647)

* chore: fix cypress:open and dev scripts

* run with cache [run ci]

* exclude mochaawesome assets from .yarnclean [run ci]

* bump cache again [run ci]

* run cached [run ci]

* chore: do not cache cli build step [run ci]

* update workflow command and docs for build-cli [run ci]

* fix commands that use scope [run ci]

* use different branch for publish repo [run ci]

* percy weirdness? [run ci]

* fix postbuild cli script [run ci]

* try to remove typescript from production binary [run ci]

* fix circular dependency [run ci]

* try removing ts from node_modules [run ci]

* remove typescript resolution [run ci]

* remove redundant target scripts

* update to lerna scoped commands

* remove unneeded yarn in lerna command

* try to fix Electron install in Windows workflow

---------

Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Dave Kasper <dave.m.kasper@gmail.com>
2023-10-04 12:25:00 -05:00
Adam Stone-Lord
784f0cfe82 chore: add utility for purging urls from Cloudflare cache (#27923) 2023-10-04 11:18:34 -04:00
Adam Stone-Lord
6073426806 chore: remove binary build step from Linux CI (#27959) 2023-10-03 12:42:34 -04:00
Ben M
1ec045fe98 chore: fix action to properly add PR to the Triage Board for visibility (#27917) 2023-09-27 09:55:55 -04:00
Matt Henkes
343097b9d2 chore: use docker compose to run cypress. (#27831) 2023-09-19 08:04:03 -05:00
Ben M
dc282cd7e8 chore: fix linting error (#27825) 2023-09-15 16:56:12 -04:00
Matt Schile
5eaa4d046c chore: updating browser version script to use versionhistory api (#27824) 2023-09-15 16:37:39 -04:00
Ben M
849da7c6f5 chore: update chrome PR creation workflow to add to firewatch board (#27821)
* chore: update chrome PR creation workflow to add to firewatch board

* chore: adding in ability to manually run job

* chore: changing how we add the chrome update PR to the firewatch board
2023-09-15 13:00:45 -04:00
Bill Glesias
b85dd752f2 dependency: update to electron 25 and node 18 (#27715)
* 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>
2023-09-07 15:26:09 -04:00
Matt Schile
e6bfb0fbfa chore: update changelogs for inadvertently released packages (#27691) 2023-08-29 13:56:09 -04:00
semantic-release-bot
44b4a52a5b chore: release internal-scripts-v1.1.0
[skip ci]
2023-08-29 11:11:45 -04:00
Chris Breiding
91d2845a24 chore: 13.0.0 release (#27690) 2023-08-29 08:43:43 -05:00
Chris Breiding
c763d85f54 chore: use SKIP_RELEASE_CHANGELOG_VALIDATION env var to skip release-… (#27670) 2023-08-25 16:44:13 -04:00
Ryan Manuel
b0df02b8d7 Merge branch 'develop' into release/13.0.0 2023-08-21 13:31:12 -05:00
Adam Stone-Lord
fe6f72f6c7 chore: fix get-published-artifact script (#27610)
* chore: fix get-published-artifact scripts [run ci]

* update unit test, check linux-arm workflow [run ci]

* circle workflow getting cached?
2023-08-21 12:34:56 -05:00
Matt Henkes
e06334d289 Merge branch 'develop' into release/13.0.0 2023-08-18 10:39:40 -05:00
Adam Stone-Lord
24f1460692 chore: revert changes to build process (#27584)
* Revert "chore: remove Typescript dependency from app node_modules in binary (#27577)"

This reverts commit 60d4c8356c.

* Revert "chore: simplify build script (#27547)"

This reverts commit 0a86ec686e.

* Revert "chore: upgrade lerna to 6, cache build step (#26913)"

This reverts commit 9e60aeba8f.

* build everything

* [run ci]
2023-08-18 10:05:29 -04:00
Adam Stone-Lord
60d4c8356c chore: remove Typescript dependency from app node_modules in binary (#27577)
* chore: try removing Nx cache from binary [run ci]

* try removing typescript dep [run ci]
2023-08-17 11:26:34 -04:00
Bill Glesias
a956fb4d0d Merge branch 'develop' of https://github.com/cypress-io/cypress into chore/merge_develop_into_release_13 2023-08-14 12:01:26 -04:00
Bill Glesias
faf66dc737 chore: fix gulp watch scripts using webpack as stdout is looking for webpack 4 based output and now needs to be updated to 5 (#27548) 2023-08-14 12:00:41 -04:00
Bill Glesias
b2b56cbd69 Merge branch 'develop' of https://github.com/cypress-io/cypress into chore/merge_develop_into_release_13 2023-08-14 10:37:14 -04:00
Bill Glesias
9f49d588a0 Merge branch 'release/13.0.0' of https://github.com/cypress-io/cypress into chore/merge_develop_into_release_13 2023-08-14 09:32:41 -04:00
Ryan Manuel
6ac7febe2d feat: remove protocol environment variable from binary (#27506) 2023-08-11 16:02:32 -05:00
Jordan
1061f858a8 chore: update tough cookie (#27515)
* chore: update tough-cookie from 4.0.0 to 4.1.3. requires v8 snapshot update

* fix: tough-cookie as of 4.1 doesn't default sameSite undefined to none any longer. However, we want to set sameSite === undefined to lax as the default as this is the case in every standard browser, except firefox. We did this previously and this is behavior we want to continue to preserve, even for security reasons

* chore: update v8 snapshots

* fix issue with global toString

* chore: run ci

* chore: update @cypress/request to 2.88.22 and @cypress/request-promise to 4.2.7 [run ci]

* remove jsdom and start-server-and-test

* revert @cypress/request back to 2.88.12

* update changelog entry

* remove uneeded deps

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2023-08-11 13:42:36 -04:00
Bill Glesias
fe6d3274f4 Merge branch 'develop' into chore/merge-develop-v13 2023-08-11 13:25:08 -04:00
Adam Stone-Lord
28189fb577 chore: remove check-ts from Gulp (#27492)
* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* [run ci]

* we can't clean without building after

* update commands

* add config for data-context build step

* fix output configurations for npm packages, add gitignores

* revert changes to config and data-context build steps

* run with cache

* fix outputs for cli

* actually fix outputs

* test with cache

* chore: remove check-ts from Gulp and use Nx

* try limiting concurrency

* try concurrency 1

* add check-ts to packages where it is missing

---------

Co-authored-by: jordanpowell88 <jordan@jpdesigning.com>
2023-08-10 16:04:25 -04:00
Jordan
9e60aeba8f chore: upgrade lerna to 6, cache build step (#26913)
* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update build-npm-modules script

* chore: update lerna to 6

* [run ci]

* try caching build step

* we can't clean without building after

* add dependencies on scripts for npm packages

* update commands

* add config for data-context build step

* fix output configurations for npm packages, add gitignores

* revert changes to config and data-context build steps

* fix outputs

* run with cache

* fix outputs for cli

* actually fix outputs

* test with cache

---------

Co-authored-by: astone123 <adams@cypress.io>
2023-08-10 11:12:38 -04:00