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
Kamil Jarosz
3cb798e818
Revert "web: Use browser focus events for focus management"
...
This reverts commit 5441749e3e
.
2024-07-18 23:11:32 +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
Aaron Hill
6e93927f63
web: Check for locked 'Player' mutex and reschedule with setTimeout
...
We use 'wasm-bindgen-futures' as our futures executor on web, which
in turn uses 'queueMicroTask'. This can result in the browser executing
one of our futures while we're still inside our `requestAnimationFrame`
callback (in particular, while we still have the `Player` mutex locked).
We now detect this condition by attempting the lock the Player mutex
inside of our `spawn_local` future. If this fails, we `await`
a `setTimeout`-based promise, which ensures that our code runs in
a new top-level `setTimeout` javascript 'task' (outside of our
`requestAnimationFrame` callback).
2024-07-15 22:46:22 +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
dependabot[bot]
a1539624bf
build(deps-dev): bump typescript-eslint in /web
...
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) from 8.0.0-alpha.41 to 8.0.0-alpha.44.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/HEAD/packages/typescript-eslint )
---
updated-dependencies:
- dependency-name: typescript-eslint
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 12:59:58 +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
Kamil Jarosz
5441749e3e
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 canvas has `tabindex` set to -1 in order to be focusable.
2024-07-12 14:20:35 +02:00
TÖRÖK Attila
a66ba15051
ci: Get wasm-opt directly from GitHub using sigoden/install-binary@v1
...
... instead of from conda-forge using miniconda.
And using wget+tar in the extension builder Dockerfile.
2024-07-12 13:40:12 +02:00
riku-42
e93cf15b7c
web/extension: Use source-map as webpack devtool for debug builds
2024-07-12 13:22:16 +02:00
Aaron Hill
c852990346
swf: Remove 'libflate' feature
...
The 'flate2' crate already supports both C and pure Rust
backends, so we don't gain anything by supporting libflate
2024-07-12 09:09:49 +02:00
dependabot[bot]
47564b0b4e
build(deps-dev): bump eslint-plugin-react-hooks in /web
...
Bumps [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks ) from 5.1.0-rc-fb9a90fa48-20240614 to 5.1.0-rc.0.
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks )
---
updated-dependencies:
- dependency-name: eslint-plugin-react-hooks
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 14:51:54 +02:00
dependabot[bot]
d4160a70da
build(deps-dev): bump typescript-eslint in /web
...
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) from 8.0.0-alpha.39 to 8.0.0-alpha.41.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/HEAD/packages/typescript-eslint )
---
updated-dependencies:
- dependency-name: typescript-eslint
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 14:44:11 +02:00
Nathan Adams
adebb04e3d
web: Removed some unneeded eslint configs
2024-07-08 11:34:35 +02:00
Nathan Adams
f5dc3c8975
web: Enable tseslint.configs.strict (it caught a bug!)
2024-07-08 11:34:35 +02:00
Nathan Adams
6e74f57318
web: Update to eslint 9
2024-07-08 11:34:35 +02:00
Nathan Adams
53d56573c1
web: Migrate to 'flat config' style for eslint
2024-07-08 11:34:35 +02:00
dependabot[bot]
6a9b8a5e1b
build(deps-dev): bump the npm-minor group in /web with 8 updates
...
Bumps the npm-minor group in /web with 8 updates:
| Package | From | To |
| --- | --- | --- |
| [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli ) | `8.39.0` | `8.39.1` |
| [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner ) | `8.39.0` | `8.39.1` |
| [mocha](https://github.com/mochajs/mocha ) | `10.5.2` | `10.6.0` |
| [tsx](https://github.com/privatenumber/tsx ) | `4.16.0` | `4.16.2` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc ) | `48.5.0` | `48.5.2` |
| [replace-in-file](https://github.com/adamreisnz/replace-in-file ) | `8.0.2` | `8.1.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `5.3.2` | `5.3.3` |
| [webdriverio](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/webdriverio ) | `8.39.0` | `8.39.1` |
Updates `@wdio/cli` from 8.39.0 to 8.39.1
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.1/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.1/packages/wdio-cli )
Updates `@wdio/local-runner` from 8.39.0 to 8.39.1
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.1/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.1/packages/wdio-local-runner )
Updates `mocha` from 10.5.2 to 10.6.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.5.2...v10.6.0 )
Updates `tsx` from 4.16.0 to 4.16.2
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.16.0...v4.16.2 )
Updates `eslint-plugin-jsdoc` from 48.5.0 to 48.5.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.5.0...v48.5.2 )
Updates `replace-in-file` from 8.0.2 to 8.1.0
- [Release notes](https://github.com/adamreisnz/replace-in-file/releases )
- [Changelog](https://github.com/adamreisnz/replace-in-file/blob/main/CHANGELOG.md )
- [Commits](https://github.com/adamreisnz/replace-in-file/commits )
Updates `vite` from 5.3.2 to 5.3.3
- [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.3/packages/vite )
Updates `webdriverio` from 8.39.0 to 8.39.1
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.39.1/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.39.1/packages/webdriverio )
---
updated-dependencies:
- dependency-name: "@wdio/cli"
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: "@wdio/local-runner"
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: tsx
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: replace-in-file
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor
- dependency-name: vite
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: webdriverio
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-07 12:50:16 +02:00
Kamil Jarosz
9f9d462381
core: Add click index to PlayerEvent::MouseDown
2024-07-06 18:32:10 +02:00
Daniel Jacobs
a5a9ef9a03
extension: Don't register 4399 content script if Ruffle is disabled
2024-07-06 12:55:37 +02:00
TÖRÖK Attila
5fb04101e1
web: Fix all context menu items appearing disabled
2024-07-05 17:10:54 +02:00
Crowdin Bot
23b7810a07
chore: Update translations from Crowdin
2024-07-04 23:11:43 +02:00
Nathan Adams
d0a37b3b61
web: More error cleanup, remove the indirection of errors through an enum
2024-07-04 13:39:06 +02:00