Commit Graph

1378 Commits

Author SHA1 Message Date
Daniel Jacobs f199a8f740 web: Fix height of Ruffle panic details 2024-07-30 19:37:49 +02:00
dependabot[bot] 3e21740403 build(deps-dev): bump the npm-minor group in /web with 5 updates
Bumps the npm-minor group in /web with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.7.0` | `9.8.0` |
| [eslint](https://github.com/eslint/eslint) | `9.7.0` | `9.8.0` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `48.8.3` | `48.9.2` |
| [postcss](https://github.com/postcss/postcss) | `8.4.39` | `8.4.40` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.3.4` | `5.3.5` |


Updates `@eslint/js` from 9.7.0 to 9.8.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.8.0/packages/js)

Updates `eslint` from 9.7.0 to 9.8.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.7.0...v9.8.0)

Updates `eslint-plugin-jsdoc` from 48.8.3 to 48.9.2
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.8.3...v48.9.2)

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

Updates `vite` from 5.3.4 to 5.3.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.5/packages/vite)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 15:54:45 +02:00
Crowdin Bot 2ac4e7e62d chore: Update translations from Crowdin 2024-07-28 01:00:18 +02:00
Kamil Jarosz 96173b0501 web: Improve virtual keyboard support
This patch integrates the virtual keyboard with the newly added focus
management and removes Android-specific code, instead using generic
logic which takes advantage of improved focus support in SWFs.
2024-07-27 21:32:35 +02:00
Kamil Jarosz e18ae830c1 web: Use browser focus events for focus management
This patch changes how the player focus is managed.

Before this patch, `instance.has_focus` was unrelated
to the current focus managed by the browser.
When the user clicked anywhere on the window, it was set to `false`,
and when the user clicked on the player, it was set to `true`.
This had two major issues.
1. When the user clicked on the player, `has_focus` was set to `false`,
   and then again to `true`. That was problematic when listening
   to focus change events.
2. Not using browser's focus makes it harder to integrate with Ruffle,
   i.e. tab out of Ruffle.

This patch uses browser's focus management to detect focus
and listen to focus events:
1. on `focusin` – FocusGained event is fired,
2. on `focusout` – FocusLost event is fired, and
3. on `pointerdown` – focus is manually set to the canvas.
The container has `tabindex` set to -1 in order to be focusable.

Virtual keyboard on web is represented as an input inside the container.
In order to preserve player focus when virtual keyboard is open,
this patch ensures that the container is focused and not the canvas.
This way, when the input is focused, the container does not lose its focus.
2024-07-27 21:32:35 +02:00
Crowdin Bot 9065ce3a03 chore: Update translations from Crowdin 2024-07-24 21:57:36 +02:00
dependabot[bot] eb2c98b8e6 build(deps-dev): bump the npm-minor group in /web with 2 updates
Bumps the npm-minor group in /web with 2 updates: [typescript](https://github.com/Microsoft/TypeScript) and [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome).


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)

Updates `@types/chrome` from 0.0.268 to 0.0.269
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 18:50:44 +02:00
Daniel Jacobs d8da4ffaa5 extension: Don't redefine the window.close() method 2024-07-24 17:49:10 +02:00
Daniel Jacobs 141eab4292 extension: Unregister event listeners before adding new ones 2024-07-24 17:49:10 +02:00
Daniel Jacobs 830b5df3dc extension: Request permission for SWF origins loaded in player as needed 2024-07-24 17:49:10 +02:00
Daniel Jacobs a7ee776750 web: Fix globals.d.ts file type declarations 2024-07-23 20:06:15 +02:00
Daniel Jacobs 07033d3087 web: Use CSS scale attribute instead of non-existent scale property 2024-07-23 11:14:52 -04:00
Crowdin Bot db1e4208e3 chore: Update translations from Crowdin 2024-07-22 19:41:49 +02:00
dependabot[bot] b180a1b81d build(deps): bump the npm-minor group in /web with 8 updates
Bumps the npm-minor group in /web with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `48.7.0` | `48.8.3` |
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.1.3` | `5.2.1` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.8` | `0.4.9` |
| [mocha](https://github.com/mochajs/mocha) | `10.6.0` | `10.7.0` |
| [stylelint-prettier](https://github.com/prettier/stylelint-prettier) | `5.0.1` | `5.0.2` |
| [chromedriver](https://github.com/giggio/node-chromedriver) | `126.0.4` | `126.0.5` |
| [typedoc](https://github.com/TypeStrong/TypeDoc) | `0.26.4` | `0.26.5` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.3.3` | `5.3.4` |


Updates `eslint-plugin-jsdoc` from 48.7.0 to 48.8.3
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.7.0...v48.8.3)

Updates `eslint-plugin-prettier` from 5.1.3 to 5.2.1
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.1.3...v5.2.1)

Updates `eslint-plugin-react-refresh` from 0.4.8 to 0.4.9
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.8...v0.4.9)

Updates `mocha` from 10.6.0 to 10.7.0
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.6.0...v10.7.0)

Updates `stylelint-prettier` from 5.0.1 to 5.0.2
- [Changelog](https://github.com/prettier/stylelint-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/stylelint-prettier/compare/v5.0.1...v5.0.2)

Updates `chromedriver` from 126.0.4 to 126.0.5
- [Commits](https://github.com/giggio/node-chromedriver/compare/126.0.4...126.0.5)

Updates `typedoc` from 0.26.4 to 0.26.5
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.26.4...v0.26.5)

Updates `vite` from 5.3.3 to 5.3.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint-plugin-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint-plugin-react-refresh
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: stylelint-prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: typedoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 14:31:09 +02:00
Daniel Jacobs 281ddbf406 web: Inform screen readers not to mention virtual keyboard input 2024-07-22 11:34:23 +02:00
Nathan Adams 1c8e95a061 web: Use nesting in css 2024-07-19 19:00:35 +02:00
Nathan Adams 50de5d09d2 web: Run cssnano over static css 2024-07-19 19:00:35 +02:00
Nathan Adams 7dff027345 chore: 'npm run format' 2024-07-19 19:00:35 +02:00
Nathan Adams 9bfdbf24e6 web: Include static-styles css at build time, from a .css file 2024-07-19 19:00:35 +02:00
Nathan Adams d204871e22 web: Move shadow-template to internal 2024-07-19 19:00:35 +02:00
Daniel Jacobs e25d97195e chore: Add newlines to ends of files 2024-07-19 14:53:21 +02:00
Daniel Jacobs e708ec823f web: Add more type definitions and comment about type checking oddities 2024-07-19 14:53:21 +02:00
Daniel Jacobs 5a788dc51c web: Split shadow template into components 2024-07-19 14:53:21 +02:00
Daniel Jacobs aec3348241 web: Remove unused global 2024-07-19 14:53:21 +02:00
Daniel Jacobs 0c878207c6 web: Use namespaces for SVG elements and split elements in template 2024-07-19 14:53:21 +02:00
Daniel Jacobs 78d2a85237 web: Add definitions to let things compile 2024-07-19 14:53:21 +02:00
Daniel Jacobs e19e088c28 chore: Formatting 2024-07-19 14:53:21 +02:00
Daniel Jacobs 1275656b9e web: Add changes to make shadow template one tsx element 2024-07-19 14:53:21 +02:00
Daniel Jacobs f56c43882f web: Use tsx for shadow template 2024-07-19 14:53:21 +02:00
TÖRÖK Attila 0721ebb699 web: Remove now unused `getAudioOutputTimestamp` 2024-07-19 14:32:21 +02:00
TÖRÖK Attila c88d363263 web: Remove now unused `copyToAudioBuffer` 2024-07-19 14:32:21 +02:00
Daniel Jacobs ecc3cc4242 extension: Change from switch/toggle to proper boolean for tab reload 2024-07-17 14:54:13 -04:00
Daniel Jacobs 95ac802c4d extension: Don't auto-reload tab when permissions are granted 2024-07-17 14:54:13 -04:00
Daniel Jacobs 579d2ff2b7 web: Check error type instead of error message 2024-07-17 13:49:37 +02:00
Daniel Jacobs befe226f4a web: Fix issue with error checking in panic function 2024-07-17 13:49:37 +02:00
Daniel Jacobs f9312e6cd8 web: On pages with restrictive CSP show open in new tab option for SWF 2024-07-17 13:49:37 +02:00
Nathan Adams 259b95c178 web: Move some internal files to internal/ 2024-07-17 13:00:01 +02:00
Nathan Adams e613fb73dd web: Use eslint2021 as target, all our min browser versions support this 2024-07-17 13:00:01 +02:00
TÖRÖK Attila af6dc9742d web/tools: Deduplicate an expression, fixing a formatting lint 2024-07-15 14:30:20 +02:00
dependabot[bot] f47fa38235 build(deps-dev): bump the npm-minor group in /web with 9 updates
Bumps the npm-minor group in /web with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.6.0` | `9.7.0` |
| [eslint](https://github.com/eslint/eslint) | `9.6.0` | `9.7.0` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `48.5.2` | `48.7.0` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.7` | `0.4.8` |
| [prettier](https://github.com/prettier/prettier) | `3.3.2` | `3.3.3` |
| [stylelint](https://github.com/stylelint/stylelint) | `16.6.1` | `16.7.0` |
| [stylelint-prettier](https://github.com/prettier/stylelint-prettier) | `5.0.0` | `5.0.1` |
| [webpack](https://github.com/webpack/webpack) | `5.92.1` | `5.93.0` |
| [typedoc](https://github.com/TypeStrong/TypeDoc) | `0.26.3` | `0.26.4` |


Updates `@eslint/js` from 9.6.0 to 9.7.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.7.0/packages/js)

Updates `eslint` from 9.6.0 to 9.7.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.6.0...v9.7.0)

Updates `eslint-plugin-jsdoc` from 48.5.2 to 48.7.0
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.5.2...v48.7.0)

Updates `eslint-plugin-react-refresh` from 0.4.7 to 0.4.8
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.7...v0.4.8)

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

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)

Updates `stylelint-prettier` from 5.0.0 to 5.0.1
- [Changelog](https://github.com/prettier/stylelint-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/stylelint-prettier/compare/v5.0.0...v5.0.1)

Updates `webpack` from 5.92.1 to 5.93.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.92.1...v5.93.0)

Updates `typedoc` from 0.26.3 to 0.26.4
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.26.3...v0.26.4)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint-plugin-react-refresh
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: stylelint-prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: typedoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 14:30:20 +02:00
Nathan Adams 35fb095aa2 web: Add --browserstack for testing in the cloud 2024-07-14 18:04:14 +02:00
Nathan Adams e749a6436e web: Remove broken cors test, it hasn't run for years + technically fails if the whole thing is skipped, apparently 2024-07-14 18:04:14 +02:00
Nathan Adams 160460ef51 web: Replace switchToParentFrame with switchToFrame(null) for ios compatibility 2024-07-14 18:04:14 +02:00
Nathan Adams d037e5fa2a web: Add Edge testing, disable autoplay as edge autoplays and that messes up test order of operations slightly 2024-07-14 18:04:14 +02:00
Nathan Adams ed66cf036c web: Add firefox testing, + a fix for ExternalConnection on Firefox when called from the test harness
Turns out that an object isn't 'instanceof Object' in Firefox, if it was made from another window/process/tab/whatever. In this case, that meant that Ruffle always thought it was null because wasm-bindgen relies on 'instanceof Object'
2024-07-14 18:04:14 +02:00
Nathan Adams 504ac87e8d web: Start splitting up wdio config to enable different browsers or environments 2024-07-14 18:04:14 +02:00
Nathan Adams 0eaffcc785 web: Clean up wdio config; remove unused stuff, add typing 2024-07-14 18:04:14 +02:00
Kamil Jarosz 6685c987ac web: Do not show context menu when right click event is consumed 2024-07-12 15:41:08 +02:00
riku-42 e93cf15b7c web/extension: Use source-map as webpack devtool for debug builds 2024-07-12 13:22:16 +02:00
Nathan Adams adebb04e3d web: Removed some unneeded eslint configs 2024-07-08 11:34:35 +02:00