Commit Graph

11763 Commits

Author SHA1 Message Date
renovate[bot] 6e84b05b66 fix(deps): update rust dependencies 2024-03-01 22:46:32 +01:00
TÖRÖK Attila 10fa4175c4 chore: Bump jpegxr and nellymoser-rs git references 2024-03-01 21:54:18 +01:00
Daniel Jacobs 9a7a92fd9e web: Don't panic on browsers without ReadableStreamDefaultController 2024-03-01 13:26:38 -05:00
Kamil Jarosz a0f2941a2e desktop: Update winit to 0.29.12
This fixes critical crashes on X11
2024-03-01 12:10:37 +01:00
Crowdin Bot 4e87d34068 chore: Update translations from Crowdin 2024-03-01 11:15:11 +01:00
renovate[bot] 85e2e366f9 chore(deps): update node.js dependencies 2024-03-01 11:03:05 +01:00
Tom Schuster a03355458f desktop: Add gamepad support using gilrs 2024-02-28 21:21:09 +01:00
Tom Schuster d07b154898 chore: add build dependency 2024-02-28 21:21:09 +01:00
Tom Schuster 0cea5a0a9e core: Introduce gamepad button mapping support 2024-02-28 21:21:09 +01:00
Kamil Jarosz 9bc6700531 desktop: Get rid of busy waiting in connect_socket
This patch makes connect_socket await on recv
instead of spin and wake the CPU each 10 milliseconds.
2024-02-28 19:42:54 +01:00
Kamil Jarosz f5d52272ca desktop: Flush pending data before socket closes
This patch makes sure that any pending data is sent before
the socket closes. Without this fix Ruffle ignored the data sent
right before calling socket.close.
2024-02-28 19:42:54 +01:00
Kamil Jarosz f6907a5c73 desktop: Add tests for connect_socket
Add tests for ExternalNavigatorBackend::connect_socket.
2024-02-28 19:42:54 +01:00
Kamil Jarosz 2535b926a7 desktop: Add WinitFutureSpawner
This improves testability, decouples ExternalNavigatorBackend
from the event loop, and improves readability.

Instead of passing a channel to send the future to and an event loop
to poll, a WinitFutureSpawner is created which performs the
action of spawning a future and polling the event loop.
2024-02-28 19:42:54 +01:00
Kamil Jarosz cc8b0aa5dd core: Use async channels in NavigatorBackend
This has several advantages:
1. it allows using async variants of send and recv,
2. it adds consistency as until now Receiver was async,
   and Sender was not.
2024-02-28 19:42:54 +01:00
Aaron Hill 3e99dd3999 core: Use latest fluent-templates `master` for reproducible builds 2024-02-27 21:36:28 -05:00
Aaron Hill 900a8407d6 core: Implement lazy decoding of bitmaps
We hit a pathological case in House
(https://github.com/ruffle-rs/ruffle/issues/15154),
where eagerly decoding bitmaps during preloading results in
over 10GB of ram being used.

With this PR, we store the compressed bitmap, and only decode it
each time we instantiate it. In order to support bitmap fills,
we store the decoded width/height and a lazily-initialized GPU handle
in `Character::Bitmap`
2024-02-27 21:18:18 -05:00
TÖRÖK Attila 05fc77e8cd ci: Turn off LTO, document the settings in the `ci` Cargo profile
And set the number of codegen units.
2024-02-28 00:20:47 +01:00
TÖRÖK Attila a23ebb0366 ci: Actually enable incremental building (despite the default in rust-cache) 2024-02-28 00:20:47 +01:00
TÖRÖK Attila a342232d5f ci: Enable CARGO_NET_GIT_FETCH_WITH_CLI on Windows (and incidentally on Linux as well) 2024-02-28 00:20:47 +01:00
TÖRÖK Attila 893a4962de build: Switch to linking with LLD on Windows 2024-02-28 00:20:47 +01:00
TÖRÖK Attila ee0c1f42ff core,avm2: Make Timer.setDelay not change the timer ID. Fix #15005. 2024-02-27 23:56:33 +01:00
TÖRÖK Attila e288375543 tests: Add a failing test for Timer.setDelay changing ID 2024-02-27 23:56:33 +01:00
Crowdin Bot 832f35e203 chore: Update translations from Crowdin 2024-02-27 22:51:33 +01:00
TÖRÖK Attila e56a4597cc desktop: chore: Update winit to 0.29.11 2024-02-27 22:43:59 +01:00
TÖRÖK Attila 12151f5125 ci: Add a dedicated Cargo profile, test with that 2024-02-26 08:42:24 +01:00
TÖRÖK Attila f5a5705381 ci: Don't install rustfmt and clippy for the Rust tests job
This is leftover from https://github.com/ruffle-rs/ruffle/pull/15171
2024-02-26 08:42:24 +01:00
renovate[bot] 9cdb2f31cc fix(deps): update rust dependencies 2024-02-26 08:14:26 +01:00
Lord-McSweeney 11d5a8f7df avm2: Resolve reviews (no functional changes) 2024-02-25 21:52:24 -08:00
Lord-McSweeney 8542edf10c avm2: Handle lazy multinames in optimizer 2024-02-25 21:52:24 -08:00
Lord-McSweeney b637e5f108 avm2: Add a `popn` function to `Stack` and use it 2024-02-25 21:52:24 -08:00
Lord-McSweeney 4d8c98af0d avm2: Don't use a `Class`'s first `ClassObject` for its VTable if more than one `ClassObject` had been constructed for the class 2024-02-25 21:52:24 -08:00
Lord-McSweeney a763842b1b avm2: Extract optimizer logic into a different file 2024-02-25 21:52:24 -08:00
Lord-McSweeney ba9a975685 avm2: Add `push_raw` for faster stack pushes 2024-02-25 21:52:24 -08:00
Lord-McSweeney b07c0a99ea avm2: Also optimize `CallProperty` to `CallMethod` when possible 2024-02-25 21:52:24 -08:00
Lord-McSweeney 22117e3eb5 avm2: Add more ops to optimizer and let it use resolved argument types 2024-02-25 21:52:24 -08:00
Lord-McSweeney 4da708edb8 chore: appease clippy 2024-02-25 21:52:24 -08:00
Lord-McSweeney e227576093 chore: cleanup 2024-02-25 21:52:24 -08:00
Lord-McSweeney d7cebd020b avm2: Support type inference for chained `GetProperty`s 2024-02-25 21:52:24 -08:00
Lord-McSweeney 8b19012123 avm2: Handle more ops in abstract optimizer 2024-02-25 21:52:24 -08:00
Lord-McSweeney 0cb0d4a6da avm2: More advanced optimizer 2024-02-25 21:52:24 -08:00
TÖRÖK Attila d2e854fb73 nit: desktop/navigator: Fix a typo in a comment: ownerhsip -> ownership 2024-02-22 21:14:41 +01:00
Kamil Jarosz 98c0dc4616 desktop: Prevent resource leak on reload
This patch makes TaskHandle reference the executor by a weak reference.
Prior to this change, there was a possibility of a resource leak, where
the executor, its tasks, and resources held by them were not properly
dropped due to existing references to the executor.

This manifested by e.g. unclosed sockets after reload, which required
the whole program to be restarted in order to be closed properly.
2024-02-21 21:45:01 -05:00
Nathan Adams ea77019eab web: Include wasm file in docker builds as Mozilla say this is okay, and it solves our reproducibility issues 2024-02-22 02:30:00 +01:00
Nathan Adams 6a548225f7 ci: Extend the docker test to include diffing against normal builds 2024-02-21 23:48:40 +01:00
dependabot[bot] 35630c3a2e build(deps-dev): bump ip from 1.1.8 to 1.1.9 in /web
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-21 00:42:08 +01:00
Crowdin Bot 00f1ce66ea chore: Update translations from Crowdin 2024-02-21 00:26:15 +01:00
TÖRÖK Attila 2ffebcfc8a chore: Run `cargo update` 2024-02-21 00:18:38 +01:00
Nathan Adams 30a0864329 web: Don't generate random name of wasm files in extension 2024-02-19 20:47:33 +01:00
renovate[bot] 6b89737093 fix(deps): update rust dependencies 2024-02-19 11:32:22 +01:00
Daniel Jacobs 279cbc4d5f ci: Update get-current-time to v2.1.2 which uses Node 20 2024-02-19 11:06:02 +01:00