Commit graph

788 commits

Author SHA1 Message Date
Martin Pitt
6c97825295 Add sizzle support
Use the same `document` tracking fix/hack as in our CDP driver.
2024-07-27 02:32:16 +02:00
Martin Pitt
49317d7c19 scroll element into view for mouse actions
This works fine with Firefox, and conforms to the spec.

However, Chromium gets confused and clicks on the wrong position. Work
around that for now by keeping our old `ph_mouse()` event synthesizer
for Chromium.
2024-07-27 02:32:16 +02:00
Martin Pitt
9653a60fc2 Add input of single/special keys 2024-07-27 02:32:16 +02:00
Martin Pitt
130c7a0843 add cockpit CI glue 2024-07-27 02:32:16 +02:00
Martin Pitt
5d89be7665 Drop obsolete bidi.py async code
This better lives in the sync Browser class.
2024-07-27 02:32:16 +02:00
Martin Pitt
a68e5a0831 Add sync bidi-test.py
This is all sync code, with sketch of what the updated Browser class
looks like.
2024-07-27 02:32:16 +02:00
Martin Pitt
700037e14f Use custom high-level Error class like testlib.py 2024-07-26 16:48:23 +02:00
Martin Pitt
5581ec4757 make bidi.py importable 2024-07-26 16:48:23 +02:00
Martin Pitt
91be31b648 Add test helpers
This makes waiting for text robust.

script.addPreloadScript() doesn't export the declared functions, so we
need to attach them to `window`. We also don't need all of them.
2024-07-26 16:48:23 +02:00
Martin Pitt
ecb9420e8e screenshot on failure 2024-07-26 16:48:23 +02:00
Martin Pitt
42b031130c log exceptions from ws_reader() 2024-07-26 16:48:23 +02:00
Martin Pitt
6cae2c652a frame tracking and cockpit testing
Hint from https://github.com/w3c/webdriver-bidi/issues/418
2024-07-26 16:48:23 +02:00
Martin Pitt
5b31add62f Robustify interactive browser
Too small window sizes make the test unstable. Now it works reliably in
a loop.
2024-07-24 17:15:59 +02:00
Martin Pitt
6cd41a5cc5 page wait load timeout and fix 2024-07-24 17:15:59 +02:00
Martin Pitt
4c18ab08b0 Refactor run and page helpers 2024-07-24 17:15:59 +02:00
Martin Pitt
c1496f15a3 Refactor bidi session 2024-07-24 17:15:59 +02:00
Martin Pitt
23ff405ad0 Dynamic ports
Thanks Lis for the idea!
2024-07-24 17:15:59 +02:00
Martin Pitt
b9b9f0abd0 Bring back firefox marionette
Re-eliminate geckodriver. Turns out we can do everything through BiDi.
2024-07-24 17:15:59 +02:00
Martin Pitt
a6c4ab0cd4 Convert /text to bidi evaluate
That's what we do in CDP as well
2024-07-24 17:15:59 +02:00
Martin Pitt
3a8a279e18 Convert to BiDi click and add page load wait/check 2024-07-24 17:15:59 +02:00
Martin Pitt
025731f0c8 Clean up session tracking 2024-07-24 17:15:59 +02:00
Martin Pitt
eb6fd8ac1d Clean up open-coded driver startup 2024-07-24 17:15:59 +02:00
Martin Pitt
3df6155547 API for classic webdriver; text + click
Unfortunately the "interesting" commands like "click" don't have a BiDi
command, and need classic webdriver.
2024-07-24 17:15:59 +02:00
Martin Pitt
7cc9b6c7a3 add headless mode 2024-07-24 17:15:59 +02:00
Martin Pitt
577ec26307 move to aiohttp 2024-07-24 17:15:59 +02:00
Martin Pitt
e34f982375 collect log messages 2024-07-24 17:15:59 +02:00
Martin Pitt
fb9335663f first PoC of Python bidi runner 2024-07-24 17:15:59 +02:00
Cockpit Project
ca499d9f53 cockpit-ci: Update container to 2024-07-24
Closes #935
2024-07-24 14:20:38 +02:00
dependabot[bot]
b58944e9c2 build(deps-dev): bump typescript from 5.5.3 to 5.5.4 in the types group
Bumps the types group with 1 update: [typescript](https://github.com/Microsoft/TypeScript).


Updates `typescript` from 5.5.3 to 5.5.4
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.3...v5.5.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 05:50:34 +02:00
dependabot[bot]
77c4b95d4b build(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps the types group with 1 update: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin).


Updates `@typescript-eslint/eslint-plugin` from 7.16.1 to 7.17.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.17.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 06:36:32 +02:00
dependabot[bot]
78a2b8e9be build(deps-dev): bump qunit from 2.21.0 to 2.21.1
Bumps [qunit](https://github.com/qunitjs/qunit) from 2.21.0 to 2.21.1.
- [Release notes](https://github.com/qunitjs/qunit/releases)
- [Changelog](https://github.com/qunitjs/qunit/blob/main/History.md)
- [Commits](https://github.com/qunitjs/qunit/compare/2.21.0...2.21.1)

---
updated-dependencies:
- dependency-name: qunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 06:36:15 +02:00
dependabot[bot]
ff35344481 build(deps-dev): bump the eslint group with 2 updates
Bumps the eslint group with 2 updates: [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) and [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react).


Updates `eslint-plugin-promise` from 6.4.0 to 6.6.0
- [Release notes](https://github.com/eslint-community/eslint-plugin-promise/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-promise/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-community/eslint-plugin-promise/compare/v6.4.0...v6.6.0)

Updates `eslint-plugin-react` from 7.34.4 to 7.35.0
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.34.4...v7.35.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-promise
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 06:35:42 +02:00
Cockpit Project
3af6a964a6 Makefile: Update Cockpit lib to 516c15509f33d15827decc4e0cdf97b7
Closes #929
2024-07-18 05:38:06 +02:00
Jelle van der Waa
66c6f21636 package.json: stop providing configured extensions
In eslintrc.json we already specify the type of files we are interested
in linting and `--ext` takes presence over the configuration file and as
no js or jsx files eslint will report an error.
2024-07-17 14:18:57 +02:00
Jelle van der Waa
baef584882 build: don't rely on implicitly imported process
This was fixed in Cockpit in cf1cca4166af4c59531850a8e0d0f20f6f455152
2024-07-17 13:13:57 +02:00
dependabot[bot]
84d8dc7e8e build(deps-dev): bump eslint-plugin-react
Bumps the eslint group with 1 update in the / directory: [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react).


Updates `eslint-plugin-react` from 7.34.3 to 7.34.4
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.34.3...v7.34.4)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-16 10:37:53 +02:00
dependabot[bot]
6c4a43bea6 build(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps the types group with 1 update: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin).


Updates `@typescript-eslint/eslint-plugin` from 7.16.0 to 7.16.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.16.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-16 09:36:03 +02:00
dependabot[bot]
b772bf058f build(deps-dev): bump stylelint in the stylelint group
Bumps the stylelint group with 1 update: [stylelint](https://github.com/stylelint/stylelint).


Updates `stylelint` from 16.6.1 to 16.7.0
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.6.1...16.7.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: stylelint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 07:10:36 +02:00
Subho
ddcf092678 Add empty dependency array to useEffect hook
This limits the file watch listener to only attach once and not on every
render which is unnecessary.
2024-07-12 15:33:11 +02:00
dependabot[bot]
b37df688b2 build(deps-dev): bump sass from 1.77.7 to 1.77.8
Bumps [sass](https://github.com/sass/dart-sass) from 1.77.7 to 1.77.8.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.77.7...1.77.8)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-12 06:02:05 +02:00
Martin Pitt
745b4ab8e8 Convert to TypeScript
This needs the usual "I know the `app` element exists" annotation, plus
dealing with a non-existing /etc/hostname (in which case the watch will
return `null`, and we shouldn't poke that into a `string` state).
2024-07-11 11:18:23 -04:00
Martin Pitt
4bbb291281 Convert Application to a functional component
This makes properties and state type-safe, i.e. work better for
TypeScript projects.

Also close the file watch properly after the component unmounts. That
should never happen in practice for *this case*, but this is
example/model code, so let's be correct.
2024-07-11 11:18:23 -04:00
Martin Pitt
6af3331d7a Sort imports 2024-07-11 11:18:23 -04:00
Cockpit Project
4821128d0f Makefile: Update Cockpit lib to 9ea719c2856a244c9e057c2767726c9f
Closes #918
2024-07-11 10:58:53 -04:00
Cockpit Project
354f5523f5 Makefile: Update Cockpit lib to 319e2d4539f183dc0914cc1903a09df2
Closes #916
2024-07-11 05:45:33 +02:00
dependabot[bot]
f01c0bafc1 build(deps-dev): bump sass from 1.77.6 to 1.77.7
Bumps [sass](https://github.com/sass/dart-sass) from 1.77.6 to 1.77.7.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.77.6...1.77.7)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-10 23:00:03 +02:00
Martin Pitt
71940a9c9f package.json: Explicitly depend on stylelint-config-recommended-scss
The latest version 14.1.0 does not work with our other stylelint package
versions. Pin down the version we've used so far, and let dependabot
take care of grouped updates.
2024-07-10 09:55:24 +02:00
Martin Pitt
6cbc8ee65c README: Drop '$' from verbatim commands
This make them easier to copy & paste.
2024-07-09 14:24:04 +02:00
dependabot[bot]
9c61a574e7 build(deps): bump @patternfly/react-core in the patternfly group
Bumps the patternfly group with 1 update: [@patternfly/react-core](https://github.com/patternfly/patternfly-react).


Updates `@patternfly/react-core` from 5.3.3 to 5.3.4
- [Release notes](https://github.com/patternfly/patternfly-react/releases)
- [Commits](https://github.com/patternfly/patternfly-react/compare/@patternfly/react-core@5.3.3...@patternfly/react-core@5.3.4)

---
updated-dependencies:
- dependency-name: "@patternfly/react-core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patternfly
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 04:52:13 +02:00
dependabot[bot]
99287db35e build(deps-dev): bump the esbuild group across 1 directory with 2 updates
Bumps the esbuild group with 2 updates in the / directory: [esbuild](https://github.com/evanw/esbuild) and [esbuild-wasm](https://github.com/evanw/esbuild).

Updates `esbuild` from 0.21.5 to 0.23.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.5...v0.23.0)

Updates `esbuild-wasm` from 0.21.3 to 0.23.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.3...v0.23.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: esbuild
- dependency-name: esbuild-wasm
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: esbuild
...

Signed-off-by: dependabot[bot] <support@github.com>

Changed by Martin Pitt <mpitt@redhat.com>:
The new esbuild version requires at least node.js 18. Bump the
BuildRequires accordingly. As RHEL 9 has nodejs.16 (at least by default,
we don't have access to streams here), stop rebuilding the bundle there.
2024-07-05 13:38:04 +02:00