Commit Graph

599 Commits

Author SHA1 Message Date
Daniel Jacobs f02e4a71d6 web: Give proper precedence to extension config when it is used 2023-03-31 03:03:11 -07:00
nosamu e19f63c3c6 web: Small CSS fixups for save manager 2023-03-28 10:37:59 +03:00
Mike Welsh 7d75f9ecf8 chore: Always rebuild TypeScript
Pass `--force` to tsc to always force a recompile of the
TypeScript on build.

`tsc` won't rebuild files if the source hasn't changed, but we
want `build-info.js` to always be updated.
2023-03-26 09:52:37 -07:00
Daniel Jacobs b7c20a6c60 extension: Give precedence to toggles over default options (fixes #5825)
Also fixes #5696
2023-03-25 22:57:57 -07:00
relrelb 3c69bb27db web: Enforce ESLint's `spaced-comment` rule 2023-03-25 10:03:55 +03:00
relrelb 39b53c76d6 ci: Deny warnings on Web
As suggested in https://github.com/ruffle-rs/ruffle/pull/6935#pullrequestreview-967181111.
2023-03-24 19:16:32 -07:00
Daniel Jacobs 2ced2d2300 web: Don't polyfill with self-hosted Ruffle while extension is loading 2023-03-24 17:58:54 -07:00
nosamu f97827ef9c web: Display config parse errors 2023-03-22 16:51:55 -07:00
Daniel Jacobs 9832ee5845 web: Remove else from save manager, unneeded with early return 2023-03-21 08:47:16 +01:00
Daniel Jacobs fe17ca8832 web: Don't replace save if user does not confirm needed reload 2023-03-21 08:47:16 +01:00
Daniel Jacobs f123b5e50c web: Don't break Ruffle when localStorage is unavailable 2023-03-21 08:47:16 +01:00
Daniel Jacobs d2e7d8ba7a web: Improve save manager styling 2023-03-21 08:47:16 +01:00
Daniel Jacobs 0cbfaf4a3e Add confirmation for delete and reload content for delete conflict 2023-03-21 08:47:16 +01:00
Daniel Jacobs 92618f6894 web: Alow download sol to work on extension page by avoiding fetch 2023-03-21 08:47:16 +01:00
Daniel Jacobs 9671f7ccac web: Close Save Manager when clicking outside of it 2023-03-21 08:47:16 +01:00
Daniel Jacobs 509d273073 web: Make all save manager functions private 2023-03-21 08:47:16 +01:00
Daniel Jacobs ef3220e77d web: Only accept sol files in save manager 2023-03-21 08:47:16 +01:00
Daniel Jacobs 320edd3c0f web: Allow duplicate key replacement to reload page 2023-03-21 08:47:16 +01:00
Daniel Jacobs 10f35781fc web: Add title text to save table keys in case of name duplicates 2023-03-21 08:47:16 +01:00
Daniel Jacobs f71723c082 web: Only show context menu item for save manager when saves exist 2023-03-21 08:47:16 +01:00
Daniel Jacobs 94ff2891e9 web: Don't allow arbitrary upload of save files for technical reasons 2023-03-21 08:47:16 +01:00
Daniel Jacobs 54ad95beb3 web: Make save manager completely functional 2023-03-21 08:47:16 +01:00
Daniel Jacobs 824cc1689c web: [WIP] Add Save Manager to context menu 2023-03-21 08:47:16 +01:00
MrCheeze 9e71ea9124 web: Allow ExternalInterface.call to call methods of primitive types (close #9105) 2023-03-19 07:18:01 +01:00
relrelb 156c76cb94 web: Simplify custom context menu separators logic
Instead deduplicating separators in `RufflePlayer.showContextMenu()`
using DOM attributes, do it right in `RufflePlayer.contextMenuItems()`,
using a simpler approach.
2023-03-18 02:10:08 -07:00
Nathan Adams 1bb8515d85 chore: Update avm2 compatibility warning to be less severe 2023-03-15 15:30:25 -07:00
Daniel Jacobs 5a1b43008b web: Remove Config object; it was never a correct type for the config 2023-03-15 11:45:00 +01:00
Oleksandr Kalko 1b3f23a750 chore: Upgrade Node.js dependencies 2023-03-12 23:36:09 +01:00
renovate[bot] 68078dcccc chore(deps): update node.js dependencies 2023-03-06 21:56:57 +01:00
Daniel Jacobs 5944bae33b web: Log a message when the preloader configuration option is false 2023-03-02 10:51:36 +02:00
Daniel Jacobs 3051e66960 web: Mark shadow-DOM elements as readonly 2023-03-02 10:51:36 +02:00
Daniel Jacobs a63f520449 web: Change preloader name while keeping old name for compatibility 2023-03-02 10:51:36 +02:00
Nathan Adams b10d4876d3 web: Add compatibilityRules config option to disable all compatibility rules 2023-03-01 21:25:19 +01:00
Daniel Jacobs c891a82440 web: Don't focus inside setTimeout on iOS and don't fire unneeded events 2023-03-01 08:15:58 +02:00
Daniel Jacobs 584cb4c1cf web/ui: Open the virtual keyboard when clicking an editable EditText 2023-03-01 08:15:58 +02:00
Daniel Jacobs b9b1fa4f8d web: Add context menu item to show virtual keyboard
Co-authored-by: n42k <pedro@amaro.sh>
2023-03-01 08:15:58 +02:00
relrelb 3f412a54b6 web: Wrap "comments" in `package.json` to a maximum of 100 characters per line 2023-02-25 16:18:38 +02:00
relrelb 1592d26afe web: Take advantage of npm pre & post scripts
To logically separate between WebAssembly (pre)build, TypeScript
build, and `set_version.js` postbuild.
More info at: https://docs.npmjs.com/cli/v9/using-npm/scripts#pre--post-scripts
2023-02-25 16:18:38 +02:00
relrelb f181794b46 web: Rename some scripts to improve clarity
* `build:ruffle_web` -> `build:wasm-vanilla`
* `build:ruffle_web-wasm_extensions*` -> `build:wasm-extensions*`
* `build:cargo_bindgen_opt` -> `build:wasm`
2023-02-25 16:18:38 +02:00
relrelb 17ac6c79d3 web: Reduce script duplication
By introducing the `$WASM_BINDGEN_FLAGS` and `$WASM_OPT_FLAGS`
environment variables, similarly to what already done with `$CARGO_FLAGS`.
2023-02-25 16:18:38 +02:00
relrelb 79cc42c739 web: Use TypeScript project references
This slightly improves TypeScript build times, and allows LSP to work
across packages without building `ruffle-core`.

Official documentation at:
https://www.typescriptlang.org/docs/handbook/project-references.html
2023-02-25 02:00:23 +02:00
relrelb 9f8419a145 web: Change `ruffle-core` output directory to `dist`
This aligns with the other packages.
2023-02-24 12:43:01 +02:00
Daniel Jacobs bcbf8c9108
web: Allow context menu to work on iOS using PointerEvents (#9598)
Co-authored-by: nosamu <71368227+n0samu@users.noreply.github.com>
2023-02-23 12:47:08 +02:00
relrelb 140e1fcfee web: Use `@tsconfig/strictest` 2023-02-22 21:39:12 +02:00
nosamu 70bf0a816a core: Add options to set and force stage scale mode 2023-02-22 12:13:20 +02:00
relrelb 94db943743 web: Enforce ESLint's `prefer-const` rule 2023-02-19 14:09:43 +02:00
relrelb 1581123284 web: Miscellaneous tiny cleanups 2023-02-18 16:35:59 +02:00
relrelb a7f41f4df5 web: Add missing access modifiers 2023-02-18 16:35:59 +02:00
relrelb b36643f52d web: Cleanup some comments 2023-02-18 16:35:59 +02:00
relrelb 903f8bc33a web: Enforce ESLint's `no-constructor-return` rule 2023-02-18 16:35:59 +02:00
relrelb f68542991f web: Enforce ESLint's `curly` rule 2023-02-18 16:35:59 +02:00
relrelb 87ecbcc066 web: Remove `InternalContextMenuItem` type
Simply declare it inline.
2023-02-18 16:35:59 +02:00
David Wendt 85f544a6cc web: Break out all the Flash identifier strings into a separate module and make `plugin-polyfill.ts` only import that. 2023-02-15 21:27:14 -07:00
David Wendt e6b9eb7df9 web: Extension build needs to seal the Firefox extension ID. 2023-02-14 18:49:58 -07:00
David Wendt 6ad6912309 web: Seal version data in the extension manifest, too. 2023-01-30 17:58:57 +01:00
nosamu cfa3363416 web: Construct SwfMovie with spoofed URL when loaded from data 2023-01-29 17:55:55 +01:00
David Wendt d280d44eed chore: JS-side lints 2023-01-23 10:40:26 +01:00
David Wendt 77bfade934 core: Allow storing build info in a JSON file for reproducible builds. 2023-01-23 10:40:26 +01:00
Nathan Adams 4117eece3b web: Indicate when we used cached debug info 2023-01-16 23:18:42 +01:00
Nathan Adams 6f967d4b3c web: Cache the output of render debug info in case of panics 2023-01-16 23:18:42 +01:00
Lord-McSweeney 8cef9b65a1 Fix playerVerion misspelling
...and also add punctuation to docs.
2023-01-16 17:49:24 +01:00
Lord-McSweeney 4049acee66 Update config.ts 2023-01-16 17:49:24 +01:00
nosamu 21c65252f5 web: Warn about root movie fetch over file protocol 2023-01-10 13:34:06 +01:00
CUB3D 11982c6d7d web: Allow specifying player version 2023-01-10 13:13:30 +01:00
Nathan Adams a69d30bb67 render: Add debug info method to renderer backends 2023-01-05 05:51:32 +01:00
Lord-McSweeney 9fecbc391c Fix incorrect line-height being inherited
Sets line-height to default on Ruffle's shadow-root, preventing incorrect line-height inheritance from the document.
2023-01-04 08:43:13 +01:00
dependabot[bot] 0463eed90a 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.45.0 to 5.48.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.48.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>
2023-01-03 09:45:31 +02:00
dependabot[bot] 99d8dd8707 build(deps-dev): bump mocha from 10.1.0 to 10.2.0 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 10.1.0 to 10.2.0.
- [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/v10.1.0...v10.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 22:01:15 -07:00
nosamu f92be1c798 web: Make RufflePluginArray iterable 2022-12-19 11:56:18 -08:00
nosamu 3a98981030 web: Add CORS panic error message with FAQ link 2022-12-19 11:21:38 -08:00
nosamu 52d94a4a13 web: Fix strings using buildInfo variables 2022-12-14 10:01:35 +01:00
relrelb 54d59b0ab6 web: Fix TypeScript 4.9 upgrade
Per the last paragraph in https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/#in-narrowing,
TypeScript 4.9 checks that the right side of `in` operator is assignable
to `object`.

Since we can't guarantee that in the `Reflect.has()` polyfill, add
a `@ts-expect-error` annotation to avoid build failure.
2022-12-14 07:30:34 +02:00
dependabot[bot] bbcaa438c0 build(deps-dev): bump typescript from 4.8.2 to 4.9.4 in /web
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.2 to 4.9.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.2...v4.9.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-14 07:30:34 +02:00
aidanbabo d14ce5243f web: Add version number requested in #8021
Change the compile time "macros" such as `%VERSION_NUMBER%` to be
contained in only one file `build-info.ts`.

Closes #8021
2022-12-13 22:49:20 +01:00
dependabot[bot] 911427f4c0 build(deps-dev): bump eslint-plugin-jsdoc from 39.3.4 to 39.6.4 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.3.4 to 39.6.4.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.3.4...v39.6.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 10:01:10 +01:00
dependabot[bot] 1cb797cb88 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.42.0 to 5.45.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.45.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>
2022-12-02 01:09:11 +01:00
dependabot[bot] df55c09ebc build(deps-dev): bump @types/mocha from 10.0.0 to 10.0.1 in /web
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 10.0.0 to 10.0.1.
- [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-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 23:36:35 +01:00
Toad06 1cb2678013 web: Add `has` and `ownKeys` methods to the `Reflect` polyfill 2022-11-14 21:31:08 +02:00
dependabot[bot] 807f1f6690 build(deps-dev): bump mocha from 10.0.0 to 10.1.0 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 10.0.0 to 10.1.0.
- [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/v10.0.0...v10.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 15:56:35 +02:00
dependabot[bot] 2f195d1ea1 build(deps-dev): bump typedoc from 0.23.15 to 0.23.19 in /web
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.23.15 to 0.23.19.
- [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.23.15...v0.23.19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 14:19:50 +02:00
dependabot[bot] c20f1abeee 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.32.0 to 5.42.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.42.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>
2022-11-02 13:02:46 +02:00
dependabot[bot] b2cd5d9453 build(deps): bump wasm-feature-detect from 1.2.11 to 1.3.0 in /web
Bumps [wasm-feature-detect](https://github.com/GoogleChromeLabs/wasm-feature-detect) from 1.2.11 to 1.3.0.
- [Release notes](https://github.com/GoogleChromeLabs/wasm-feature-detect/releases)
- [Commits](https://github.com/GoogleChromeLabs/wasm-feature-detect/commits/v1.3.0)

---
updated-dependencies:
- dependency-name: wasm-feature-detect
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 09:52:51 +02:00
relrelb acdb5ccb52 web: Remove `RufflePlayer` element existence-checks
They should always be present.
2022-10-14 11:56:44 +03:00
relrelb 29b661b366 web: Avoid deprecated `HTMLDocument` type
As suggested, use `Document` instead.
2022-10-14 11:56:44 +03:00
dependabot[bot] 758a46cb2b build(deps-dev): bump typedoc from 0.23.10 to 0.23.15 in /web
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.23.10 to 0.23.15.
- [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.23.10...v0.23.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-02 17:11:12 +02:00
dependabot[bot] 65153b94dc build(deps-dev): bump ts-node from 10.7.0 to 10.9.1 in /web
Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 10.7.0 to 10.9.1.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Changelog](https://github.com/TypeStrong/ts-node/blob/main/development-docs/release-template.md)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v10.7.0...v10.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-02 14:52:46 +02:00
dependabot[bot] 52e4e4169e build(deps-dev): bump @types/mocha from 9.1.1 to 10.0.0 in /web
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 9.1.1 to 10.0.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-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-02 14:22:51 +03:00
dependabot[bot] 72aece44c6 build(deps-dev): bump eslint from 8.23.0 to 8.24.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.0 to 8.24.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.23.0...v8.24.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-10-02 13:04:52 +02:00
relrelb a8f869329e web: Fix config with `serde-wasm-bindgen`
Since `serde-wasm-bindgen` doesn't support `#[serde(default)]` (https://github.com/cloudflare/serde-wasm-bindgen/issues/20),
we no longer able to deserialize a partial `Config` object. As a solution,
take care to pass a full object from the TypeScript side.
2022-09-26 17:23:32 +03:00
Nathan Adams 97110cbecd web: Add renderer type to player debug/panic info 2022-09-04 18:55:13 -07:00
TÖRÖK Attila 8bb6e77525 web: Also enable the "reference-types" feature in the build with WASM extensions 2022-09-02 13:36:20 -07:00
dependabot[bot] 43e4e8fb61 build(deps-dev): bump typescript from 4.7.3 to 4.8.2 in /web
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.7.3 to 4.8.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.7.3...v4.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-02 15:58:28 +03:00
dependabot[bot] 667b24a7c8 build(deps-dev): bump eslint from 8.21.0 to 8.23.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 8.21.0 to 8.23.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.21.0...v8.23.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-09-01 20:50:44 -07:00
dependabot[bot] dd96e30666 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.32.0 to 5.36.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.36.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-09-01 14:21:41 -07:00
Daniel Jacobs d9da45d0f2 web: Don't show loading bar when wasm Content-Length does not exist 2022-09-01 21:43:53 +03:00
nosamu c5c619abbd web: Correct IANA Flash MIME type 2022-08-29 02:49:23 -07:00
nosamu c83ae114b2 web: Move MIME type check to its own function 2022-08-29 02:49:23 -07:00
Daniel Jacobs 29bdd138d5 web: Don't add debug info to context menu in insecure context
It won't work anyway, since the Clipboard API doesn't work in insecure contexts.
2022-08-28 20:18:46 -07:00
EmperorBale f8289b47d8
avm2: Implement call stack & stack traces (#7564)
* avm2: Implement call stack

* avm2: Class traits should have a special prefix

* avm2: Stack tracebacks should also contain error message

* avm2: Move method naming to Executable

* avm2: Handle getter and setter methods in tracebacks

* chore: Formatting

* chore: Add comments

* avm2: Make full_name write to a string, instead of creating a new one

* core: Make GcArena publicly accessible

* core: Add Deref impl for Either type

* desktop: Add AVM2 call stack to panic message

* avm2: Prefix native methods with a `/`

* chore: Appease clippy

* avm2: Check if method actually contains bytecode instead of unwrapping

* web: Add AVM2 stack trace to panic message

* chore: Formatting

* chore: Clippy

* avm2: Fix stack traces for free standing functions

* core: Remove global data from context

* core: Rename GcGlobalData to GcCallstack

* core: Introduce StaticCallstack, make GcArena private again

Co-authored-by: Adrian Wielgosik <4729533+adrian17@users.noreply.github.com>
2022-08-28 18:30:20 +02:00
relrelb e3831d2228 web: Disallow imports not used as values
Configure [`importsNotUsedAsValues`](https://www.typescriptlang.org/tsconfig#importsNotUsedAsValues)
to `error`, and switch from `import` to `import type` where needed.
Also remove the `strict` configuration, as it's inherited from
`@tsconfig/recommended`.
2022-08-26 17:27:29 -07:00
Daniel Jacobs c008cc4dea web: Add debug info context menu item 2022-08-26 16:13:55 -07:00
Adrian Wielgosik b18329c8fe web: Allow modifying player volume via JS 2022-08-20 11:53:42 -07:00
Daniel Jacobs 7105c1e803 web: Clarify uncompressed length is in bytes in metadata 2022-08-03 09:17:24 +03:00
Daniel Jacobs ce95f01de3 web: Include uncompressed length of SWF in metadata 2022-08-03 09:17:24 +03:00
dependabot[bot] 0597ee3999 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.30.3 to 5.32.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.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>
2022-08-02 17:46:11 +03:00
dependabot[bot] 2a47857c1a build(deps-dev): bump eslint from 8.18.0 to 8.21.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 8.18.0 to 8.21.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.18.0...v8.21.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-08-02 16:12:30 +03:00
dependabot[bot] ce932c83a5 build(deps-dev): bump typedoc from 0.23.3 to 0.23.10 in /web
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.23.3 to 0.23.10.
- [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.23.3...v0.23.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 15:05:09 +03:00
dependabot[bot] 1a5a253be8 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.27.1 to 5.32.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.32.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>
2022-08-02 14:30:09 +03:00
dependabot[bot] 9d7651af28 build(deps-dev): bump eslint-plugin-jsdoc from 39.3.2 to 39.3.4 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.3.2 to 39.3.4.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.3.2...v39.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 12:15:35 +03:00
Mike Welsh 9e96b075d1 ci: Build web tests with --all-features 2022-07-30 19:07:39 +02:00
Mike Welsh 9fb46c71ad web: Use `AudioBufferSourceNode` for web audio
On web:
 * Mix audio on the Rust side, piping to `AudioBufferSourceNode`.
 * Decode MP3 using `symphonia`.
2022-07-28 21:25:33 -07:00
relrelb 1accf2d8f9 web: Make `SourceAPI` a singleton
As a first step towards a simpler Web API, convert `SourceAPI` from
a class to a constant object, under the assumption that `SourceAPI`
isn't a public Ruffle API and as such is safe to be changed.

As a result the different `ruffle-core` users don't need to construct
a new `SourceAPI` instance before calling `PublicAPI.negotiate()`.
2022-07-23 10:37:33 -07:00
nosamu 01c8c38762 web: Hide loading screen when root movie download fails 2022-07-20 19:55:12 +03:00
Daniel Jacobs 56adcc5665
web: Add a loading screen (#7396)
* web: Add a loading screen

* web: Workaround sometimes overwitten remove method

* web: Completely remove exact px values from preloader

* web: Add meaningless loading animation to preloader

* web: Make preloader position relative

* web: Minor preloader CSS changes

* web: Don't change autoplay/unmuteOverlay showing logic

* demo: Use preloader-background for demo

* web: Don't fully remove preloader

* web: Hide preloader loading bar if there's no content-length

* web: Fix typo in load-ruffle

* web: Show/hide playButton and unmuteOverlay based on preloader state

* web: Address preloader feedback

* web: Revert ESLint change

* web: Remove unneeded optional chaining

* web: Change load option from hasPreloader to preloader

* web: Address some preloader feedback

* web: Change margin-bottom for preloader loading anim

* web: Simplify preloader conditional

* web: Show/hide full container when hiding/showing preloader

* web: Make preloader full-size
2022-07-19 22:20:53 +03:00
nosamu a31dd2e101 Revert "web: Add a loading screen"
This reverts commit bec0710175.
2022-07-11 19:05:52 +02:00
nosamu 47d9c5220a Revert "web: Workaround sometimes overwitten remove method"
This reverts commit ed4f0b98b2.
2022-07-11 19:05:52 +02:00
nosamu 478c69f846 Revert "web: Completely remove exact px values from preloader"
This reverts commit 2c067fe5dd.
2022-07-11 19:05:52 +02:00
nosamu d79e45e49e Revert "web: Add meaningless loading animation to preloader"
This reverts commit c48ca2874b.
2022-07-11 19:05:52 +02:00
nosamu 7c522f2d66 Revert "web: Make preloader position relative"
This reverts commit ded77ab46a.
2022-07-11 19:05:52 +02:00
Daniel Jacobs ded77ab46a web: Make preloader position relative 2022-07-10 13:30:42 -07:00
Daniel Jacobs c48ca2874b web: Add meaningless loading animation to preloader 2022-07-10 13:30:42 -07:00
Daniel Jacobs 2c067fe5dd web: Completely remove exact px values from preloader 2022-07-10 13:30:42 -07:00
Daniel Jacobs ed4f0b98b2 web: Workaround sometimes overwitten remove method 2022-07-10 13:30:42 -07:00
Daniel Jacobs bec0710175 web: Add a loading screen 2022-07-10 13:30:42 -07:00
nosamu 7fa35f2a82 web: Construct relative SWF URLs using document base 2022-07-07 08:58:04 +03:00
dependabot[bot] 79a341d106 build(deps-dev): bump typedoc from 0.22.17 to 0.23.3 in /web
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.22.17 to 0.23.3.
- [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.17...v0.23.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-02 01:25:17 +03:00
dependabot[bot] 1cc3660924 build(deps-dev): bump eslint from 8.17.0 to 8.18.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 8.17.0 to 8.18.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.17.0...v8.18.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-07-02 00:46:40 +03:00
dependabot[bot] 3cc38eec1e 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.27.0 to 5.30.3.
- [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.30.3/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-07-01 23:33:11 +03:00
dependabot[bot] b543e07df4 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.11.0 to 5.27.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.27.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-06-06 22:43:45 +03:00
dependabot[bot] 82d6f63114 build(deps-dev): bump eslint from 8.12.0 to 8.17.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 8.12.0 to 8.17.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.12.0...v8.17.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-06-06 21:41:11 +03:00
dependabot[bot] 17d574bdaa build(deps-dev): bump replace-in-file from 6.3.2 to 6.3.5 in /web
Bumps [replace-in-file](https://github.com/adamreisnz/replace-in-file) from 6.3.2 to 6.3.5.
- [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/compare/v6.3.2...v6.3.5)

---
updated-dependencies:
- dependency-name: replace-in-file
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 20:26:02 +03:00
dependabot[bot] b1151816a8 build(deps-dev): bump typescript from 4.6.4 to 4.7.3 in /web
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.6.4 to 4.7.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.6.4...v4.7.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 20:24:48 +03:00
dependabot[bot] 683f1a528f 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.13.0 to 5.27.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.27.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>
2022-06-02 09:07:05 +03:00
dependabot[bot] 3cbe8f005c build(deps-dev): bump eslint-plugin-jsdoc from 39.2.9 to 39.3.2 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.2.9 to 39.3.2.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.2.9...v39.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 23:48:12 +03:00
dependabot[bot] abe77636bf build(deps-dev): bump typedoc from 0.22.13 to 0.22.17 in /web
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.22.13 to 0.22.17.
- [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.13...v0.22.17)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 23:27:46 +03:00
Toad06 d53af46c76 web: Disable "Report bug" link if build is outdated 2022-05-30 20:50:15 +03:00
Robert Setter 6114f14fe0
Updating the verbiage for the AS3 warnings to try and reduce the number of support questions about it. (#7106)
* Updating AS3 warning verbiage.

* Updating AS3 verbiage

* Increase root font size

* Refining font size.

* correcting font size in .message
2022-05-29 15:08:46 +03:00
TÖRÖK Attila 71f7f28fb0 chore: Allow unknown_lints in both WASM modules 2022-05-17 13:07:40 -07:00
Mike Welsh 62d62d9667 chore: Allow unknown_lints in web build
The web build script in `core\package.json` sets the `RUSTFLAGS`
env var, which overrides any settings in `.cargo/config.toml`.

Add `-Aunknown_lints` to these `RUSTFLAGs` to squelch a stray
`unused_macro_rules` warning.
2022-05-17 08:36:41 -07:00
relrelb 4f05d1852d web: Prefer using `Element` over `HTMLElement`
`Element` is a slightly more general type, which is more common than
`HTMLElement`, and it satisfies our needs in most cases.
2022-05-09 15:00:14 -07:00
relrelb 4ae5e89ea7 web: Enforce ESLint's `eqeqeq` rule 2022-05-06 10:40:58 -07:00
dependabot[bot] 6c5a35d1bc build(deps-dev): bump mocha from 9.2.1 to 10.0.0 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 9.2.1 to 10.0.0.
- [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.2.1...v10.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 16:16:53 -07:00
dependabot[bot] f389b08c5a build(deps-dev): bump @types/mocha from 9.1.0 to 9.1.1 in /web
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 9.1.0 to 9.1.1.
- [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-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 14:26:32 -07:00
dependabot[bot] 1e5c6709df build(deps-dev): bump eslint-plugin-jsdoc from 37.6.1 to 39.2.9 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 37.6.1 to 39.2.9.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v37.6.1...v39.2.9)

---
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>
2022-05-01 13:46:12 -07:00
GhostlyDark 27c9637ed8 web: Don't use inline CSS attributes 2022-05-01 13:08:58 -07:00
nosamu e8d5274a18 web: Fix compatibility with Rocket Loader
Cloudflare's Rocket Loader script [prevents the DOMContentLoaded event from firing](https://dev.to/hollowman6/solution-to-missing-domcontentloaded-event-when-enabling-both-html-auto-minify-and-rocket-loader-in-cloudflare-5ch8), which was preventing Ruffle's public API from initializing. Work around this by also listening for the `load` event.

Fixes #2254 and #6583.
2022-04-23 19:46:32 -07:00
Mike Welsh 91c1a408fb web: Don't set container bgcolor in transparent wmode
If a Flash embed set both the `bgcolor` param and transparent
`wmode`, the Ruffle polyfill would incorrectly set the container
to use the background color. Keep the background transparent instead.
2022-04-19 01:57:15 -07:00
Mike Welsh 3305ac69c4 web: Support wmode parameter 2022-04-17 08:33:51 -07:00
Daniel Jacobs d3118b5e23 web: Youtube objects on Firefox without data attribute don't work with the rewrite by default 2022-04-10 19:25:26 -07:00
Daniel Jacobs 1d4a2fd5c6 web: Make notreallyyoutube.com use Ruffle 2022-04-10 19:25:26 -07:00