Commit Graph

429 Commits

Author SHA1 Message Date
dependabot[bot] 3c0f08fb7d build(deps-dev): bump @types/mocha from 9.0.0 to 9.1.0 in /web
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 9.0.0 to 9.1.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 23:03:57 +02:00
Toad06 c14569e3d4 web: Add `refresh` method to `navigator.plugins` 2022-01-26 18:53:33 -08:00
relrelb 479719f425 web: De-duplicate TypeScript ESLint rules
Pull them to the root config, using the `overrides` feature:
https://eslint.org/docs/user-guide/configuring/configuration-files#configuration-based-on-glob-patterns
2022-01-16 11:07:00 -08:00
relrelb 94d82aa060 web: Convert more files from JSON to YAML 2022-01-16 11:07:00 -08:00
relrelb d0eb6adbc0 web: Fix `publicPath` when loaded from a CDN
CDNs allow omitting the filename:

* https://unpkg.com/@ruffle-rs/ruffle
* https://cdn.jsdelivr.net/npm/@ruffle-rs/ruffle

That caused `currentScriptURL` to be determined incorrectly:

```js
new URL(".", "https://unpkg.com/@ruffle-rs/ruffle").href
// "https://unpkg.com/@ruffle-rs/"
```

If the filename is omitted, append a slash to prevent the last
component from being dropped:

```js
new URL(".", "https://unpkg.com/@ruffle-rs/ruffle/").href
// "https://unpkg.com/@ruffle-rs/ruffle/"
```
2022-01-15 14:49:19 -08:00
TÖRÖK Attila 483028707f web: Add custom profiles to separate the build cache for the two wasm modules 2022-01-13 12:28:00 -08:00
relrelb 5f033743f0 web: Mark packages as private
This prevents accidental publication of packages that shouldn't
be published. Some packages were already marked as such, so it's a
bit more consistent.
2022-01-12 21:24:19 -08:00
relrelb 3f8f117fd3 web: Convert .eslintrc files from JSON to YAML
YAML is shorter, more modern, readable, and flexible than JSON.
In other words, YAML >>> JSON.

Auto-converted using [`yq`](https://github.com/kislyuk/yq).
2022-01-12 20:10:00 -08:00
TÖRÖK Attila db6731be2c web: Detect and log whether WebAssembly extensions are actually used 2022-01-12 11:29:16 -08:00
TÖRÖK Attila 44e59a0012 web,ci: Only build the vanilla module by default, use it as stand-in for the other
And enable the module that really uses WebAssembly extensions for the
releases by running the new "npm run build:dual-wasm" command, which
sets the ENABLE_WASM_EXTENSIONS=true environment variable.
2022-01-12 11:29:16 -08:00
TÖRÖK Attila ab69c12649 web: Build two WASM modules, with/without extensions, load the appropriate one 2022-01-12 11:29:16 -08:00
Mike Welsh 3010c505aa chore: Add error-report issue template
The `error-report` label was not being added to error reports
submitted by panics in the web player, despite the `labels` query
parameter in the URL. Users do not have triage/write access to the
repo, which is required by GitHub to add a label to an issue.

Add an issue template for error reports with the `error-report`
label. This template is now added to the issue URL, which
automatically adds the tag regardless of access level.
2022-01-02 13:59:54 -08:00
dependabot[bot] 7b883bd400
build(deps-dev): bump @typescript-eslint/eslint-plugin in /web
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.5.0 to 5.8.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/v5.8.1/packages/eslint-plugin)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-01 23:23:26 +00:00
dependabot[bot] 83dd88e3f6
build(deps-dev): bump eslint from 8.4.0 to 8.6.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 8.4.0 to 8.6.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/v8.4.0...v8.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-01 20:54:47 +00:00
dependabot[bot] 08707f0258 build(deps-dev): bump @typescript-eslint/parser in /web
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.5.0 to 5.8.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.8.1/packages/parser)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-01 22:53:33 +02:00
relrelb a25a25adbc web: Check `$CI` environment variable 2021-12-17 16:48:00 +02:00
Chris Midgley f0b29cc5d0
web: allow entering fullscreen after using escape to exit (#5714)
* web: allow entering fullscreen after using escape to exit

* chore: fmt

* web: fix fullscreen for Safari too

* web: dedupe methods and always set fullscreen

* chore: fmt

* web: use isFullscreen method
2021-12-10 19:54:22 +02:00
dependabot[bot] d825c9d9cf build(deps-dev): bump eslint from 8.3.0 to 8.4.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 8.3.0 to 8.4.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/v8.3.0...v8.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-04 16:50:30 +02:00
dependabot[bot] 5db476657c build(deps-dev): bump @typescript-eslint/parser in /web
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.5.0/packages/parser)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-02 07:11:44 +02:00
dependabot[bot] 7b54e28545 build(deps-dev): update eslint-plugin-jsdoc requirement in /web
Updates the requirements on [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) to permit the latest version.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v37.0.3...v37.1.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-01 22:34:53 +02:00
dependabot[bot] 83a82628b6 build(deps-dev): bump @typescript-eslint/eslint-plugin in /web
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.4.0 to 5.5.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/v5.5.0/packages/eslint-plugin)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-01 22:34:33 +02:00
Chris Midgley 8ac19e9807
web: update everything (#5731)
* web: update everything

* chore: apply new lint corrections
2021-11-25 23:21:43 +02:00
Daniel Jacobs d3a5561e8f web: Give toggleable option to download swfs in extension/selfhosted 2021-11-15 23:12:27 +02:00
Tal Hayon 7ed38850fd core: implement displayState for Stage in avm1/2 2021-11-11 16:20:05 -07:00
dependabot[bot] 867ad14302 build(deps-dev): bump @typescript-eslint/eslint-plugin in /web
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.32.0 to 4.33.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.33.0/packages/eslint-plugin)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 09:10:08 +02:00
dependabot[bot] 1f73314e44 build(deps-dev): update ts-node requirement in /web
Updates the requirements on [ts-node](https://github.com/TypeStrong/ts-node) to permit the latest version.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.2.1...v10.4.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 09:09:53 +02:00
dependabot[bot] 50d6e34933 build(deps-dev): bump eslint-plugin-jsdoc from 36.1.1 to 37.0.3 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 36.1.1 to 37.0.3.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v36.1.1...v37.0.3)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 07:02:19 +02:00
dependabot[bot] 0948753e89 build(deps-dev): update typedoc requirement in /web
Updates the requirements on [typedoc](https://github.com/TypeStrong/TypeDoc) to permit the latest version.
- [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.22.4...v0.22.7)

---
updated-dependencies:
- dependency-name: typedoc
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 07:00:28 +02:00
Toad06 a24d469f27 web: Unmute audio on iOS when silent mode is enabled
Co-Authored-By: Christoph Guttandin <158417+chrisguttandin@users.noreply.github.com>
2021-10-28 08:48:22 -07:00
Mike Welsh 16c443165f web: Add error-report label to bug report link 2021-10-24 17:21:03 -07:00
Mike Welsh 4141909bcb web: Support wgpu on web
Add wgpu feature to web build (disabled by default currently).
2021-10-24 17:20:19 -07:00
Mike Welsh df270c55af wgpu: Make WgpuRenderBackend::build_descriptors async
This will be necessary for using wgpu on web, where the whole
renderer creation will need to be async.
2021-10-24 17:20:19 -07:00
Toad06 7f317bca49 web: Don't polyfill files meant to be used as fallback content 2021-10-17 11:44:15 -07:00
Mike Welsh 04d84a3386 web: Implement WebAudioBackend::get_sound_position 2021-10-16 22:53:25 -07:00
Chris Midgley 1d34a957c3 dev: update web packages 2021-10-01 22:52:08 +03:00
dependabot[bot] 0ceb03f08d build(deps-dev): bump typescript from 4.4.2 to 4.4.3 in /web
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.4.2 to 4.4.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.4.2...v4.4.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-01 07:51:55 +03:00
dependabot[bot] 61e2c8b529 build(deps-dev): bump @typescript-eslint/parser in /web
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.28.5 to 4.32.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.32.0/packages/parser)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-01 07:07:14 +03:00
dependabot[bot] 2d306865d6 build(deps-dev): bump typedoc from 0.21.9 to 0.22.4 in /web
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.21.9 to 0.22.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.21.9...v0.22.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-30 22:35:19 +03:00
dependabot[bot] 73d5212d09 build(deps-dev): bump eslint from 7.29.0 to 7.32.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 7.29.0 to 7.32.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.29.0...v7.32.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-30 22:06:28 +03:00
relrelb d27e29bd26 web: Mark TypeScript enums as const
Unlike regular enums, const enums are completely removed during
compilation, and as such are zero-cost in bundle size terms.
Since it is not possible to query the possible values of a const
enum at runtime, adapt the `autoplay` and `unmuteOverlay` validation
logic.
2021-09-24 20:38:44 +03:00
relrelb 2e8a177bef web: Indent using spaces in tsconfig.json 2021-09-15 00:42:17 +03:00
Mike Welsh a882f85d14 chore: Bump TypeScript config to es2017 2021-09-13 14:54:17 -07:00
Daniel Jacobs 2213e7d012 web: Menu embed/object attribute true value is case-insensitive 2021-09-11 14:25:52 -07:00
Daniel Jacobs 5ac9796ffd web: Support salign, quality, & scale embed/object attributes (part of #4258) 2021-09-08 16:25:47 -07:00
relrelb acd462745d web: Fix `publicPath()` being called from non-global scope
`document.currentScript` works only while the script is initially
being processed. This means that when `publicPath()` was called from
a non-global scope, it failed to detect where ruffle.js is located,
which in turn failed to determine the .wasm location.
2021-09-08 02:25:05 -07:00
relrelb 375269417f web: Set `__webpack_public_path__` in `load-ruffle.ts`
Use wasm-bindgen's built-in loader instead of relying on Webpack.
In order to still respect the `publicPath` config, set
`__webpack_public_path__` just before fetching the WebAssembly module.
This allows to no longer declare `.wasm` files as resource assets in
each `webpack.config.js`.
2021-09-08 02:25:05 -07:00
relrelb 28a155a099 web: Remove `config.publicPaths`
This simplifies the `publicPath` function and makes it useable inside
`fetchRuffle`.

Assuming `publicPaths` isn't used anywhere, this shouldn't be harmless.
2021-09-08 02:25:05 -07:00
Tal Hayon 4625ca0e0b web: fix base param 2021-09-07 16:45:35 -07:00
dependabot[bot] 8b665b590d chore: Bump typescript from 4.3.4 to 4.4.2 in /web
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.3.4 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.4...v4.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-02 17:03:19 +03:00
dependabot[bot] bf44fd9a85 chore: Update typedoc requirement from ^0.21.2 to ^0.21.9 in /web
Updates the requirements on [typedoc](https://github.com/TypeStrong/TypeDoc) to permit the latest version.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.21.2...v0.21.9)

---
updated-dependencies:
- dependency-name: typedoc
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-02 00:25:02 +03:00
Daniel Jacobs 3982f3af98 web: Support menu embed/object attribute (part of #4258) 2021-08-28 14:56:35 +02:00
Tal Hayon 8cb5cf0252 web: Adds support for base embed/object attribute (Part of #4258) 2021-08-19 21:22:47 +02:00
Daniel Jacobs 985a97d599
web: Re-enable context menu on mobile, with option to disable (#5000)
* Re-enable context menu on mobile, with option to disable

* Review refactors

Co-authored-by: Adrian Wielgosik <adrian.wielgosik@gmail.com>
2021-08-19 20:28:40 +02:00
Daniel Jacobs 88f368ad0a Link all CompileErrors to wiki without a report bug button 2021-08-08 11:56:20 +02:00
Daniel Jacobs 38ae22e834 Add a loadeddata event, which triggers when loadedmetadata does for now 2021-08-03 14:28:20 -07:00
Adrian Wielgosik 02dd0ae463 web: add isExtension info to panic info and context menu version string 2021-08-03 17:47:42 +02:00
Adrian Wielgosik b940e7f00f Extension: Sidestep CORS issues by offering to load the SWF in a tab 2021-08-02 21:28:16 +02:00
dependabot[bot] 97f63c75ad chore: Bump @typescript-eslint/parser from 4.28.1 to 4.28.5 in /web
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.28.1 to 4.28.5.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.28.5/packages/parser)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 04:49:08 +03:00
dependabot[bot] da1b74fb64 chore: Bump mocha from 9.0.1 to 9.0.3 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 9.0.1 to 9.0.3.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v9.0.1...v9.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-01 23:09:52 +02:00
relrelb 508f541ada Revert "web: Simplify .wasm loading"
This reverts commit 66bfff7687.
2021-07-27 11:19:55 +03:00
relrelb 66bfff7687 web: Simplify .wasm loading
Use wasm-bindgen's built-in loader instead of relying on Webpack.

This allows to no longer declare .wasm files as resource assets in
each webpack.config.js.

Also the bundled JS is a bit smaller (e.g. demo is now ~88KB vs.
~90KB before).
2021-07-24 14:18:19 -07:00
relrelb 49e26338bc web: Fix and cleanup npm build scripts
* Remove `buildProduction` as it was equivalent to `build`.
* Fix `build:avm_debug` and change it to `build:debug`, which also
disables Webpack optimizations.
2021-07-17 11:40:25 +03:00
relrelb f9be5c2230 web: Unify "menu_item" and "active" CSS classes
It seems that these two classes were totally equivalent, so simply
drop "active" and use only "menu_item".
Also, don't highlight disabled context menu items on hover.
2021-07-13 23:45:18 +03:00
divinity76 c94ebf133a open "not yet supported more info" in new tab
i fully intended to press "run anyway" just to see what happened, and it was annoying that Ruffle took me to another page so i had to re-load the flash.. (from a page with 10 seconds worth of ads before playing the flash, even)
2021-07-13 21:42:50 +03:00
relrelb df47c53f5c web: Remove unused `RufflePlayer._trace_observer` 2021-07-12 23:21:14 +03:00
relrelb 803da71e9c web: Remove `RufflePlayer.playButtonClicked`
Replace its few usages with `play` which is part of the public API.
Also made little cleanups to the selfhosted test utils along the way.
2021-07-12 23:21:14 +03:00
Daniel Jacobs bdf693c9c4 Remove error report link from could not download wasm module 2021-07-08 20:20:57 +02:00
relrelb 2e77895839 web: Remove unused esm dependency
It's no longer used since 43d0f7a527.
2021-07-03 21:18:42 +03:00
relrelb 276e77d188 web: Cleanup tsconfig.json files
* Extend from the recommended config.
* Remove the exclude field that doesn't contribute to the file
inclusion (include alone should be enough).
* Remove the esModuleInterop field that shouldn't be necessary.
2021-07-03 21:18:42 +03:00
relrelb 558bbdb520 web: Cleanup .eslintrc.json files
* `eslint:recommended` is not needed in the each file as it already
appears in the root config.
* The default `@typescript-eslint/naming-convention` rule is preferred.
* Other formatting improvements.
2021-07-03 21:18:42 +03:00
relrelb 0ece8bfb38 web: Fix build without wasm-opt on Windows
Since #3111, `wasm-opt` became mandatory on GitHub Actions. But the
check whether we run on GitHub Actions is Bash-specific, and fails
on Windows. That means builds on Windows without `wasm-opt` always
fail.

As a workaround, use the trick from https://gist.github.com/prail/24acc95908e581722c0e9df5795180f6
to run the check only on Unix, and skip it on Windows:

```
echo ; [ \"$GITHUB_ACTIONS\" != true ] # > nul
```

On Unix, `echo` does nothing, the check runs, and the rest is
considered a comment.
On Windows, `echo` prints everything until the `> nul`, which
suppresses the print by redirection, making the whole statement
effectively a no-op.
2021-07-02 13:58:38 +03:00
relrelb a09733ae4c web: Fix mocha integration with ES modules
Use the workaround from https://github.com/mochajs/mocha-examples/tree/master/packages/typescript#es-modules
to help mocha run with ES modules.
The `cross-env` package is for both Unix and Windows systems support.
2021-07-02 12:38:16 +03:00
dependabot[bot] 1ac370d4bd chore: Bump mocha from 8.4.0 to 9.0.1 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 8.4.0 to 9.0.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.4.0...v9.0.1)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-02 12:38:16 +03:00
relrelb 43d0f7a527 web: Extract .mocharc.json 2021-07-02 12:38:16 +03:00
relrelb d1bf06786a web: Replace chai with Node.js built-in assert module 2021-07-02 12:38:16 +03:00
dependabot[bot] 1fbda1716e chore: Bump @typescript-eslint/parser from 4.27.0 to 4.28.1 in /web
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.27.0 to 4.28.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.28.1/packages/parser)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-02 10:44:14 +03:00
dependabot[bot] 6563670634 chore: Update eslint-plugin-jsdoc requirement in /web
Updates the requirements on [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) to permit the latest version.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v35.3.2...v35.4.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-02 00:19:49 +03:00
dependabot[bot] b166106bf7 chore: Bump @typescript-eslint/eslint-plugin in /web
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.27.0 to 4.28.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.28.1/packages/eslint-plugin)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 23:33:50 +03:00
dependabot[bot] 8c7230fbc6 chore: Update typedoc requirement from ^0.21.0 to ^0.21.2 in /web
Updates the requirements on [typedoc](https://github.com/TypeStrong/TypeDoc) to permit the latest version.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.21.0...v0.21.2)

---
updated-dependencies:
- dependency-name: typedoc
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 22:25:24 +02:00
relrelb 6010fac5d4 web: Fix lint warnings
Using `npm run format`.
2021-06-23 15:04:54 +03:00
dependabot[bot] ee69567fa5 chore: Update @types/chai requirement from ^4.2.18 to ^4.2.19 in /web
Updates the requirements on [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: "@types/chai"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-20 02:55:04 -07:00
Chris Midgley c2a7953943 dev: downgrade mocha to 8.4.0
Both ts-node 10 and mocha 9 include native ESM support, but I can't find
the combination of flags to get this to work.
2021-06-20 02:21:17 -07:00
Chris Midgley 55685b0a2d lint: fix prettier errors 2021-06-20 02:21:17 -07:00
Chris Midgley 8927500489 dev: update all package.json devDependencies to latest 2021-06-20 02:21:17 -07:00
Daniel Jacobs b52b2a64da
web: Fix wasm compile error check 2021-06-07 11:30:17 -07:00
relrelb dbeeb42098 web: Remove package-lock.json in core 2021-06-07 11:27:30 -07:00
Daniel Jacobs bd2db4cca3
web: Add better error information about wasm CompileErrors 2021-06-05 10:15:34 -07:00
Chris Midgley cb601255d9 web: improve typescript types 2021-06-05 10:12:59 -07:00
dependabot[bot] 6061e5c6cf chore: Bump eslint-plugin-jsdoc from 33.3.0 to 35.1.2 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 33.3.0 to 35.1.2.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v33.3.0...v35.1.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-01 09:13:24 -07:00
Mike Welsh 22948789b8 web: Add MovieData.isActionScript3 and backgroundColor 2021-05-23 23:02:38 -07:00
Toad06 c5233ed172 web: Make `unmuteOverlay: "hidden"` resume audio without extra click 2021-05-16 23:34:11 -07:00
Toad06 0ee6b62517 web: Add a `none` value to completely disable the unmute overlay 2021-05-16 23:34:11 -07:00
Adrian Wielgosik c40d08e73a web: Fix context menu checkmark in web builds 2021-05-10 00:19:29 -07:00
Adrian Wielgosik 8ca22c1f02
core: Support for custom context menu items on movie root 2021-05-02 15:28:00 -07:00
dependabot[bot] f2130f3c58 chore: Bump eslint-plugin-jsdoc from 32.3.4 to 33.0.0 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 32.3.4 to 33.0.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v32.3.4...v33.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-01 12:56:12 -07:00
relrelb f8a8b82c04 web: Cleanup ESLint configuration
* Cleanup .eslintrc.json files.
* Avoid unnecessary eslint-* directives.
2021-04-30 18:16:55 -07:00
Adrian Wielgosik 940cb8d2f7
web: Use unicode escapes for checkbox emojis 2021-04-28 13:58:04 -07:00
Adrian Wielgosik a1737b5922 avm1: Respect menu.builtInItems, but on root clip only 2021-04-27 16:42:02 -07:00
Adrian Wielgosik be40e2ce28 Fix formatting 2021-04-27 16:42:02 -07:00
Adrian Wielgosik ce4d66e0f4 avm1: support Stage.showMenu 2021-04-27 16:42:02 -07:00
Adrian Wielgosik 41a126885c web: Minimal context menu buttons for movie control 2021-04-27 16:42:02 -07:00
Mike Welsh ff6adaf706 chore: Bump JS packages 2021-04-26 12:09:42 -07:00
Mike Welsh d34b72cc47 web: Expose SWF metadata to JavaScript
Add `RufflePlayer.metadata` that exposes the SWF header fields to
JavaScript.

Add `RufflePlayer.readyState` and fire a `loadedmetadata` event
once the metadata is available, mimicking the HTML5 media APIs.
2021-04-23 16:58:24 -07:00
relrelb 0fa24b4ce0 web: Migrate file-loader to asset modules
file-loader is deprecated and asset modules are the recommended
alternative.
2021-04-21 19:03:19 -07:00
valadaptive f6602dd377
web: Handle errors from CSPs which block WebAssembly
This removes the "Report Bug" link from the error case in which
WebAssembly code generation is disallowed by the host's content security
policy, because there's nothing we can do to fix that, and directs
people to the wiki instead.
2021-04-17 19:21:39 -07:00
Mike Welsh ae9be98821 web: Disable context menu from touch events
Once a touch event is seen, completely disable the context menu to
prevent a long press from triggering the context menu.

Fixes #1972.
2021-04-12 16:28:43 -07:00
Chris Midgley aab3ff781d web: use customElements.get over try-catch 2021-04-09 14:37:09 -07:00
Chris Midgley a171883d39 web: check for window.customElements before entering loop 2021-04-09 14:37:09 -07:00
Chris Midgley 2e42942058 web: try a limited number of times defining a custom element 2021-04-09 14:37:09 -07:00
Chris Midgley 20480ef6d8 web: crash out of infinite loop if not NotSupportedError 2021-04-09 14:37:09 -07:00
Mike Welsh d0c7aa0dff web: Fix fullscreen sizing on Safari
When Ruffle would go fullscreen on Safari, the content would often
not fill the viewport because Ruffle's width/height CSS would
override the :-webkit-full-screen CSS that Safari adds.

Add our own :-webkit-full-screen CSS with !important to force 100%
dimensions in fullscreen.
2021-03-25 16:26:37 -07:00
Suhao Jeffrey Huang ce72277a07 web: Hide navigation bar in fullscreen on Android (fix #1698) 2021-03-25 16:26:37 -07:00
relrelb 56cece3336 web: Use publicPath() instead of ruffleRuntimePath
Similarly to how selfhosted currently does.
2021-03-13 02:19:05 -08:00
relrelb 32ff16e1da web: Remove packages/core/.eslintrc.json 2021-03-05 23:07:55 -08:00
relrelb 47c7a05340 web: Add packages/core/tools/.eslintrc.json 2021-03-05 23:07:55 -08:00
relrelb 1ed8dea599 web: Improvements 2021-03-05 23:07:55 -08:00
relrelb f64e5d5b41 web: Get rid of move-file-cli 2021-03-03 07:08:43 -08:00
dependabot-preview[bot] ac056e7f83 build(deps-dev): bump eslint-plugin-jsdoc from 31.6.1 to 32.1.0 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 31.6.1 to 32.1.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v31.6.1...v32.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-25 14:36:42 -08:00
relrelb d62c3c0500 web: Fix CSS variables in shadow-template.ts
Apparently CSS variables need to be defined in :host rather than in
:root when it comes to shadow DOM.
2021-02-25 14:34:40 -08:00
relrelb 1b41f8fad1 web: Fix panic message alignment 2021-02-25 14:34:40 -08:00
Mike Welsh eb173f06ca web: Strip query params from URL in GitHub issue titles 2021-02-20 14:12:07 -08:00
relrelb 73b5916b2a
web: Fix player positioning 2021-02-19 17:40:43 -08:00
relrelb d3a006f62a web: Cleanup JSON files
Change indentation to 4 spaces and put newline at EOF.
2021-02-19 16:28:09 -08:00
relrelb 6a710fa1f3 web: Remove stale globals definitions
They were removed in 3e084963c6.
2021-02-19 16:28:09 -08:00
relrelb 524fb30acb chore: Cleanup .gitignore
And split it across multiple files.
2021-02-19 16:28:09 -08:00
Mike Welsh 836b631237 web: Revert style changes in #3239 2021-02-18 04:11:04 -08:00
relrelb 1c21856980
web: General refactoring
* web: Don't load a random SWF Instead, show a prompt to select or drag an SWF.
* web: Refactor webpack.config.js
* demo: Refactor index.js
* demo: Cleanup CSS
2021-02-16 20:39:46 -08:00
Ben Lubar 1c620b2c9b add TypeScript documentation for maxExecutionDuration 2021-02-16 20:31:40 -08:00
Adrian Wielgosik f787cffe54
web: Minimal polyfill of window.Reflect 2021-02-09 19:10:47 -08:00
TÖRÖK Attila 4ea1d9e33c web/build: Make successful wasm-opt invocation mandatory on GitHub Actions 2021-02-05 10:38:47 -08:00
Toad06 b5749ee228
web: Fix some context menu and warning message issues 2021-02-04 15:10:04 -08:00
Mads Marquart 1990e51639 avm2: Add UiBackend::display_unsupported_message
To allow displaying rich content when unsupported ActionScript 3 content is encountered.
2021-01-31 23:04:20 -08:00
Brian Gontowski 31dd2729e2 web: Add an onFSCommand callback into JavaScript 2021-01-31 18:03:31 -08:00
Toad06 b62ca3d589
web: Move `allowScriptAccess` to `BaseLoadOptions` 2021-01-30 16:59:58 -08:00
Omar Shehata 218f1f1da5 web: Pause player when tab is inactive (close #347) 2021-01-26 22:34:43 -08:00
Adrian Wielgosik 9195491f1b web: Redesign the context menu 2021-01-26 17:12:43 -08:00
relrelb aeda974143 web: Rename contextMenu to contextMenuElement
Firefox has a read-only "contextMenu" property, so avoid
shadowing it.
2021-01-25 03:51:50 -08:00
relrelb b07eb07afb web: Revert config removal 2021-01-25 03:51:50 -08:00
relrelb 5827801b03 web: Rename config.showContextMenu to config.contextMenu 2021-01-25 03:51:50 -08:00
relrelb 70326108b9 web: Rename "right click menu" to "context menu" 2021-01-25 03:51:50 -08:00
relrelb 21b0128bca web: Add option to disable the context menu 2021-01-25 03:51:50 -08:00
Toad06 dc2b4fcc42 web: Use enum instead of arbitrary values 2021-01-20 15:03:52 -08:00
Toad06 bc47bfb9e9 web: Display appropriate errors when Ruffle fails to initialize 2021-01-20 15:03:52 -08:00
Adrian Wielgosik b69e17bf35
web: Allow customizing log level 2021-01-19 18:10:35 -08:00
Mike Welsh c2b768c453 web: Fallback to instantiate with improper MIME type
Use --target web in wasm-bindgen and file-loader for WASM files,
allowing wasm-bindgen's built-in fallback from
WebAssembly.instantiateStreaming to instantiate.

file-loader spits out the WASM file directly in the output folder,
and imports will resolve to the URL, so that we can load the file
directly, avoiding webpack's built-in wasm loaders.

This allows Ruffle to function on web servers even if they serve
WASM files with the incorrect MIME type, fixing one of our biggest
support requests (#400, #1458). There is some performance impact
on loading with the fallback, but this is preferable to not
working at all.
2021-01-16 15:30:11 -08:00
TÖRÖK Attila 2858faaaf2
web: Drop wasm-pack, invoke wasm-bindgen and wasm-opt directly from npm (#2482) 2021-01-15 12:59:25 -08:00
Mike Welsh 9bb36885bb web: Add backgroundColor option and support bgcolor attribute
Add `backgroundColor` setting to the config options, allowing
a user to override the background color of an SWF. The polyfill
will now look for the `bgcolor` HTML attribute on the embed
and fill in this setting appropriately.
2021-01-13 11:57:19 -08:00
dependabot-preview[bot] 4dbc4e55cc build(deps-dev): bump eslint-plugin-jsdoc from 30.7.13 to 31.0.3 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 30.7.13 to 31.0.3.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v30.7.13...v31.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-11 12:04:14 -08:00
TÖRÖK Attila cce3a8199d web: Add a config option to disable the message about unsupported content 2021-01-10 16:02:23 -08:00
relrelb 828d8b7339
demo: General refactor
General cleanup and refactoring of the web demo
2021-01-09 19:36:05 -08:00