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