Commit graph

4731 commits

Author SHA1 Message Date
Kuba Janik ee91bdc585
feat(ui-mode): display list of query params in request tab (#32443) 2024-09-04 07:54:44 -07:00
Dmitry Gozman 60631409d6
chore: make dev server only use public config (#32441)
In preparation to make it a part of a plugin.
2024-09-04 01:29:55 -07:00
Dmitry Gozman d7393f998e
chore: simplify settings management in UI mode (#32440) 2024-09-04 01:05:07 -07:00
Simon Knott b3d767fa14
fix(trace viewer): fix memory leak (#32379)
In the `visit` method, we currently cache the rendered HTML for every
walked node. This re-use works well for traces that consist mostly of
references to earlier snapshots.
But for traces that don't share much, this is a large memory overhead
and leads to the memory crash documented in
https://github.com/microsoft/playwright/issues/32336. For the algocracks
amongst you, the current memory usage for an html tree $h$ is
$\mathcal{O}(|h| * \text{height}(h))$.

This PR removes that cache from the nodes and replaces it with a
snapshot-level cache, fixing the memory crash.
Traces *without* reference should not see a performance impact from
this.
Traces *with* references will have slower initial rendering, but
re-rendering maintains speed because of the snapshot-level cache.

Closes https://github.com/microsoft/playwright/issues/32336

---------

Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-09-04 09:57:15 +02:00
Playwright Service 2fabd15fef
feat(firefox): roll to r1463 (#32439)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-04 08:49:10 +02:00
Yury Semikhatsky d7b9cf21db
chore: ignore third-party execution contexts (#32437)
* Only track main and utility world contexts
* Properly update click metadata
2024-09-03 23:00:59 -07:00
Dmitry Gozman cfae7f755c
chore(test runner): always go through internal reporter (#32426)
This way we guarantee the API contract and do not miss errors because we
forgot to call `onBegin()`.
2024-09-03 22:38:02 -07:00
Yury Semikhatsky b75483bbb4
Revert "docs: deprecate: Request.serviceWorker() (#32136)" (#32432)
This reverts commit b7ed4d7b9e.
2024-09-03 10:18:20 -07:00
Yury Semikhatsky 565aed6c39
Revert "chore: enforce tags format via typescript types (#32384)" (#32431)
After API review we decided to revert it:
* VSCode extension and UI mode users already get the (runtime) error if
the tag is not prefixed
* The typescript error message is not very nice
* The type change would break those clients that generate tests with
tags passed as string

This reverts commit 90e7b9ebac.
2024-09-03 10:07:08 -07:00
Playwright Service 9f466a1ead
feat(chromium-tip-of-tree): roll to r1256 (#32423)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-03 17:12:54 +02:00
Simon Knott 201bad75d3
chore(test runner): rebase watch mode onto TestServerConnection (#32156)
Closes https://github.com/microsoft/playwright/issues/32076.

This PR rewrites `watchMode.ts` to use `TestServer` under the hood. It's
essentially a complete rewrite, so don't pay too much attention on the
old implementation. Note that there's no changes to tests, so all
behaviour we have specced out there still works.

To make this work without a superfluous WebSocket connection, I had to
refactor `TestServerConnection` a little. Originally, I pulled this into
a [separate PR](https://github.com/microsoft/playwright/pull/32132), but
then realised how small the refactoring is. So it's in this PR now. Let
me know if you'd like to land it separately.
2024-09-03 15:15:44 +02:00
dependabot[bot] 53bf9534ec
chore(deps): bump micromatch from 4.0.5 to 4.0.8 in /packages/playwright/bundles/expect (#32399) 2024-09-03 14:52:52 +02:00
Playwright Service 847d29dd86
feat(webkit): roll to r2069 (#32422)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-03 13:28:15 +02:00
Playwright Service 221b77309c
feat(webkit): roll to r2068 (#32417)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-03 09:54:14 +02:00
Przemyslaw Malolepszy b8c4a477ff
chore(docs): fix APIResponse.headersArray() desc (#32375) 2024-09-03 09:01:01 +02:00
Playwright Service d145c4c91c
feat(webkit): roll to r2067 (#32415) 2024-09-03 06:59:54 +02:00
dependabot[bot] 7318293355
chore(deps-dev): bump svelte from 4.2.9 to 4.2.19 (#32398) 2024-09-02 15:16:46 +02:00
Simon Knott f62f85ba51
fix(test runner): fix types to allow calling custom matchers on expect.poll (#32407)
The `'should support custom matchers'` test asserts that the
functionality works, but it was a type error. This PR updates the types
so that it's allowed.

Closes https://github.com/microsoft/playwright/issues/32408

---------

Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-09-02 13:42:15 +02:00
Playwright Service 5c2e9962b4
feat(chromium-tip-of-tree): roll to r1255 (#32376)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-02 09:54:58 +02:00
Playwright Service d9016e506e
feat(chromium): roll to r1133 (#32391)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-02 09:49:38 +02:00
Simon Knott 3f09d10601
fix(test runner): perform shallow clone check in config directory (#32299)
Our CI operates on shallow clones. In vcs.ts, we perform a check for
shallow clones in `process.cwd()` instead of the test directory. This
makes the test in
3c208aeeff/tests/playwright-test/only-changed.spec.ts (L201)
failing in CI, but only for PRs. The fix is to perform the check on. the
test directory.
2024-09-02 09:11:04 +02:00
Simon Knott cf8c14f884
feat(html reporter): open html attachments in new tab (#32389)
Closes https://github.com/microsoft/playwright/issues/32281.

HTML attachments get a linkified name that opens the attachment in a new
tab.
2024-09-02 08:35:53 +02:00
Kuba Janik a6b320e362
fix(ui-mode): format request body when headers are lower case (#32395)
Resolves https://github.com/microsoft/playwright/issues/32396

Currently, the request body is not formatted when content type header is
lower case (`content-type`). Even though the value is
`application/json`.

It happens because we are looking only for `Content-Type` header
ignoring headers that are lower case.

<img width="674" alt="363197933-5178ec23-b9cf-46b5-8284-e8d4d730b036"
src="https://github.com/user-attachments/assets/0ef01b52-7dd8-4f33-b836-9adb86f94cc9">
2024-08-30 16:21:51 +02:00
Simon Knott ed5c21b827
fix(ui): respect --output param (#32351)
Closes https://github.com/microsoft/playwright/issues/32331

We're already passing the `outputDir` param to the UI, but the UI isn't
passing it back to the TestServer. This PR fixes that. I've added it to
`listTests`, which is requires to that
`TestServerDispatcher#_ignoredProjectOutputs` is populated with the
correct output dir. And i've added it to `runGlobalSetup`, which is what
the bug report was about.
2024-08-30 08:29:49 +02:00
Yury Semikhatsky 90e7b9ebac
chore: enforce tags format via typescript types (#32384)
Leverage [template literal
types](https://www.typescriptlang.org/docs/handbook/2/template-literal-types.html).

Fixes https://github.com/microsoft/playwright/issues/32382
2024-08-29 14:16:49 -07:00
Pavel Feldman 74a8e59096
chore: allow recorder rewrite annotations (#32381) 2024-08-29 14:16:01 -07:00
Playwright Service 6763d5ab6b
feat(chromium-tip-of-tree): roll to r1254 (#32337) 2024-08-28 15:59:31 -07:00
Yury Semikhatsky 896190edbb
Revert feat(addInitScript): support cjs modules (#32364)
Reverting https://github.com/microsoft/playwright/pull/32282 and
https://github.com/microsoft/playwright/pull/32240.
2024-08-28 15:39:48 -07:00
Yury Semikhatsky 5271fe1f26
chore: remove unused request param from route.continue (#32307) 2024-08-28 08:24:44 -07:00
Playwright Service d61b207ce3
feat(webkit): roll to r2066 (#32343)
Fixes https://github.com/microsoft/playwright/issues/30305

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2024-08-28 08:23:39 -07:00
Pavel Feldman ec681ca78c
chore: pass explicit recorder app factory (#32349) 2024-08-27 20:24:19 -07:00
Pavel Feldman 0b5456d00b
chore: perform action based on frame path (#32347) 2024-08-27 17:17:57 -07:00
Pavel Feldman a1df11011c
chore: split recorder into files (#32345) 2024-08-27 14:10:21 -07:00
Pavel Feldman bc87467b25
chore: generate simple dom descriptions in codegen (#32333) 2024-08-27 11:52:14 -07:00
Pavel Feldman 177576a51b
chore: add simple dom util (#32332) 2024-08-26 16:28:40 -07:00
Pavel Feldman 6f55b57e5a
chore: move codegen into its own folder (#32330) 2024-08-26 15:24:02 -07:00
Yury Semikhatsky 888a5b53e7
docs: avoid confustion with incognito mode (#32327)
Fixes https://github.com/microsoft/playwright/issues/32321
2024-08-26 11:02:41 -07:00
Pavel Feldman 4340d153df
chore: deprecate locator.frameLocator() (#32306) 2024-08-26 10:28:54 -07:00
Pavel Feldman 3d9342aa77
chore: update removeAllListeners docs (#32305)
Closes https://github.com/microsoft/playwright/issues/31474
2024-08-26 09:29:02 -07:00
Max Schmitt 67d3d5f203
fix(clock): don't throw for |null| or |undefined| callbacks (#32309)
Fixes https://github.com/microsoft/playwright/issues/32293

This aligns it how Chromium and other browsers are doing it.
2024-08-26 09:26:38 -07:00
Max Schmitt 596f497633
fix: don't throw error on about:blank when blocking ServiceWorker (#32310)
Fixes https://github.com/microsoft/playwright/issues/32292
2024-08-26 08:27:21 -07:00
Playwright Service 5acd2dbf48
feat(webkit): roll to r2065 (#32322)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-26 10:25:59 +02:00
Simon Knott 1511d8643e
fix(test runner): expect.poll error reporting should handle non-expect errors (#32257)
Closes https://github.com/microsoft/playwright/issues/32256

We were expecting all errors to be of type `ExpectError`, but apparently
`expect` propagates rejections in the polling functions right through.
So we also need to handle that case.

I wonder if we have more cases of this. Would it make sense to enable
`useUnknownInCatchVariables` in TypeScript?
2024-08-26 09:39:25 +02:00
Playwright Service 9c81eab329
feat(webkit): roll to r2064 (#32319) 2024-08-26 06:56:08 +02:00
Dmitry Gozman abe6c04a54
chore: remove noWaitAfter from selectOption (#32283)
This follows removing this option from other methods in v1.46. The two
methods still supporting `noWaitAfter` are `click` and `press`.
2024-08-23 14:50:43 -07:00
Pavel Feldman 9d86bc5336
fix(dupe): render dupe test error indicator (#32303)
Fixes https://github.com/microsoft/playwright/issues/32093
2024-08-23 14:33:37 -07:00
Pavel Feldman 37eb66df10
chore: extract performAction in recorder (#32279) 2024-08-23 10:19:44 -07:00
Pavel Feldman 4edc076935
chore: load env from playwright.env when running codegen (#32280) 2024-08-23 10:19:36 -07:00
Playwright Service 8703dd4f06
feat(webkit): roll to r2063 (#32295) 2024-08-23 17:57:18 +02:00
Max Schmitt 1b220c5289
chore: remove Chromium Windows proxy hacks (#31724)
Fixes https://github.com/microsoft/playwright/issues/17252
2024-08-23 15:17:00 +02:00
Dmitry Gozman 9a5b72d02a
chore: remove TestInfoImpl._stages (#32285)
This is a preparation to a bigger stages cleanup.
2024-08-23 06:16:18 -07:00
Simon Knott 3fb33e7144
chore(ui): decouple TestServerConnection from websocket transport (#32274)
Preparation for https://github.com/microsoft/playwright/issues/32076.
2024-08-23 14:58:34 +02:00
Dmitry Gozman 785ca19e51
fix(webserver): prefix each line of webserver output (#32286)
This unflakes various `web-server.spec.ts` tests and makes the output
more consistent.
2024-08-23 03:52:27 -07:00
Dmitry Gozman 3a75f23ea1
fix(addInitScript): require non-undefined arg to trigger commonjs module (#32282) 2024-08-23 02:48:56 -07:00
Playwright Service 947fbc8590
feat(chromium-tip-of-tree): roll to r1253 (#32266)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-22 17:43:39 +02:00
Simon Knott 850436c656
chore(ui): move TeleSuiteUpdater into testIsomorphic (#32273)
Preparation for https://github.com/microsoft/playwright/issues/32076.
2024-08-22 17:29:10 +02:00
Max Schmitt 16e76cb71a
fix(client-certificates): errors during http2 TLS handshake (#32258) 2024-08-22 15:13:54 +02:00
Simon Knott 5368fd7ca7
fix(only-changed): exit successfully if there were no changes (#32197)
Closes https://github.com/microsoft/playwright/issues/32180

I was briefly wondering if we should output a log line a la "no tests
found", but my understanding is that that's the reporters job - so I
didn't change anything in that regard.
2024-08-22 14:53:00 +02:00
Dmitry Gozman 7758b330b1
fix(ui mode): make sure that reload does correctly restart the webserver (#32263)
Fixes #32103.
2024-08-22 05:48:31 -07:00
Dmitry Gozman 571f25a7d3
fix(role): hidden pseudos should not contribute to accessible name (#32251) 2024-08-21 11:14:41 -07:00
Dmitry Gozman d5a7495041
feat(addInitScript): support cjs modules when passing both path and arg (#32240)
This works with scripts bundled by:
- `esbuild entrypoint.ts --bundle --format=cjs --outfile=injected.js`
- webpack with a typical config
  ```js
  module.exports = {
    entry: { 'injected': './entrypoint.js', },
    output: {
      path: require('path').resolve(__dirname),
      filename: '[name].js',
      libraryTarget: 'commonjs2',
    },
  };
  ```
2024-08-21 09:46:38 -07:00
Yury Semikhatsky 918dbe5e3a
chore: start listening for navigation events before navigation starts (#32237)
There is a chance in case of cross-process navigation that the
navigation event comes before `navigateFrame` finishes.
2024-08-21 08:34:55 -07:00
Pavel Feldman 109cab66f1
chore: extract recorder dialog into a class (#32233) 2024-08-20 10:56:55 -07:00
Pavel Feldman fc4d8f2bb6
chore: roll codicon (#32234) 2024-08-20 10:56:46 -07:00
Dmitry Gozman b4a9b247b4
fix(role): make sure to ignore style/script/noscript/template (#32231)
Even when these are a part of a hidden `aria-labelledby` traversal, all
browsers ignore them anyway.
2024-08-20 09:02:23 -07:00
Simon Knott b599335404
chore(ui): enable react/recommended lint rules (#32214)
Closes https://github.com/microsoft/playwright/issues/32159. I
originally set out to enable Strict Mode for our React UI, but found a
way better thing: Enabling the lint rules we had already installed!

`eslint-plugin-react` is already in of our `package.json`, and this PR
enables it and fixes some of the reported issues. Most of them are
around the `key` prop which is mostly about performance, but there's
also fixes for misspelled `data-testid` props.
2024-08-20 14:16:28 +02:00
Kuba Janik f7e0bd3098
feat(ui-mode): add font preview to network tab (#32209)
Resolves https://github.com/microsoft/playwright/issues/32218

Currently, fonts are displayed as a raw binary file which does not give
any information to the users.
I replaced it with a simple font preview similar to the one found in the
dev tools of web browsers.
It is not a major feature but I think it is a nice addition and it might
be useful to somebody.

<img width="1043" alt="Screenshot 2024-08-17 at 18 33 46"
src="https://github.com/user-attachments/assets/a6cc7b57-7ea8-4a54-869d-57a44712597b">


https://github.com/user-attachments/assets/e52d9a72-fb2c-43c7-bfee-3d6d6edc6b6a
2024-08-20 08:28:02 +02:00
Dmitry Gozman 5271c26af1
fix(trace viewer): do not serve resources with x-unknown content type (#32219)
`x-unknown` is used as a placeholder for "no content-type" in the har.
We should not send it to the browser, because it is meaningfully
different from not sending `Content-Type` header. For example, Chromium
refuses to interpret stylesheets served with `x-unknown` content type.

Fixes https://github.com/microsoft/playwright-java/issues/1651.
2024-08-19 10:29:51 -07:00
Playwright Service 18694f6843
feat(webkit): roll to r2062 (#32147) 2024-08-19 19:29:23 +02:00
Sander c87ca052d1
fix(ct): vue jsx component.update type (#32213)
partial fix for:
https://github.com/microsoft/playwright/issues/31927#issuecomment-2267065378

The options object wasn't treated as partial, unlike in other
frameworks, which led to the `component.update({ props: {} })` type
being selected instead the `component.update(<Component prop={} />)`
during jsx usage.
2024-08-19 05:50:25 -07:00
Max Schmitt 010778f6c5
feat(client-certificates): allow passing certificates from memory (#32210) 2024-08-19 09:24:32 +02:00
Max Schmitt faf4853259
chore: validate client-certificates on context creation (#32168) 2024-08-19 09:02:14 +02:00
Playwright Service 570e05699e
feat(chromium-tip-of-tree): roll to r1250 (#32202)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-17 10:56:18 +02:00
Max Schmitt 743565ee3e
chore: generate self-signed certificates for socks proxy (#32192) 2024-08-16 20:21:05 +02:00
Simon Knott 3e6bba0b79
fix(only changed): make only-changed work together with list mode (#32196)
Closes https://github.com/microsoft/playwright/issues/32161

Turns out we were wrong in
https://github.com/microsoft/playwright/pull/31727#discussion_r1685793870!

Adds support for `--only-changed` in combination with `--list` by
removing our code to prevent that.
2024-08-16 17:12:45 +02:00
Dmitry Gozman c4bb24f02f
feat(test runner): record trace after a test-scoped fixture teardown times out (#32160)
Fixes #30718, fixes #31537.
2024-08-16 08:03:02 -07:00
Dmitry Gozman e17d1c498b
fix(test runner): timeout in fixture teardown should not prevent other slots (#32157)
When two fixtures have different time slots, timeout in the first one
should not prevent the second one from tearing down.

Similarly, timeout in afterEach hook should not prevent fixture
teardowns.
2024-08-16 04:25:00 -07:00
Simon Knott 06ffdd61c9
fix(only-changed): show nice error message about shallow clones (#32189)
Closes https://github.com/microsoft/playwright/issues/32188

---------

Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-08-16 11:41:01 +02:00
Dmitry Gozman 1537d3c2de
chore(test runner): make 'debug' an explicit option internally (#32154)
This allows any time slot that has a legitimate timeout of zero to be
updated later on. See test for an example.

Previously, setting timeout to zero at any moment was considered a
"debug mode" and any subsequent timeouts were ignored.
2024-08-16 01:44:37 -07:00
Rui Figueira b2ccfc3d01
chore(trace-viewer): support opening a source location in embedded trace viewer (#32175)
Related: https://github.com/microsoft/playwright-vscode/pull/513
2024-08-15 14:13:11 -07:00
Playwright Service e7b7c715b0
feat(chromium): roll to r1131 (#32174)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-15 20:41:27 +02:00
Max Schmitt a1d32d997c
fix(client-certificates): improve close handling from target and proxy (#32158) 2024-08-15 10:21:10 +02:00
Max Schmitt aac3a84321
fix(client-certificates): stall on tls handshake errors (#32163)
Extracted from https://github.com/microsoft/playwright/pull/32158.
2024-08-15 08:51:40 +02:00
Yury Semikhatsky 60900f8541
chore(webkit): add listeners directly without eventsHelper (#32149)
The listeners are never removed, so there is no point in wrapping them
with the helper
2024-08-14 08:38:49 -07:00
Max Schmitt 4daf5c2303
fix(client-certificates): when server does tls renegotiation (#32155)
Certain https servers like Microsoft IIS aka. TLS servers do the TLS
renegotiation after the TLS handshake. This ends up in two
`'secureConnect'` events due to an upstream Node.js bug:
https://github.com/nodejs/node/issues/54362

Drive-by: Move other listeners like `'close'` / `'end'` to `once()` as
well.

Relates https://github.com/microsoft/playwright/issues/32004
2024-08-14 15:11:29 +02:00
Playwright Service 856c4509a2
feat(chromium-tip-of-tree): roll to r1249 (#32148)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-14 00:46:53 +02:00
Dmitry Gozman f8eef3897c
chore: move urlMatch to isomorphic (#32142)
To be reused in injected code.
2024-08-13 12:47:02 -07:00
Yury Semikhatsky 6cc53cfce6
chore: move output parsing to concrete browsers (#32129) 2024-08-13 12:20:41 -07:00
Kuba Janik 0588834307
feat: allow URLSearchParams and string as params in APIRequestContext (follow-up) (#32143)
Follow-up to https://github.com/microsoft/playwright/pull/32120

I made some changes suggested by @yury-s in the previous PR that make a
lot of sense:
- added an example to the documentation
- improved tests
  - check params on the client and server end
  - reverted to non-English characters being used as params
2024-08-13 10:39:56 -07:00
Max Schmitt b7ed4d7b9e
docs: deprecate: Request.serviceWorker() (#32136) 2024-08-13 15:59:30 +02:00
Yury Semikhatsky a28f51a0f3
chore: use base BrowserType to reference browser types (#32125) 2024-08-12 22:20:58 -07:00
Kuba Janik 308381eeae
feat: allow URLSearchParams and string as params in APIRequestContext (#32120) 2024-08-12 14:22:03 -07:00
Rui Figueira 3d69c591d3
fix(web): use currentTheme instead of settings in toggleTheme (#32104) 2024-08-12 13:19:30 -07:00
Yury Semikhatsky 2ae196f708
fix(docs): API types do not extend EventEmitter (#32124)
Fixes https://github.com/microsoft/playwright/issues/32097
2024-08-12 11:22:48 -07:00
Simon Knott edd1894ac6
fix(test runner): run project dependencies of --only-changed test files (#32094)
Closes https://github.com/microsoft/playwright/issues/32070. We were
applying `additionalFileMatcher` not just to `filteredProjectSuites`,
but also to `projectSuites`. `projectSuites` is where we take dependency
projects from, though - so `--only-changed` led to empty dependency
projects, resulting in the reported bug.

The fix is to only apply `additionalFileMatcher` on
`filteredProjectSuites`.
2024-08-12 17:26:01 +02:00
Max Schmitt 0d575b4ef6
chore: less 'as any' in html-reporter (#32117)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Simon Knott <info@simonknott.de>
2024-08-12 15:17:42 +02:00
Simon Knott effb1ae234
fix(test runner): align with typescript behaviour for resolving index.js and package.json through path mapping (#32078)
Supercedes https://github.com/microsoft/playwright/pull/31915, closes
https://github.com/microsoft/playwright/issues/31811.

When TypeScript resolves a specifier via path mapping, it does not
interpret `package.json`. If path mapping resolves to a directory, it
only looks at the `index.js` file in that directory if it's in CommonJS
mode.

We need to mirror this in our `esmLoader.ts`.

---------

Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-08-12 15:05:19 +02:00
Simon Knott c8cc4f9c8b
chore(ui): update to react 18 (#32079)
Part of https://github.com/microsoft/playwright/issues/31863. Updates
most of our React usage to React 18. `recorder` doesn't seem to like it
yet. I suspect that some of our code isn't compatible with concurrent
mode, i've investigated that in
https://github.com/microsoft/playwright/pull/32101.

---------

Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-08-12 13:50:11 +02:00
Dmitry Gozman a30a8805c9
fix(expect): account for timeout during the first locator handler check (#32095)
Also considered an alternative to not perform the locator handler check
during one-shot, but that would be somewhat against the promise of the
locator handler that is supposed to run **before** every expect check.

Fixes #32089.
2024-08-12 01:57:15 -07:00
Simon Knott 45c2e8a3ed
chore(recorder): update to React 18 (#32101)
Part of https://github.com/microsoft/playwright/issues/31863. Updates
`recorder` to use React 18.
2024-08-12 09:19:28 +02:00