Commit Graph

712 Commits

Author SHA1 Message Date
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
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] 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] 5c27c76cba build(deps-dev): bump @wdio/cli from 7.20.1 to 7.24.0 in /web
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio) from 7.20.1 to 7.24.0.
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v7.24.0/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.20.1...v7.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 16:55:47 -07: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
dependabot[bot] 599b1ad35e build(deps-dev): bump webpack-dev-server from 4.9.3 to 4.10.1 in /web
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.9.3 to 4.10.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.9.3...v4.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 15:35:39 -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 4dc446825b extension: Check more thoroughly for SWF filenames and MIME types 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 c2354c1a30 demo: Make open-modal kebab-case 2022-08-19 16:20:06 -07:00
Daniel Jacobs d8ed2f0d01 demo: Address feedback for metadata color scheme and icon placement 2022-08-19 16:20:06 -07:00
Daniel Jacobs a2968e6ecb demo: Use switch statement instead of branches 2022-08-19 16:20:06 -07:00
Daniel Jacobs 7343acf65b demo: Replace division & Math.round with bitshift (acts like Math.floor) 2022-08-19 16:20:06 -07:00
Daniel Jacobs 86f0813a79 demo: Use Object.entries for simpler code 2022-08-19 16:20:06 -07:00
Daniel Jacobs 9bd1a8c940 demo: Ensure metadata does not overflow 320 x 320 screen 2022-08-19 16:20:06 -07:00
Daniel Jacobs 92a4d7c831 demo: Add uncompressedLength to metadata on demo page 2022-08-19 16:20:06 -07:00
Daniel Jacobs 42cf08d578 demo: Show metadata on information icon click 2022-08-19 16:20:06 -07:00
Daniel Jacobs 75becaf3ba demo: Add metadata to status bar on the page 2022-08-19 16:20:06 -07:00
Daniel Jacobs 992e34764e web: Fix metadata test by adding uncompressedLength 2022-08-03 09:17:24 +03: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
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
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 245b55a832 chore: Fix lint 2022-07-13 20:36:52 -07:00
nosamu 7c55a14c36 demo: Update swfs.json example 2022-07-13 20:36:52 -07:00
nosamu 320f84dc88 demo: Improve Sample SWF dropdown 2022-07-13 20:36:52 -07: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