Commit Graph

492 Commits

Author SHA1 Message Date
iwannabethedev e211f57f81 extension: Fix popup setting changed reload detection.
The problem seems to have been the inclusion of setting values
that the previous equality function did not handle correctly.
This function broadens the kinds of setting values that can
be handled correctly.
2023-04-28 11:06:52 +03:00
iwannabethedev b01e797e99
extension: Add option for setting max. exec. time
Add an option to the 'options' menu for the extension
for setting the maximum execution time for Actionscript
code.
2023-04-27 09:47:56 +00:00
iwannabethedev eaee14c7de web: Use default configuration in extension. 2023-04-26 23:24:53 +02:00
Toad06 f3a0652aea extension: Close `popup.html` when opening/reloading a window 2023-04-26 22:08:12 +03:00
Toad06 526fe98ffb extension: Display favicon 2023-04-26 13:46:12 +02:00
nosamu bce494b86c extension: Rearrange options to emphasize the most commonly used 2023-04-25 09:00:12 +03:00
nosamu 1e3701279c web: Add preferred renderer config 2023-04-25 09:00:12 +03:00
nosamu 569e822044 extension: Reduce code duplication 2023-04-25 08:48:59 +03:00
relrelb 940a8c6658 extension: Make `Options` extend `BaseLoadOptions`
Omit config values from `DEFAULT_OPTIONS`, which are already
part of `DEFAULT_CONFIG` in `ruffle-core`. Also use spread syntax
to avoid naming each config that should pass to `ruffle-core`.
2023-04-24 22:33:59 +03:00
Nathan Adams a2ece35c12 chore: Updated translations from Crowdin 2023-04-24 01:42:21 +02:00
Nathan Adams bbdf2bd73e chore: Ran `crowdin pull` 2023-04-24 01:42:21 +02:00
renovate[bot] 30dc715c46 chore(deps): lock file maintenance node.js dependencies 2023-04-24 00:09:04 +03:00
yangyangdaji 978650a379
i18n: Update Simplified Chinese translation
Signed-off-by: yangyangdaji <1504305527@qq.com>
Co-authored-by: urain39 <urain39@qq.com>
2023-04-21 13:49:19 +00:00
p0008874 e8aa620767 i18n: Update zh-tw 2023-04-16 22:14:37 +02:00
Daniel Jacobs ddb45f2cc2 extension: Add autostart to toggle splashScreen/autoplay/unmuteOverlay 2023-04-14 22:08:23 +02:00
relrelb 3ec473d36f extension: Check tools using TypeScript
This would have caught #10351.
2023-04-06 18:41:36 +03:00
yangyangdaji bc1612ae38
extension: Update simplified Chinese translation
Co-authored-by: ForeverInfinity <79129834+ForeverInfinity@users.noreply.github.com>
2023-04-06 12:52:35 +03:00
David Wendt 42a56d88a3 web: Split Firefox extension upload into a separate process that submits whatever the latest extension is 2023-04-04 20:58:28 -07:00
relrelb 479926cdba web: Migrate to TypeScript 5.0.0
Work around the newly introduced `--verbatimModuleSyntax` flag:
https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#verbatimmodulesyntax
2023-04-01 13:11:23 +03:00
renovate[bot] 0e887411cc chore(deps): update node.js dependencies 2023-04-01 13:11:23 +03:00
relrelb 798588dd94 extension: Disallow content script to import `ruffle-core`
Use the `@typescript-eslint/no-restricted-imports` rule in order to
prevent #10422 from regressing. Ideally we wouldn't need to specify
each dependency of `content.ts` (i.e. `utils.ts` and `common.ts`),
but I haven't found any better way.
2023-03-30 01:08:13 +03:00
relrelb b0eb1057f1 web: Run `npm run format` 2023-03-28 23:43:02 +03:00
renovate[bot] a7ffae1453 chore(deps): lock file maintenance node.js dependencies 2023-03-28 23:43:02 +03:00
Lord-McSweeney eacb4498fb web: Fix XML document detection 2023-03-28 09:13:10 +03: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
David Wendt 37e1bdb43a chore: `Promise.all` needs an array 2023-03-24 20:03:11 -06:00
Daniel Jacobs 2ced2d2300 web: Don't polyfill with self-hosted Ruffle while extension is loading 2023-03-24 17:58:54 -07:00
Wumbo f6a139235b web: Increase spacing between Ruffle logo and options 2023-03-25 00:27:06 +03:00
Wumbo 8d56c8b7ad web: Change Ruffle logo hover animation 2023-03-25 00:27:06 +03:00
Wumbo 07a09d3204 web: Improve styling of nightly watermark in extension menu 2023-03-25 00:27:06 +03:00
David Wendt 1a266bafeb web: Fix extension source code upload (again) 2023-03-19 14:08:28 -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
David Wendt 6fd6279344 web: Fix copy-pasted code that breaks in sign_xpi.js 2023-03-10 18:09:58 -07:00
David Wendt f4354a638e web: Remove the find-the-version-ID extra step and use the version number directly
Mozilla actually added this feature in the middle of me building out this PR. How handy!
2023-03-10 16:38:01 -07:00
David Wendt e276b8cedb web: Since we don't get version IDs for newly-submitted extensions, search the Mozilla API for the given version instead. 2023-03-10 16:38:01 -07:00
David Wendt a39036102d web: First attempt at hacking in source code upload to Mozilla's signing tool.
We're abusing their v4 API implementation to make v5 API requests, which might not work; hopefully the authentication scheme is the same.

Furthermore, I'm assuming that the v4 sign response gives you a version ID that is valid for v5 `/addons/addon` requests.
2023-03-10 16:38:01 -07:00
renovate[bot] 68078dcccc chore(deps): update node.js dependencies 2023-03-06 21:56:57 +01:00
Toad06 df309ba4cd web: Fix broken extensions 2023-02-27 12:19:13 +02:00
p0008874 23192b4149
i18n: Update zh-tw (#9749) 2023-02-26 23:02:10 +02:00
creeper-0910 7a029af2f4 Added translation of settings screen 2023-02-26 16:08:42 +02:00
creeper-0910 a36ef7fd0c Update Japanese locale files 2023-02-25 17:08:32 +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
relrelb 52e395ecca extension: Use `@tsconfig/strictest` 2023-02-22 21:39:12 +02:00
David Wendt cc7d160d07 web: Automatically inject plugin-polyfill.ts into content.ts as a string.
The prior version of this code used a hardcoded copy of the script. Not only is this an outdated version of the code, this also caused us to fail our addons.mozilla.org audit.
2023-02-15 21:27:14 -07:00
David Wendt efc6254366 web: Build a separate plugin polyfill target file.
A future commit will add a mechanism to inject this into `content.ts` in lieu of the old copy of this file.
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
renovate[bot] 7c46fb207b chore(deps): update dependency @types/chrome to ^0.0.212 2023-02-04 15:19:58 +01:00
David Wendt 6ad6912309 web: Seal version data in the extension manifest, too. 2023-01-30 17:58:57 +01:00
Nathan Adams 72a7b2a34d web: Removed unwraps in safari extension 2023-01-10 11:10:46 +01:00
dependabot[bot] 4919e2a638 build(deps-dev): bump @types/chrome from 0.0.200 to 0.0.206 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.200 to 0.0.206.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 00:44:35 +02:00
dependabot[bot] 65c9c61f75 build(deps-dev): bump webpack-cli from 4.10.0 to 5.0.1 in /web
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.10.0 to 5.0.1.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.10.0...webpack-cli@5.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-03 09:02:08 +02:00
dependabot[bot] 83847dd843 build(deps-dev): bump sign-addon from 5.0.0 to 5.2.0 in /web
Bumps [sign-addon](https://github.com/mozilla/sign-addon) from 5.0.0 to 5.2.0.
- [Release notes](https://github.com/mozilla/sign-addon/releases)
- [Commits](https://github.com/mozilla/sign-addon/compare/5.0.0...5.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 22:43:12 -07:00
dependabot[bot] 0f5c47beb2 build(deps-dev): bump json5 from 2.2.1 to 2.2.2 in /web
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-01 09:36:23 +02:00
nosamu f92be1c798 web: Make RufflePluginArray iterable 2022-12-19 11:56:18 -08:00
Mike Welsh 696c9062d3 chore: Inherit cargo metadata from workspace
Use workspace inheritance added in Rust 1.64 to de-duplicate
various settings across all packages.
2022-12-16 15:53:59 -08:00
Mike Welsh b57d30ec57 extension: Disable minification
Extension marketplaces recommend avoiding minifying JS code, as it
does not provide benefit for local files and inhibits the review
process.
2022-12-15 13:13:41 -08: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
p0008874 1d6820c55b extension: Add unlisted warn_on_unsupported_content translate + Minor fixes. 2022-12-06 20:29:13 +01:00
p0008874 55c2c5e5c5 extension: add traditional-chinese localization
Still not perfect but decent.
2022-12-05 21:04:41 +01:00
Marco Grassi bcf9badc8c add italian localization to the extension 2022-12-02 10:33:20 +01:00
relrelb b52ae03759 extension: Convert tools to ESM 2022-11-06 20:36:33 +02:00
relrelb 6dbf78ae59 web: Fix `temp-dir` upgrade
`temp-dir` 3.0.0 is now pure ESM. As such, it no longer can be `require`d.
To workaround this, use `await import` instead.

In the long-term, it might be worth converting the `sign_xpi.js`
script itself to ESM.
2022-11-03 00:37:08 +02:00
dependabot[bot] d0989f4261 build(deps-dev): bump @types/chrome from 0.0.197 to 0.0.200 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.197 to 0.0.200.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 00:46:45 +02:00
dependabot[bot] 804845b524 build(deps-dev): bump temp-dir from 2.0.0 to 3.0.0 in /web
Bumps [temp-dir](https://github.com/sindresorhus/temp-dir) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/sindresorhus/temp-dir/releases)
- [Commits](https://github.com/sindresorhus/temp-dir/compare/v2.0.0...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 00:16:26 +02:00
relrelb 178bf4fe24 chore: Extract Cargo `edition` to `[workspace.package]`
This is possible since Rust 1.64.0: https://blog.rust-lang.org/2022/09/22/Rust-1.64.0.html#cargo-improvements-workspace-inheritance-and-multi-target-builds
2022-10-14 22:13:29 +03:00
relrelb 5f1adc2bbf extension: Avoid some non-null assertions 2022-10-14 11:56:44 +03:00
nosamu 7c3ddf2492 extension: Use split incognito mode in Chrome 2022-10-04 19:26:14 +02:00
nosamu d8e8331957 Don't run on Twitch
Related to #7146. Similarly to #2158, Twitch has added similar page integrity protection, which prevents successful login when Ruffle is enabled.
2022-10-02 15:23:23 +02:00
dependabot[bot] efaa85aa4e build(deps-dev): bump ts-loader from 9.3.0 to 9.4.1 in /web
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.3.0 to 9.4.1.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.3.0...9.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-02 08:59:47 +03:00
dependabot[bot] bb7a4af5a9 build(deps-dev): bump @types/chrome from 0.0.196 to 0.0.197 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.196 to 0.0.197.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-02 07:40:08 +03:00
relrelb 696514862d extension: Migrate to TypeScript 4.8
Per https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/#unconstrained-generics-no-longer-assignable-to,
`Object.entries()` no longer accepts nullable objects.
The suggested fix is to add a `T extends {}` constraint, but that's
disallowed by https://typescript-eslint.io/rules/ban-types/. So instead
change the parameter types from `T` to `NonNull<T>`.
2022-09-02 15:58:28 +03: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] 596263b4d6 build(deps-dev): bump @types/chrome from 0.0.188 to 0.0.196 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.188 to 0.0.196.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 16:33:16 -07:00
nosamu c5c619abbd web: Correct IANA Flash MIME type 2022-08-29 02:49:23 -07:00
nosamu 4dc446825b extension: Check more thoroughly for SWF filenames and MIME types 2022-08-29 02:49:23 -07: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
relrelb 7040397c3d web: Fix `sign-addon` upgrade
`sign-addon` 5.0.0 switched to ES Modules. Therefore, it no longer
can be `require`d. As a workaround, use `await import` instead.
In the long-term, it might be worth to convert the `sign_xpi.js`
script itself to ES Modules.
2022-08-03 00:44:03 +03:00
dependabot[bot] 039f33228e build(deps-dev): bump sign-addon from 4.1.0 to 5.0.0 in /web
Bumps [sign-addon](https://github.com/mozilla/sign-addon) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/mozilla/sign-addon/releases)
- [Commits](https://github.com/mozilla/sign-addon/compare/4.1.0...5.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-03 00:44:03 +03: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
dependabot[bot] 94bf3bdbce build(deps-dev): bump webpack-cli from 4.9.2 to 4.10.0 in /web
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.9.2 to 4.10.0.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.9.2...webpack-cli@4.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-02 00:46:28 +03:00
nosamu 680ffc3bbd
docs: Minor updates (#7264)
* docs: Minor updates to README.md

Extension builds are now output to a `dist` folder, just like all other web packages.

* docs: Minor updates to extension README

The Firefox instructions only work in Firefox Developer Edition or Nightly

* docs: Minor fixes for CONTRIBUTING.md

Omit the quotes in the RUST_LOG value, since they cause an error on Windows and are unnecessary on other platforms.
Also clarify which debugging features are activated by RUST_LOG and which are activated only when building Ruffle with `avm_debug`.

* docs: Add detail to build instructions

Add more detailed instructions for building the desktop app, as suggested by @coreybruce in #7251
2022-06-22 08:45:22 +03:00
dependabot[bot] 265c67b316 build(deps-dev): bump @types/chrome from 0.0.179 to 0.0.188 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.179 to 0.0.188.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 20:25:01 +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
WhosyVox 39afc7eda0 Add exclusions for sites broken by extension 2022-06-06 07:05:02 +03:00
dependabot[bot] 75b7ce9f7e build(deps-dev): bump sign-addon from 4.0.1 to 4.1.0 in /web
Bumps [sign-addon](https://github.com/mozilla/sign-addon) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/mozilla/sign-addon/releases)
- [Commits](https://github.com/mozilla/sign-addon/compare/4.0.1...4.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 23:50:11 +03:00
dependabot[bot] 18ca791ae2 build(deps-dev): bump archiver from 5.3.0 to 5.3.1 in /web
Bumps [archiver](https://github.com/archiverjs/node-archiver) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/archiverjs/node-archiver/releases)
- [Changelog](https://github.com/archiverjs/node-archiver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/archiverjs/node-archiver/compare/5.3.0...5.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 23:48:39 +03:00
dependabot[bot] e4088a28d7 build(deps-dev): bump ts-loader from 9.2.6 to 9.3.0 in /web
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.2.6 to 9.3.0.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.2.6...v9.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 14:41:56 -07:00
dependabot[bot] 9c13cc7595 build(deps-dev): bump sign-addon from 3.11.0 to 4.0.1 in /web
Bumps [sign-addon](https://github.com/mozilla/sign-addon) from 3.11.0 to 4.0.1.
- [Release notes](https://github.com/mozilla/sign-addon/releases)
- [Commits](https://github.com/mozilla/sign-addon/compare/3.11.0...4.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-01 13:46:23 -07:00
nosamu 20d4149fe4 extension: Check for all octet-stream MIME types
When a server returns a `.swf` file with an octet-stream MIME type, Ruffle should treat it as an SWF. Right now the extension checks specifically for the `application/octet-stream` MIME type, which leaves out servers like [MaxGames](https://farm.maxgames.com/soldier-diary-13469MTU5MA==.swf) that use the `binary/octet-stream` type instead. Check if the MIME type ends with `octet-stream` to handle both cases.
2022-04-18 09:01:10 -07:00
David Wendt 036aa2b369 chore: Prevent language servers from scanning the Safari stub binary on Windows 2022-04-12 22:14:22 -07:00
David Wendt 7418c4e788 chore: Prevent any compiler access to the Safari stub binary outside of macOS 2022-04-12 22:14:22 -07:00
David Wendt b825bf6e34 chore: cargo fmt on the stub binary 2022-04-12 22:14:22 -07:00
David Wendt 79ebcc6dd3 web: Add a crate for a stub binary that builds a Safari Web Extension 2022-04-12 22:14:22 -07:00
David Wendt 58ce66e1a3 web: Package the extension as a Safari Web Extension in the desktop build. 2022-04-12 22:14:22 -07:00
Mike Welsh 0e26fa1191 extension: Allow loading SWFs in frames (fix #6582)
If a frame directly loaded an SWF, it would not display in Ruffle.
Add `subframe` to the types intercepted by the `onHeaderReceived`
event in the background script so that Ruffle will display the SWF
in the frame.

Fixes #6582.
2022-04-03 15:17:41 -07:00
dependabot[bot] 133aa8aa5e build(deps-dev): bump json5 from 2.2.0 to 2.2.1 in /web
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/master/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-02 01:01:44 +03:00
Mike Welsh ac765bd187 chore: Update copyright
I (Michael R. Welsh) assign to Ruffle LLC all rights, title, and
interest to copyrights of my personal contributions to Ruffle,
effective March 26, 2022.
2022-03-26 18:13:14 -07:00
dependabot[bot] ed9972122e build(deps-dev): bump @types/chrome from 0.0.178 to 0.0.179 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.178 to 0.0.179.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 22:41:18 +02:00
dependabot[bot] bd9dbf84da build(deps-dev): bump @types/chrome from 0.0.177 to 0.0.178 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.177 to 0.0.178.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-11 11:09:30 +02:00
dependabot[bot] a23836b782 build(deps-dev): bump sign-addon from 3.10.0 to 3.11.0 in /web
Bumps [sign-addon](https://github.com/mozilla/sign-addon) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/mozilla/sign-addon/releases)
- [Commits](https://github.com/mozilla/sign-addon/compare/3.10.0...3.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-11 01:02:08 +02:00
dependabot[bot] cb4f7fc634 build(deps-dev): bump webpack-cli from 4.9.1 to 4.9.2 in /web
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.9.1 to 4.9.2.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.9.1...webpack-cli@4.9.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-11 01:01:28 +02:00
dependabot[bot] 0152a6aa34 build(deps-dev): bump typescript from 4.5.4 to 4.5.5 in /web
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.5.4 to 4.5.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.5.4...v4.5.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-02 09:01:19 +02:00
dependabot[bot] 0c715c369f build(deps-dev): bump sign-addon from 3.9.0 to 3.10.0 in /web
Bumps [sign-addon](https://github.com/mozilla/sign-addon) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/mozilla/sign-addon/releases)
- [Commits](https://github.com/mozilla/sign-addon/compare/3.9.0...3.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 23:05:01 +02:00
dependabot[bot] 33ac55402a build(deps-dev): bump @types/chrome from 0.0.174 to 0.0.177 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.174 to 0.0.177.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 23:03:41 +02:00
Toad06 c14569e3d4 web: Add `refresh` method to `navigator.plugins` 2022-01-26 18:53:33 -08:00
nosamu f23c03129a
extension: URL-encode the SWF URL for the player page
When the user clicks the "Open in a new tab" button, the extension's internal `player.html` page opens, with a URL parameter `?url=[the SWF URL]`. Right now, this URL parameter is not properly encoded. This causes a problem when we get to https://github.com/ruffle-rs/ruffle/blob/master/web/packages/extension/src/player.ts#L14:
> `const swfUrl = url.searchParams.get("url");` 
Because the value "url" parameter was not properly encoded, any `&` character in the SWF URL would be interpreted as the start of a *new* parameter, instead of being part of the actual SWF URL. So anything after the first `&` symbol in the SWF URL would be chopped off.
On Itch.io Flash pages such as https://rarykos.itch.io/hug-me-im-cold, the SWF URL contains several important parameters - if they are not included, the server returns 403 Forbidden (it's a type of hotlinking protection). So when the user clicked the "Open in a new tab" button on Itch.io pages, the SWF would refuse to load in the player.
This PR fixes the problem - Itch.io SWFs load when opened in a new tab after my change is applied.
2022-01-24 19:01:11 -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 7cffddca97 extension: Fix typo
We actually append the build number (the `BUILD_ID` environment variable,
which originates from `github.run_number` in the CI), not the build date.
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
Mike Welsh 70bb5fa3f2 extension: Change unsafe-eval to wasm-eval in CSP
`unsafe-eval` was needed in the extension Content Security
Policy to Wasm compilation in Chrome.

This CSP setting causes the extension to get flagged in the
Mozilla Add-On Marketplace, which discourages the use of
`unsafe-eval`.

However, Chrome has a `wasm-eval` CSP setting which also allows
extensions to compile Wasm without requiring `unsafe-eval`.
Inject this into the extension manifest when building the Chrome
extension.

Eventually this may change to `wasm-unsafe-eval` as drafted by
the CSP spec and be required by all browsers.
2022-01-12 11:29:36 -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
dependabot[bot] 1fd6fdca60 build(deps-dev): bump @types/chrome from 0.0.166 to 0.0.174 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.166 to 0.0.174.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-01 22:52:56 +02:00
Daniel Jacobs 5127e131bd extension: Fix base for direct swf links 2021-12-15 14:00:02 -08:00
TÖRÖK Attila cc4853236e web/extension: Allow 'data:' URLs as image src - needed by the canvas backend 2021-12-12 20:43:21 +01:00
relrelb e5617de4aa web: Suppress Webpack's size limit for .wasm files
Webpack warns on assets larger than 250KB by default. Our WebAssembly
module exceeds this limit by far (it's a few MBs).
2021-12-10 22:50:45 +02:00
dependabot[bot] a72ebd9ba3 build(deps-dev): bump @types/chrome from 0.0.165 to 0.0.166 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.165 to 0.0.166.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-04 17:12:12 +02:00
dependabot[bot] 1ffcfae78a build(deps-dev): bump @types/chrome from 0.0.164 to 0.0.165 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.164 to 0.0.165.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-02 07:11:56 +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
Chris Midgley cf1d0e7624 web: remove firefox extension version restriction 2021-11-22 21:47:37 +02:00
Daniel Jacobs d86bf69a04 i18n: Add spanish tranlation for swf download option 2021-11-15 23:12:27 +02:00
Daniel Jacobs d3a5561e8f web: Give toggleable option to download swfs in extension/selfhosted 2021-11-15 23:12:27 +02:00
dependabot[bot] 9d8c7ab91c build(deps-dev): bump @types/firefox-webext-browser in /web
Bumps [@types/firefox-webext-browser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/firefox-webext-browser) from 82.0.1 to 94.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/firefox-webext-browser)

---
updated-dependencies:
- dependency-name: "@types/firefox-webext-browser"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-02 07:01:02 +02:00
Chris Midgley e0b2288005
dev: Set Firefox min version to try to help with signing
* dev: set min Firefox version to 91.1.0
* Revert "dev: don't even try to sign firefox ext"
2021-10-17 11:31:03 -07:00
relrelb f3a482a48f extension: Prefer functions over methods
TypeScript is more strict with functions. Fix 2 instances affected
by this change.
2021-10-02 08:58:31 +03:00
relrelb b250dd5ff1 extension: Fix popup reload tab button
Previously the popup page fetched only the `ruffleEnable` and `ruffleOptout`
options because only those appear in `popup.html`. So the remaining
options were always returned with their default value, making the popup
page think that all tabs need to be reloaded when these options have a
non-default value.

Remove the `keys` parameter of `getOptions`, and instead make it always
return all options. Adapt all usages of `getOptions`, which got simplified
by this change.
2021-10-02 08:58:31 +03:00
relrelb 7bb2b5918f extension: Simplify `utils.ts`
In some cases, extension API abstraction objects can be assigned directly
with the equivalent extension API namespace. This reduces much trivial
code that just duplicates all the needed functions.

Also, extract `promisifyStorageArea` to share duplicate code between
the conversions of `chrome.storage.local` and `chrome.storage.sync`
(though `local` is not currently used).
2021-10-02 08:58:31 +03:00
relrelb a3acdac0f9 extension: Rename `tabSettings` to `tabOptions`
This aligns with the rest of the code that uses the term "options"
rather than "settings".
2021-10-02 08:58:31 +03: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] 72b66944af build(deps-dev): bump ts-loader from 9.2.4 to 9.2.6 in /web
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.2.4 to 9.2.6.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.2.4...v9.2.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-01 07:06:40 +03:00
dependabot[bot] 4c146bc758 build(deps-dev): bump webpack-cli from 4.7.2 to 4.8.0 in /web
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.7.2 to 4.8.0.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.7.2...webpack-cli@4.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-30 22:34:50 +03:00
dependabot[bot] 497188fb45 build(deps-dev): bump @types/chrome from 0.0.154 to 0.0.158 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.154 to 0.0.158.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-30 22:05:47 +03:00
relrelb d5b223c1b3 extension: Add log level option 2021-09-26 07:57:37 +03:00
relrelb 0b4d6e6a1c extension: Add an option to ignore unsupported content warnings 2021-09-24 18:52:13 +03:00
relrelb bb029468ef extension: Listen for `onchange` events
For checkboxes, `click`, `onchange`, and `oninput` seem all the same,
but for other input types (e.g. dropdowns, text boxes) this matters.
2021-09-24 17:30:12 +03:00
relrelb cf3c36f306 extension: Localize label only when a translation exists
In order to not have to translate to all languages for each new option.
2021-09-24 17:30:12 +03:00
relrelb 8c19e06e5e extension: Type `utils.getOptions()` better
This disallows passing non-existent options:

```ts
utils.getOptions(["doesNotExist"]); // error
```

And also disallows using options that were not requested:

```ts
const options = utils.getOptions(["ruffleEnable"]);
options.ignoreOptout; // error
```
2021-09-24 17:30:12 +03:00
relrelb 34facdc5c2 extension: Use `Map` instead of `Record` to store option elements
This has few advantages:

* `Map` is more performant, and its keys cannot clash with builtin
JavaScript properties (e.g. `toString`).
* TypeScript has better type information about `map.keys()`, whereas
`Object.keys()` always return `string[]`.

Also, move `camelize` inside `getBooleanElements`, as it's only used
there, and unify the 2 `for` loops in `bindBooleanOptions` (iterating
`options` is wrong because it might contain options that doesn't exist
in the page).
2021-09-24 17:30:12 +03:00
relrelb bb926461a1 extension: Return a `Promise` from `injectScriptURL`
This serves 2 goals:

1. Wait for the script to be injected (when the promise is resolved),
so future `sendMessageToPage` won't happen before the script can
respond.
2. Detect errors in the script injection (when the promise is
rejected).
2021-09-24 17:30:12 +03:00
relrelb 4dfbff5f2f extension: Invert `shouldLoad` condition
This is a pure mechanical change, in order to lower the indentation
level.
2021-09-24 17:30:12 +03:00
relrelb 340837649e extension: Rename message properties
Make them short and clear:

* `uniqueMessageSuffix` -> `ID`
* `type` -> `to`
2021-09-24 17:30:12 +03:00
Chris Midgley f276712c2c dev: allow for failure of firefox signing in build nightly 2021-09-21 20:10:20 +02:00
Chris Midgley 384d04536f dev: optimize file sizes for pngs and svgs
Run pngs through optipng and svgs through svgo.
2021-09-16 02:37:11 -07: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
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
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
relrelb 44d1677ed6 web: Allow migration to TypeScript 4.4
More info at: https://devblogs.microsoft.com/typescript/announcing-typescript-4-4/#use-unknown-catch-variables
2021-09-02 10:09:21 +03:00
dependabot[bot] ec85e18e09 chore: Bump @types/chrome from 0.0.149 to 0.0.154 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.149 to 0.0.154.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-02 00:25:13 +03:00
relrelb 74da833c58 extension: Resolve paths relative to the SWF location
In direct SWF mode, paths used to be resolved relative to the
extension URL, which is invalid. Change it to be relative to the
SWF location, using the `base` option.
2021-08-26 01:02:45 +03:00
relrelb 0fe583e723 extension: Fix warning on Firefox
Firefox doesn't know the manifest "version_name" key, so it shows
a warning when loading the extension.

So define "version_name" only for the "generic" variant, along with
a nearby cleanup of using a regular property assignment instead of
`Object.assign`.
2021-08-16 23:03:29 +03:00
Seedgou 7a0a3025ba extension: vectorize logo image 2021-08-16 18:25:33 +02:00
Adrian Wielgosik 02dd0ae463 web: add isExtension info to panic info and context menu version string 2021-08-03 17:47:42 +02:00
dependabot[bot] 8caaf22ac0 chore: Bump ts-loader from 9.2.3 to 9.2.4 in /web
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.2.3 to 9.2.4.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.2.3...v9.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 04:48:09 +03:00
dependabot[bot] 98b4f4c73b chore: Update @types/firefox-webext-browser requirement in /web
Updates the requirements on [@types/firefox-webext-browser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/firefox-webext-browser) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/firefox-webext-browser)

---
updated-dependencies:
- dependency-name: "@types/firefox-webext-browser"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 04:47:31 +03:00
dependabot[bot] ff90c132cf chore: Bump @types/chrome from 0.0.145 to 0.0.149 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.145 to 0.0.149.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-01 23:10:11 +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 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
TÖRÖK Attila a16bbcf9d0 web: Improve Hungarian translations 2021-06-20 18:45:59 -07:00
Chris Midgley 8927500489 dev: update all package.json devDependencies to latest 2021-06-20 02:21:17 -07:00
sn-o-w 41c4ac2834 i18n: Add Romanian 2021-05-19 14:49:01 -07:00
Jmousy 27bf4c5ccc i18n: Add Korean 2021-05-16 22:57:23 -07:00
Ahmet Akkoç ae038ccbb1
i18n: Update Turkish localization 2021-05-13 10:30:14 -07:00
Pablo Rodríguez 3acfb5bc29
i18n: Minor improvement in Spanish translation 2021-05-09 10:57:27 -07:00
Ahmet Akkoç d2bf69d5e6
i18n: Added Turkish localization 2021-05-08 03:14:23 -07:00
relrelb f8a8b82c04 web: Cleanup ESLint configuration
* Cleanup .eslintrc.json files.
* Avoid unnecessary eslint-* directives.
2021-04-30 18:16:55 -07:00
dependabot[bot] ea227d332a chore: Bump @types/chrome from 0.0.135 to 0.0.136 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.135 to 0.0.136.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 14:10:55 -07:00
relrelb 24dcad9546 extension: Avoid script injection in XML documents
document.xmlVersion doesn't exist in Firefox, so use another method
to detect XML documents, described in MDN:
https://developer.mozilla.org/en-US/docs/Web/API/Document/xmlVersion
2021-04-24 04:16:23 -07:00
relrelb 488e4421e9 extension: Lint after TypeScript migration 2021-04-23 16:58:13 -07:00
relrelb cfc57a2e1d extension: Complete TypeScript migration 2021-04-23 16:58:13 -07:00
relrelb b0c6cfe1d3 extension: Initial TypeScript migration 2021-04-23 16:58:13 -07:00
relrelb a157d7ab72 extension: Avoid script injection in XML documents 2021-04-22 18:05:18 -07:00
relrelb 2b71786b8b extension: Convert manifest to JSON5
JSON5 is a more flexible superset of JSON. It supports comments,
trailing commas and more nice features that JSON doesn't support.
2021-04-21 19:03:19 -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
relrelb 201c4f5db0 web: Use relative paths for webpack entries
Only output.path needs to be absolute.
2021-04-21 19:03:19 -07:00
Mike Welsh 7171628b44 ci: Append GitHub build ID instead to extension version
Appending the build date doesn't work (the Mozilla verison format
requires each numeric to be <65536). Use GITHUB_RUN_NUMBER instead,
which increases each time the workflow runs.
2021-04-16 22:17:01 -07:00
Mike Welsh 3f718e508e docs: Update Firefox add-on instructions 2021-04-16 12:31:14 -07:00
Mike Welsh 98c0146279 extension: Add build date to version in manifest
The Chrome/Firefox marketplaces require the version number of an
extension to increase with each upload, so append the build date
to the version in `manifest.json`. Add `versionName` with the more
readable version (`0.1 nightly 2010-15-04` for nightly builds).
2021-04-16 12:31:14 -07:00
Mike Welsh 100977a266 extension: Catch errors while signing the Firefox add-on
Properly catch errors from the `sign-addon` package and bail out
immediately. This will display better output from the Mozilla
validation service.
2021-04-16 12:31:14 -07:00
Mike Welsh 9e64f111c3 extension: Copy Firefox add-on after signing instead of moving
A rename will fail if the destination is on a different mount
(happened to me!). Instead, copy the file to the destination, then
delete the old file.
2021-04-16 12:31:14 -07:00
Mike Welsh 80dfefa45d extension: Add proper 128x128 icon 2021-04-16 12:31:14 -07:00
relrelb 4d2c8ec7f6 web: Set page title in player.js 2021-04-15 16:29:27 -07:00
relrelb 9021da874d web: Small improvement in player.js 2021-04-15 16:29:27 -07:00
relrelb 2fd0bb0183 web: Improve background.js 2021-04-15 16:29:27 -07:00
relrelb 54604c1be1 web: Prototype direct SWFs 2021-04-15 16:29:27 -07:00
relrelb d336926e3f web: Put Firefox-specific note in place 2021-04-15 16:21:23 -07:00
relrelb 71a17166f4 web: Rename index.js to ruffle.js 2021-04-15 13:47:07 -07:00
relrelb d86949d22f web: Refactor manifest.json 2021-04-15 13:47:07 -07:00
relrelb 1e7bd652e7 web: Update extension README.md 2021-04-15 13:47:07 -07:00
relrelb 027597039f web: Rename lv0.js to content.js 2021-04-15 13:47:07 -07:00
relrelb 0db98888b2 web: Rename extension/build/ to extension/assets/ 2021-04-15 13:47:07 -07:00
relrelb a3576da5f1 web: Unify extension/build/icons/ and extension/build/logo/ 2021-04-15 13:47:07 -07:00
relrelb 02669c0451 web: Rename extension/js/ to extension/src/ 2021-04-15 13:47:07 -07:00
relrelb 2d24afc318 web: Rename settings to options 2021-04-15 13:47:07 -07:00
relrelb 7fbae7c809 web: Appease ESLint 2021-04-11 15:04:16 -07:00
relrelb 26932c59bb extension: Remove util.js 2021-04-11 15:04:16 -07:00
relrelb 9e93b06d77 web: Refactor extension lv0.js and index.js 2021-04-11 15:04:16 -07:00
relrelb 3dc5b34706 web: Remove unused functions from util.js
As they were replaced with corresponding functions in utils.js.
The end goal is to gradually deprecate util.js, and then remove it.
2021-04-10 17:57:11 -07:00
relrelb 7b5d0b4359 web: Refactor extension settings page 2021-04-10 17:57:11 -07:00
relrelb 304d618f27 web: Refactor extension popup
This currently breaks the options page, which will be fixed in a
follow-up commit.
2021-04-10 17:57:11 -07:00
relrelb ee8b24b6fc web: Add common.css 2021-04-10 17:57:11 -07:00
relrelb 6eb5a95705 web: Add common.js 2021-04-10 17:57:11 -07:00
relrelb 2c2983236e web: Add utils.js 2021-04-10 17:57:11 -07:00
relrelb 51d02fb7f7 web: Add packages/extension/.gitignore 2021-04-10 17:38:39 -07:00
relrelb 47859af86b web: Move exclusive dependencies to extension 2021-04-10 17:38:39 -07:00
relrelb c6cd22258f web: Refactor extension build tools 2021-04-10 17:38:39 -07:00
relrelb 12dee2199e web: Pass obfuscatedEventPrefix via query string
This eliminates the need to create a script dynamically, and fixes
publicPath() to correctly return the extension URL rather than the
host site URL.
2021-03-13 02:19:05 -08:00
relrelb 56cece3336 web: Use publicPath() instead of ruffleRuntimePath
Similarly to how selfhosted currently does.
2021-03-13 02:19:05 -08:00
relrelb 690b51f15b web: Shorten CopyWebpackPlugin to CopyPlugin 2021-03-05 23:07:55 -08:00
Mike Welsh f6f7222221 web: Remove clean-webpack-plugin dependency 2021-03-03 06:44:45 -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
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
Toad06 9449abf873 web: Rename `settings.htm` to `settings.html` 2021-01-04 12:23:25 -08:00
Toad06 ed221c5aef web: Rename `popup.js` to `main.js` 2021-01-04 12:23:25 -08:00
Toad06 b975ab141b web: Update extension to camelCase 2021-01-04 12:23:25 -08:00
LaszloEr 446725e981
i18n: Fixed grammar mistakes in the German translation 2021-01-01 19:45:28 -08:00
Toad06 25d5f48d18 web: Run eslint 2020-12-17 12:48:32 -08:00
Toad06 b9aed2c7bb web: Rename from snake_case to camelCase 2020-12-17 12:48:32 -08:00
Toad06 d6a857803a web: Fix extension and self-hosted builds conflicting with each other 2020-12-17 12:48:32 -08:00
jmckiern 73afae8fa5 Make slider color change if slider is checked 2020-12-07 13:39:46 -08:00
notimre 491ce876aa i18n: Add Hungarian translations 2020-12-03 16:51:45 -08:00
StevenNL2000 64d8f3a2ce i18n: Add Dutch 2020-12-03 11:44:36 -08:00
Newbyte 71f5339827 i18n: Add Swedish 2020-12-01 11:55:57 -08:00
Zombie110year 6e8346ab56
i18n: Add Simplified Chinese translation 2020-12-01 10:10:30 -08:00
IWumboYouWumbo af254c3bc0 web: Revamp settings page 2020-11-28 15:34:58 -08:00
Txori a363d0e392
Create messages.json (#1765)
Here comes the French.
2020-11-28 15:28:40 -08:00
Txori bdc18863c8
i18n: Add missing word in Spanish
The word "loaded" was missing in the sentence.
2020-11-28 15:28:15 -08:00
ednt a2888037a3
i18n: Create german version of messages.json 2020-11-28 13:46:51 -08:00
dependabot-preview[bot] 48f8e6579a build(deps-dev): bump prettier from 2.1.2 to 2.2.0 in /web
Bumps [prettier](https://github.com/prettier/prettier) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.1.2...2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-24 20:55:38 -08:00
Nathan Adams 600d267bf3 web: We no longer need git dependency in webpack builds - fixes #1517 2020-11-24 16:36:33 -08:00
Nathan Adams eae6742475 web: Make sure extension labels itself in source API 2020-11-24 16:36:33 -08:00
sousuke0422 75ce1bf4c1
i18n: Add Japanese
* i18n: Add Japanese
* i18n: Fix the "message" field in ja/message.json

Co-authored-by: FUJIMOTO-Itsuki <52658442+FUJIMOTO-Itsuki@users.noreply.github.com>
Co-authored-by: FUJIMOTO-Itsuki <52658442+FUJIMOTO-Itsuki@users.noreply.github.com>
2020-11-07 17:22:47 -08:00
Pablo Rodríguez aaa4ce5431
i18n: Improve the Spanish translation and use ellipses character
* replace ... with proper Unicode char "…"
* some improvements to the Spanish translation

Co-authored-by: Pablo Rodríguez <ousia@users.noreply.gitlab.com>
2020-11-07 13:11:03 -08:00
Rult 564a36c049 i18n: Add Russian 2020-11-07 13:06:29 -08:00
Nathan Adams dab79107b2 web: Include git details into the build 2020-11-04 16:46:14 -08:00
Nathan Adams 2b3f787547 web: Fix build of extension, failing since partial update to webpack 5 2020-11-01 05:52:40 -08:00
Mike Welsh cd96df7ee7 web: Disable automatic publicPath in webpack configs 2020-10-21 15:19:36 -07:00
Mike Welsh 990052db77 chore: Bump to webpack 5 2020-10-17 14:07:28 -07:00
Luca Weiss d5cb396331 *: fix spelling mistakes 2020-09-19 16:17:58 -07:00
JustinCB f8c40569be i18n: Add Settings Saved to locales 2020-08-13 00:41:23 -07:00
JustinCB 15fcce4d06 extension: Centralize default settings
Use true/false for boolean settings and have get_sync_storage
return the default values if necessary.
2020-07-29 19:03:17 -07:00
JustinCB 07506891c4 extension: Remove debug spew 2020-07-29 19:03:13 -07:00