TÖRÖK Attila
e468047ec5
chore: Make web-sys a workspace-level dependency
...
Thereby deduplicating the version number of it.
2024-09-18 11:28:27 +02:00
TÖRÖK Attila
8ad1c1069c
video/external: Make OpenH264 support optional by adding the `openh264` feature
...
And enable it in desktop and tests.
2024-09-18 11:28:27 +02:00
TÖRÖK Attila
0e1d500654
video/external: Move OpenH264 related stuff into the `openh264` decoder module
2024-09-18 11:28:27 +02:00
Crowdin Bot
35f1fda4b2
chore: Update translations from Crowdin
2024-09-18 00:36:55 +02:00
Mads Marquart
0f2b66a808
desktop: Move cpal audio backend to frontend-utils
2024-09-18 00:21:29 +02:00
Lord-McSweeney
ac3f8991ea
core: Remove unused MovieClipStatic.processed_bytecode_tags_pos
2024-09-17 10:51:41 -07:00
Crowdin Bot
9651a19387
chore: Update translations from Crowdin
2024-09-17 12:59:48 +02:00
dependabot[bot]
d85e420125
build(deps-dev): bump the npm-minor group in /web with 4 updates
...
Bumps the npm-minor group in /web with 4 updates: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ), [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react ), [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) and [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken ).
Updates `typescript-eslint` from 8.5.0 to 8.6.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.6.0/packages/typescript-eslint )
Updates `@types/react` from 18.3.5 to 18.3.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `vite` from 5.4.5 to 5.4.6
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.6/packages/vite )
Updates `@types/jsonwebtoken` from 9.0.6 to 9.0.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsonwebtoken )
---
updated-dependencies:
- dependency-name: typescript-eslint
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor
- dependency-name: "@types/react"
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: vite
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: "@types/jsonwebtoken"
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 07:23:02 +02:00
Lord-McSweeney
4fd9dc45c5
chore: appease clippy
2024-09-16 16:33:49 -07:00
Lord-McSweeney
ae956eb10f
avm2: Avoid unnecessary Gc allocation for `PropertyClass::Name`
2024-09-16 16:33:49 -07:00
Lord-McSweeney
ed9b250d0a
avm2: Correctly differentiate between Any and null Multiname
2024-09-16 16:33:49 -07:00
Lord-McSweeney
6a9f4b665a
avm2: Add warning comment to `handle_input_multiname`
2024-09-16 16:33:49 -07:00
dependabot[bot]
a74d177a4a
build(deps): bump webbrowser in the cargo-minor group
...
Bumps the cargo-minor group with 1 update: [webbrowser](https://github.com/amodm/webbrowser-rs ).
Updates `webbrowser` from 1.0.1 to 1.0.2
- [Release notes](https://github.com/amodm/webbrowser-rs/releases )
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/amodm/webbrowser-rs/compare/v1.0.1...v1.0.2 )
---
updated-dependencies:
- dependency-name: webbrowser
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 23:20:03 +02:00
Adrian Wielgosik
4ab0910bff
core: Optimize BMD.fillRect()
2024-09-16 21:06:43 +02:00
Mads Marquart
a3d58f0815
chore: Make macOS specific things also work on iOS
2024-09-16 21:03:57 +02:00
Kamil Jarosz
673f28152e
desktop: Migrate old log files from config directory
...
Ruffle used to save log files in config directory.
This patch makes Ruffle migrate those files at startup.
2024-09-16 18:13:06 +02:00
Kamil Jarosz
e2e826259d
desktop: Do not store logs in config directory
...
Logs are non-essential and can be removed, contrary to config files.
This patch changes the log directory from config dir to cache dir.
2024-09-16 18:13:06 +02:00
Kamil Jarosz
b59ee2f91b
desktop: Remove Utility Freedesktop category
...
As per the documentation [1,2], Ruffle hardly fits in this category.
[1] https://specifications.freedesktop.org/menu-spec/latest/category-registry.html#main-category-registry
[2] https://specifications.freedesktop.org/menu-spec/latest/additional-category-registry.html
2024-09-16 12:01:35 +02:00
dependabot[bot]
ba9bd3a90e
build(deps-dev): bump the npm-minor group in /web with 7 updates
...
Bumps the npm-minor group in /web with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc ) | `50.2.2` | `50.2.3` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh ) | `0.4.11` | `0.4.12` |
| [tsx](https://github.com/privatenumber/tsx ) | `4.19.0` | `4.19.1` |
| [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha ) | `10.0.7` | `10.0.8` |
| [postcss](https://github.com/postcss/postcss ) | `8.4.45` | `8.4.47` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `5.4.3` | `5.4.5` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome ) | `0.0.270` | `0.0.271` |
Updates `eslint-plugin-jsdoc` from 50.2.2 to 50.2.3
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases )
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc )
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v50.2.2...v50.2.3 )
Updates `eslint-plugin-react-refresh` from 0.4.11 to 0.4.12
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases )
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.11...v0.4.12 )
Updates `tsx` from 4.19.0 to 4.19.1
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.19.0...v4.19.1 )
Updates `@types/mocha` from 10.0.7 to 10.0.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha )
Updates `postcss` from 8.4.45 to 8.4.47
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.4.45...8.4.47 )
Updates `vite` from 5.4.3 to 5.4.5
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.5/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.5/packages/vite )
Updates `@types/chrome` from 0.0.270 to 0.0.271
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome )
---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: eslint-plugin-react-refresh
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: tsx
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: "@types/mocha"
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: postcss
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: vite
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
- dependency-name: "@types/chrome"
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 11:18:23 +02:00
dependabot[bot]
17763ecb16
build(deps): bump the cargo-minor group with 4 updates
...
Bumps the cargo-minor group with 4 updates: [anyhow](https://github.com/dtolnay/anyhow ), [fontdb](https://github.com/RazrFalcon/fontdb ), [gilrs](https://gitlab.com/gilrs-project/gilrs ) and [pretty_assertions](https://github.com/rust-pretty-assertions/rust-pretty-assertions ).
Updates `anyhow` from 1.0.87 to 1.0.89
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.87...1.0.89 )
Updates `fontdb` from 0.21.0 to 0.22.0
- [Changelog](https://github.com/RazrFalcon/fontdb/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/fontdb/compare/v0.21.0...v0.22.0 )
Updates `gilrs` from 0.10.9 to 0.11.0
- [Commits](https://gitlab.com/gilrs-project/gilrs/compare/v0.10.9...v0.11.0 )
Updates `pretty_assertions` from 1.4.0 to 1.4.1
- [Release notes](https://github.com/rust-pretty-assertions/rust-pretty-assertions/releases )
- [Changelog](https://github.com/rust-pretty-assertions/rust-pretty-assertions/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-pretty-assertions/rust-pretty-assertions/compare/v1.4.0...v1.4.1 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: fontdb
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: gilrs
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: pretty_assertions
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 11:07:08 +02:00
Nathan Adams
b9573ffd8c
chore: Make crowdin use T- and A- labels
2024-09-16 10:21:58 +02:00
Nathan Adams
d526d2dd39
chore: Make dependabot use T- and A- labels
2024-09-16 10:21:58 +02:00
Aaron Hill
514b5ad774
core: Replace `on_exit_frame` with iteration over Loaders
...
This removes the need to traverse the entire display object tree -
we instead just try to fire events (when ready) on corresponding
`MovieClip`s for our `Loader::Movie` instances
2024-09-15 18:10:46 -04:00
Kamil Jarosz
94bdf6b9c6
desktop: Use FilePicker for picking files in ActionScript
...
This improves the experience of picking files from AS, as the pickers
will now be properly integrated with Ruffle.
2024-09-15 20:00:42 +02:00
Kamil Jarosz
4e395b26ad
desktop: Add FilePicker::show_dialog
...
This method makes it possible to easily integrate an existing RFD
dialog with Ruffle, i.e. make sure it's a proper child of the main window
and ensure there's only one picker present at any moment.
2024-09-15 20:00:42 +02:00
Kamil Jarosz
c34a4adb71
desktop: Rename pick_file to pick_ruffle_file
...
This change emphasizes that we want to pick a file to open by Ruffle
contrary to picking files e.g. from ActionScript.
2024-09-15 20:00:42 +02:00
Yaman Kassir
c457fba947
core: Strip BOM in URLLoader text data ( #17513 )
2024-09-15 17:39:52 +00:00
Kamil Jarosz
c378835038
desktop: Add VectorGraphics Freedesktop category
...
Ruffle handles SWF files, which are generally vector graphic animations.
2024-09-15 18:15:37 +02:00
Kamil Jarosz
6c1b17c2f4
desktop: Change order of Freedesktop categories
...
Apparently the order matters when desktop environments
decide to include the app only in one category.
It seems that we should list more important categories first.
2024-09-15 18:15:37 +02:00
Aaron Hill
6898485466
avm2: Use RefLock for BytecodeMethod.verified_info
2024-09-14 20:25:37 -04:00
wsxarcher
7d1373368b
core,web: Add the ability to load TTF/OTF/OTC as default fonts for the extension
2024-09-13 22:22:38 +02:00
Moulins
e6e92dd175
avm2: Also use avmplus' qsort in `Vector.sort`
...
This was forgotten in #17846 .
2024-09-13 21:29:43 +02:00
Kamil Jarosz
24b0c8b01e
tests: Add avm1/sandbox_type_remote test
...
Verifies the sandbox type of SWFs loaded through network.
2024-09-13 17:30:31 +02:00
Kamil Jarosz
5da61c8b90
tests: Add avm1/sandbox_type_local_network test
...
Verifies the sandbox type of a local SWF with network enabled.
2024-09-13 17:30:31 +02:00
Kamil Jarosz
04c19dbdbc
tests: Add avm1/sandbox_type_local_file test
...
Verifies the sandbox type of a local SWF with network disabled.
2024-09-13 17:30:31 +02:00
Kamil Jarosz
acdb355918
tests: Add avm2/sandbox_type_remote test
...
Verifies the sandbox type of SWFs loaded through network.
2024-09-13 17:30:31 +02:00
Kamil Jarosz
f77dddb6f5
tests: Add avm2/sandbox_type_local_network test
...
Verifies the sandbox type of a local SWF with network enabled.
2024-09-13 17:30:31 +02:00
Kamil Jarosz
4607bfd987
tests: Add avm2/sandbox_type_local_file test
...
Verifies the sandbox type of a local SWF with network disabled.
2024-09-13 17:30:31 +02:00
Kamil Jarosz
cbb1af7825
core: Use proper sandbox type per SWF
...
It's the first step of implementing the security sandbox and its
filesystem/network separation policy.
Before that Ruffle assigned `localTrusted` sandbox type for
all movies except web, where `remote` was used.
The sandbox type also was assigned to the player,
and not SWFs as it should.
This patch does not introduce any sandbox policies based
on the sandbox type, just the proper sandbox type detection.
It is also not possible to specify trusted movies,
and AIR applications don't use the `application` type yet.
2024-09-13 17:30:31 +02:00
Kamil Jarosz
41446f07d8
core: Add SandboxType::Application for AIR apps
2024-09-13 17:30:31 +02:00
Kamil Jarosz
6053fc586d
core: Move SandboxType from avm1 to sandbox module
2024-09-13 17:30:31 +02:00
Lord-McSweeney
f1da1457eb
avm2: Return actual VerifyErrors for constant pool errors
...
This requires passing around an Activation
2024-09-12 16:45:51 -07:00
Kamil Jarosz
5760aa7a8e
chore: Use PanicHookInfo instead of PanicInfo
...
Renamed in Rust 1.81.0, see https://releases.rs/docs/1.81.0/#compatibility-notes
2024-09-13 00:47:41 +02:00
TÖRÖK Attila
e61fc254d1
Revert "build: Freeze rustc for nightly builds to 1.80"
...
This reverts commit ff9ce693ad
.
2024-09-13 00:03:54 +02:00
Adrian Wielgosik
4a4b500f1d
web: Make displayMessage public again
2024-09-12 23:50:42 +02:00
TÖRÖK Attila
131ec73782
chore: Bump `jpegxr`, `coreaudio-sys` and `bindgen` dependencies
...
Thereby dropping `which`, `lazycell`, and a duplicated `itertools` version.
2024-09-12 16:48:52 +02:00
Kamil Jarosz
e8f52fd8b5
video: Use cache dir for storing downloaded OpenH264 library
...
Using the executable's parent directory is a bad idea in most cases,
as the place where Ruffle is installed should not be modified.
This patch changes the directory where the OpenH264 library is saved to
the cache directory, which should always be writable.
2024-09-12 13:05:27 +02:00
Kamil Jarosz
3da0246856
desktop: Add cache directory to options
2024-09-12 13:05:27 +02:00
Kamil Jarosz
22fda90f92
video: Prefer loading system OpenH264 library to downloading it
...
Some systems do have OpenH264 installed and in order to get
rid of the delay caused by downloading the library
(and needlessly downloading it in the first place),
an attempt is made first to load OpenH264 as a system library.
When loading fails (or version is mismatched), only then Ruffle
downloads OpenH264 and uses that version of the library.
2024-09-12 12:03:02 +02:00
Kamil Jarosz
f7ec20fd92
video: Add OpenH264Data struct
...
This struct makes it easier to manage os/arch-specific OpenH264 information.
2024-09-12 12:03:02 +02:00