Commit Graph

765 Commits

Author SHA1 Message Date
Tom Schuster 0a55c04eaf web: Include the version in the new ruffle instance console message 2023-08-12 01:13:59 +02:00
Crowdin Bot 8e1632ab22 chore: Update translations from Crowdin 2023-08-11 10:23:54 +02:00
Crowdin Bot 205ef09cc6 chore: Update translations from Crowdin 2023-08-08 23:49:31 +02:00
Nathan Adams 9125d30e76 web: Don't store the full semver version as the version name, just construct it when needed 2023-08-08 14:33:49 -06:00
Daniel Jacobs 91c2d0efa4 web: Create modal to hold unsupported videos 2023-08-07 14:31:33 -06:00
Daniel Jacobs dbb5e381f2 core/desktop/web: Play unsupported videos with browser 2023-08-07 14:31:33 -06:00
TÖRÖK Attila ddc290ddf9 chore: Appease prettier. 2023-08-07 09:22:58 +03:00
renovate[bot] 863ce90d9d chore(deps): bump node.js dependencies 2023-08-07 09:22:58 +03:00
Nathan Adams 44623bf28f web: Remove extension specific code in polyfill, doesn't need to exist now 2023-08-06 23:55:39 +02:00
Nathan Adams 7a39dc9176 web: Add build date as part of version buildinfo 2023-08-06 23:55:39 +02:00
Nathan Adams 64d951099d web: Compare build ident if all else fails, when finding best versions 2023-08-06 23:55:39 +02:00
Nathan Adams 4f4dbc7973 web: Fix PublicAPI superseding, it previously always thought 'the latest ran' should replace the older version 2023-08-06 23:55:39 +02:00
Adrian Wielgosik c41d7d56f0 build: Reduce disk use of reproducible docker builds 2023-08-05 12:07:59 +02:00
Crowdin Bot 98c286e997 chore: Update translations from Crowdin 2023-08-04 17:18:58 +02:00
Oleksandr Kalko 2c4bd5c5c7
chore: Run `npm update --save` 2023-07-30 21:12:47 +00:00
Crowdin Bot 280de7cd61 chore: Update translations from Crowdin 2023-07-27 16:39:17 +02:00
Nathan Adams e610c9a9ce web: Readd warnOnUnsupportedContent for backwards compatibility, but mark it deprecated and unused 2023-07-22 23:08:42 +02:00
Nathan Adams 586c3bebf6 core: Remove unsupported content warning 2023-07-22 23:08:42 +02:00
Nathan Adams 3447b8bfdd chore: npm run format 2023-07-20 14:00:04 +02:00
Crowdin Bot b2afcbaf3e chore: Update translations from Crowdin 2023-07-20 13:41:04 +02:00
Daniel Jacobs affff425c5 web: Fix typo in build_wasm.js 2023-07-19 11:37:15 -04:00
Nathan Adams 34c0d41fca web: Remove no longer needed depencency 'shx' 2023-07-15 23:48:04 +02:00
Nathan Adams be48ff357f web: Add build_wasm.js script to replace chained npm scripts 2023-07-15 23:48:04 +02:00
nosamu 48e37914cf web: Make isTouch indicate the source of the last PointerEvent
This allows the behavior of the context menu to change depending
on whether it was triggered by a touch or right-click.
2023-07-15 19:14:13 +02:00
nosamu e7689ac883 Revert "web: Make isTouch locally scoped to showContextMenu"
This completely broke touch detection
2023-07-15 19:14:13 +02:00
Aaron Hill 009fab1889 core: Expose `LoaderInfo.parameters` and fix other properties
When using a 'Loader', properties on the 'contentLoaderInfo' become
set during specific events in the load sequence. In particular,
'LoaderInfo.bytesTotal' becomes available during the first 'progress'
event.

Also, 'LoaderInfo.parameters' is now properly set from the URL query
parameters. In Flash player, this work even with filesystem urls
(e.g. 'file:///some/path/to/file.txt?paramOne=valOne' will load
a file named 'file.txt', setting and expose the parameter 'paramOne'
with value 'valOne' in `LoaderInfo.parameters`). This required some
cleanup to the desktop and test NavigatorBackend impls to strip
out query parameters when loading a parameter from disk.

Previously, we would set `SwfMovie.parameters` manually from the url.
Now, the various `SwfMovie` constructors automatically extract
query parameters from the provided url. Outside of `SwfMovie`,
we only append *extra* parameters (e.g. those set from `flashvars`).

This makes CPMStar ads work, since the loaded SWF needs to access
`LoaderInfo.parameters`
2023-07-05 19:47:16 -04:00
TÖRÖK Attila 0fe8469d24 chore: Run `npm update --save` in `web`
Also `npm install` to make sure `package-lock.json` is clean.
2023-07-02 13:55:24 +02:00
Crowdin Bot 80588d614d chore: Update translations from Crowdin 2023-07-02 11:41:18 +02:00
Crowdin Bot 29a5c6a4cd chore: Update translations from Crowdin 2023-07-01 00:47:31 +02:00
Crowdin Bot 1430e98851 chore: Update translations from Crowdin 2023-06-28 23:19:47 +02:00
relrelb f4c9142399 web: Assign `isExtension` only if `currentScriptURL` is available 2023-06-25 08:09:24 +03:00
relrelb e4bb8a60fa web: Don't report extension URL on error 2023-06-25 08:09:24 +03:00
Crowdin Bot 9e066bc14f chore: Update translations from Crowdin 2023-06-24 19:58:34 +02:00
Daniel Jacobs 9a093d20be
web: Don't auto-panic on browsers without ReadableStream (#11699)
* web: Don't auto-panic on browsers without ReadableStream

* web: Add comment explaining Pale Moon issue

* web: Simplify ReadableStream check
2023-06-24 15:10:19 +00:00
Crowdin Bot b1149cd267 chore: Update translations from Crowdin 2023-06-23 11:49:47 +02:00
nosamu 58780b3a4e extension: Ignore publicPath config 2023-06-23 09:05:37 +03:00
nosamu 99ed30f6e7 web: Set isExtension var using current script URL 2023-06-23 09:05:37 +03:00
Crowdin Bot 67a5a2923f chore: Update translations from Crowdin 2023-06-20 23:52:03 +02:00
nosamu 700f765f91 web: Use for..of instead of for..in loops 2023-06-18 22:09:20 +02:00
Toad06 31bb117325 web: Allow setting `allowScriptAccess` on global config 2023-06-18 08:18:52 +03:00
Crowdin Bot 73482c6e72 chore: Update translations from Crowdin 2023-06-18 01:02:34 +02:00
Crowdin Bot ca549e482c chore: Update translations from Crowdin 2023-06-17 19:25:33 +02:00
Crowdin Bot 56a87dec50 chore: Update translations from Crowdin 2023-06-15 13:10:16 +02:00
nosamu 202fe2f1bb core: Add options to set and force the stage alignment 2023-06-14 16:04:14 +02:00
Daniel Jacobs 0c1cd6aa4f selfhosted: Add a config option to enable Ruffle even on Flash browsers 2023-06-14 14:31:44 +02:00
Daniel Jacobs a666d35161 web: Stop error if Fetch response lacks headers 2023-06-13 08:52:58 +03:00
Crowdin Bot 834297f110 chore: Update translations from Crowdin 2023-06-12 12:28:05 +02:00
Oleksandr Kalko 70aa8385b7
chore: Upgrade NodeJS dependencies (#11352) 2023-06-09 15:50:59 +00:00
Daniel Jacobs 55efb80dd6 web: Don't try to use Ruffle on browsers with Flash support 2023-06-07 23:48:39 +02:00
Crowdin Bot 808deaa378 chore: Update translations from Crowdin 2023-06-05 09:00:51 +02:00
Crowdin Bot 9767ffca96 chore: Update translations from Crowdin 2023-06-03 15:58:24 +02:00
renovate[bot] 8bf44926af chore(deps): update node.js dependencies 2023-06-01 08:45:23 +03:00
Daniel Jacobs a2fa855156 web: Update youtube check to be more accurate using regex 2023-05-31 21:06:25 +03:00
relrelb 17e0eb112b web: Enforce ESLint's `camelcase` rule 2023-05-31 08:22:15 +03:00
Crowdin Bot 6dc3743f4b chore: Update translations from Crowdin 2023-05-30 23:21:28 +02:00
Toad06 7830a8232b
web: Allow extra MIME types in the polyfill 2023-05-30 06:35:29 +00:00
Toad06 6c0cf8fc83 web: Fix minor issues with the context menu 2023-05-28 07:51:00 +03:00
Crowdin Bot e98230c988 chore: Update translations from Crowdin 2023-05-27 00:34:44 +02:00
Crowdin Bot f3dd5dbfb6 chore: Update translations from Crowdin 2023-05-25 00:27:48 +02:00
nosamu 7dfc36c6fc web: Support pasting from clipboard 2023-05-21 15:26:42 +02:00
nosamu 77f2875898 extension: Set charset attribute of script tag instead of escaping characters 2023-05-18 22:39:06 +02:00
Toad06 b9abc463d6 web: Minor improvements to the extension player page 2023-05-18 03:34:19 +03:00
Crowdin Bot 7c954925ba chore: Update translations from Crowdin 2023-05-17 02:36:40 +02:00
renovate[bot] 82c61b5a52 chore(deps): update node.js dependencies 2023-05-16 22:57:24 +02:00
Daniel Jacobs 56afce2e3a web: Fix localStorage check on Firefox when dom.storage.enabled is false 2023-05-16 22:10:42 +03:00
Toad06 dd4c805e70 web: Escape non-ASCII characters to prevent issues on non-UTF-8 encoded pages
Co-Authored-By: relrelb <relrelb@users.noreply.github.com>
2023-05-15 11:57:05 +03:00
Nathan Adams a9ba46594f chore: Updated translations from Crowdin 2023-05-14 13:31:32 +02:00
Toad06 9671b9b824
web: Download all sols as single .zip 2023-05-13 19:19:00 +03:00
Toad06 94ad41dfd4 web: Update source string 2023-05-11 09:36:06 +03:00
relrelb e01b613a78 web: Fix another instance of "Unable to lock Ruffle core"
After a panic, `Ruffle::renderer_debug_info()` cannot be called since
it tries to immutably borrow the underlying `Player`, but `Ruffle::tick()`
already holds it mutably.

As a fix, simply use the `_cachedDebugInfo` which is fetched in
advance, before any panic occurs. Rename it to just `rendererDebugInfo`
(without "cache" in its name), because now it's mandated.
2023-05-11 08:33:33 +03:00
Daniel Jacobs ea78bf2d39
web: Make isTouch locally scoped to showContextMenu 2023-05-10 17:31:07 +03:00
Nathan Adams fc96fdf1cc chore: Update translations from Crowdin 2023-05-10 00:29:13 +02:00
Nathan Adams 72769eeefa web: Localise text inside shadow template 2023-05-09 00:06:49 +02:00
Nathan Adams a29f1f75dc web: Localise the 'cant embed' message 2023-05-09 00:06:49 +02:00
Nathan Adams 1db72a0ffd web: Localise error messages 2023-05-09 00:06:49 +02:00
Nathan Adams 2430cf192e web: Localise fullscreen toggle 2023-05-09 00:06:49 +02:00
Nathan Adams d70faeec04 web: Localise save manager prompts 2023-05-09 00:06:49 +02:00
Nathan Adams 9be198212b web: Translate various button texts 2023-05-09 00:06:49 +02:00
Nathan Adams b7794749d8 web: Localise the unsupported avm2 message 2023-05-09 00:06:49 +02:00
Nathan Adams 07dea7b164 web: Add localisation to web 2023-05-09 00:06:49 +02:00
Daniel Jacobs 01a69b60bc web: Remove ContextMenu.TouchOnly as it is unlikely to be useful 2023-05-08 23:53:31 +03:00
Daniel Jacobs e7877706ef web: Use typeof to simplify check for usage of deprecated contextMenu 2023-05-08 23:53:31 +03:00
Daniel Jacobs 4790ea7304 web: Combine contextMenu with touchContextMenu 2023-05-08 23:53:31 +03:00
Daniel Jacobs 68f493336a web: Configuration to disable context menu on touch 2023-05-08 23:53:31 +03:00
iwannabethedev 307f364d6f
web: Log used renderer
Log which renderer-backend was actually used in the
browser console.
2023-05-02 23:59:57 +03:00
Kornelius Rohrschneider fe56f8d212 core: Implement suggested changes in PR to documentation & code
- Documentation has been added, improved and clarified.
- The code of a string concatenation has been improved.
2023-05-02 17:13:42 +02:00
Kornelius Rohrschneider 27738a492e web: Implement suggested changes in PR to navigate_to_url handling
The suggested changes to the navigate_to_url handling in the feedback to
the pull request have been implemented.
Therefore, this commit consists of multiple smaller changes:

1. The allow_javascript_calls variable has been removed (as a CLI
argument and in the navigator). Javascript calls are now always denied
on desktop. This is because setting the argument was useless; no
javascript was executed in any case, at most, just a browser tab opened.
Therefore, it makes no sense to include this option.
2. The NavigateWebsiteHandlingMode default value has been provisionally
changed from Confirm to Allow. In the future (after a GUI toolkit has
been added), the default confirmation windows should include a "Save
this preference" checkbox.
3. The NetworkingRestrictionMode enum has been renamed to
NetworkingAccessMode since the previous naming was counter-intuitive.
4. The NavigateWebsiteHandlingMode enum (and variables related to it)
have been renamed to OpenURLMode to simplify the name.
5. The documentation has been improved.
2023-05-02 17:13:42 +02:00
Kornelius Rohrschneider 809a9f6907 web: Add and partially implement networking API restrictions
The networking API restrictions imposed by the allowNetworking parameter
& attribute have been added and partially implemented.

A new NetworkingRestrictionMode enum has been added to Ruffle (in Rust
and Typescript). It contains the values "All", "Internal" and "None" and
models the possible values of the allowNetworking parameter / attribute.
All means that all networking APIs are permitted in the SWF file,
Internal means that the SWF file may not call browser navigation or
browser interaction APIs and None means the same and that the SWF file
cannot use any SWF-to-SWF communication APIs either.
A respective allowNetworking variable has been added to the JS config.
Its default value is All.
Ruffle now recognises the allowNetworking parameter and attribute in the
SWF HTML object and parses it and sets the config variable
correspondingly if it's recognised.
Only if the variable is set to All, the external interface (responsible
for javascript calls in AS3) is created. Additionally, the variable is
given to the WebNavigatorBackend and saved in it. The navigator denies
all navigate_to_url calls if the variable hasn't been set to All.
Therefore, the API restrictions imposed by setting allowNetworking to
internal or none have been partially implemented.

Formatting has been improved.
2023-05-02 17:13:42 +02:00
Kornelius Rohrschneider 44ef22f646 core: Add navigate_to_url call configuration options
New configuration options (changing the navigate_to_url call handling)
have been added. The default behaviour has been changed as well.

A NavigateWebsiteHandlingMode enum has been added to Ruffle (in Rust and
Typescript). It contains the values "Allow", "Confirm" and "Deny" and
describes how navigate_to_url website calls should be handled. Allow
means that all website calls are allowed, Confirm means that a
confirmation window opens with each website call and Deny means that all
website calls are denied.
A respective navigate_website_handling_mode variable has been added to
the desktop CLI and to the JS config. The default value is "Confirm" in
each. The variable is given to the navigator (ExternalNavigatorBackend
or WebNavigatorBackend, depending on the platform) and is saved in it.
On each navigate_to_url website call, the respective navigator is now
checking navigate_website_handling_mode and acts correspondingly (allows
it, opens a confirmation window or denies it).
This changes the default behaviour of Ruffle from allowing all website
calls to opening a confirmation window with each website call.
On Safari, the confirm window can cause the background music to stop,
but this seems to be an issue with Safari.
Closes #838.

Additionally, an allow_javascript_calls variable (which defaults to
false) has been added to the desktop CLI. The variable is given to the
desktop navigator and is saved in it.
If a navigate_to_url javascript call is executed on desktop, the
navigator is now checking allow_javascript_calls and acts
correspondingly (allows it or denies it).
This changes the default behaviour of Ruffle on desktop to not allowing
javascript calls.
Closes #9316.
2023-05-02 17:13:42 +02:00
divinity76 7bc51ae2cb
web: Make panicText readonly
it's not supposed to be editable. ref https://github.com/ruffle-rs/ruffle/pull/10819#issuecomment-1529977894
2023-05-02 06:53:44 +00:00
Adrian Wielgosik e1d47e3527 web: Avoid array.at() for browser compatibility 2023-05-02 01:00:20 +02:00
nosamu 91bc57c67f web: Fix panic error details display
Fix regression caused by #10819
2023-05-01 08:52:46 +03:00
iwannabethedev 1f956ffe55 web: Add extension option for setting 'playerVersion'.
Basic input validation UI and logic is also added and improved.
2023-04-29 01:09:09 +03:00
Daniel Jacobs 24dfb82d12 web: Address save manager styling review comments 2023-04-26 14:36:49 +02:00
Daniel Jacobs 902911745b web: Use different heights for save manager 2023-04-26 14:36:49 +02:00
Daniel Jacobs 5e31ce992e web: Fix save manager styling 2023-04-26 14:36:49 +02:00
Lord-McSweeney 3bf78d43f9 fmt 2023-04-26 11:20:24 +03:00
Lord-McSweeney f947351f40 Fix #10817
Create a child element instead of setting innerHTML.
2023-04-26 11:20:24 +03:00
iwannabethedev 02b8434648 web: Expand 'max_execution_duration' type in extension.
The option 'max_execution_duration' previously only supported
the type '{secs: number, nanos: number}'. Now it also supports
using floating point numbers (and integers).

Default values have been changed to use floating point numbers.
2023-04-25 23:59:51 +02:00
Daniel Jacobs d31828d24d web: Fix #10798 2023-04-25 17:15:41 +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
nosamu 9b87b31657 web: Don't inherit page CSS 2023-04-25 08:31:17 +03:00
relrelb 7af0a17d83 web: Update JSDoc lint rules
* Extend from `plugin:jsdoc/recommended-typescript-error`, which is
more suitable for TypeScript and errors by default.
* Remove default and disabled but passing rules.
* Configure `jsdoc/tag-lines` to match JSDoc style of current codebase.
2023-04-25 08:19:54 +03:00
nosamu 3cde3482f4 core: Add frame rate config option 2023-04-24 14:01:37 +02:00
nosamu 4bd11c57b3 web/docs: Display enums in source order 2023-04-24 08:49:06 +03:00
renovate[bot] 30dc715c46 chore(deps): lock file maintenance node.js dependencies 2023-04-24 00:09:04 +03:00
renovate[bot] 424a45bf2b chore(deps): update node.js dependencies 2023-04-23 22:18:42 +02:00
Daniel Jacobs 256c2fe75c web: No context menu on iOS if finger moves too far on long-press
Co-authored-by: n0samu <71368227+n0samu@users.noreply.github.com>
2023-04-22 08:57:47 +02:00
Daniel Jacobs ebb14a7ab6 web: Use div element for save manager to support browsers without dialog 2023-04-21 17:28:07 +02:00
nosamu 3614437498 web: Don't duplicate context menu separators 2023-04-18 22:01:09 +02:00
nosamu 76d172b5c5 docs: Fix WindowMode doc comment 2023-04-13 19:54:32 +02:00
Lord-McSweeney 5af0eda375 web: Avoid triggering cloudflare checks
mimeTypes.item() and plugins.item() should wrap around 2^32.
2023-04-04 20:32:44 -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
Daniel Jacobs f02e4a71d6 web: Give proper precedence to extension config when it is used 2023-03-31 03:03:11 -07:00
nosamu e19f63c3c6 web: Small CSS fixups for save manager 2023-03-28 10:37:59 +03:00
Mike Welsh 7d75f9ecf8 chore: Always rebuild TypeScript
Pass `--force` to tsc to always force a recompile of the
TypeScript on build.

`tsc` won't rebuild files if the source hasn't changed, but we
want `build-info.js` to always be updated.
2023-03-26 09:52:37 -07: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
relrelb 39b53c76d6 ci: Deny warnings on Web
As suggested in https://github.com/ruffle-rs/ruffle/pull/6935#pullrequestreview-967181111.
2023-03-24 19:16:32 -07:00
Daniel Jacobs 2ced2d2300 web: Don't polyfill with self-hosted Ruffle while extension is loading 2023-03-24 17:58:54 -07:00
nosamu f97827ef9c web: Display config parse errors 2023-03-22 16:51:55 -07:00
Daniel Jacobs 9832ee5845 web: Remove else from save manager, unneeded with early return 2023-03-21 08:47:16 +01:00
Daniel Jacobs fe17ca8832 web: Don't replace save if user does not confirm needed reload 2023-03-21 08:47:16 +01:00
Daniel Jacobs f123b5e50c web: Don't break Ruffle when localStorage is unavailable 2023-03-21 08:47:16 +01:00
Daniel Jacobs d2e7d8ba7a web: Improve save manager styling 2023-03-21 08:47:16 +01:00
Daniel Jacobs 0cbfaf4a3e Add confirmation for delete and reload content for delete conflict 2023-03-21 08:47:16 +01:00
Daniel Jacobs 92618f6894 web: Alow download sol to work on extension page by avoiding fetch 2023-03-21 08:47:16 +01:00
Daniel Jacobs 9671f7ccac web: Close Save Manager when clicking outside of it 2023-03-21 08:47:16 +01:00
Daniel Jacobs 509d273073 web: Make all save manager functions private 2023-03-21 08:47:16 +01:00
Daniel Jacobs ef3220e77d web: Only accept sol files in save manager 2023-03-21 08:47:16 +01:00
Daniel Jacobs 320edd3c0f web: Allow duplicate key replacement to reload page 2023-03-21 08:47:16 +01:00
Daniel Jacobs 10f35781fc web: Add title text to save table keys in case of name duplicates 2023-03-21 08:47:16 +01:00
Daniel Jacobs f71723c082 web: Only show context menu item for save manager when saves exist 2023-03-21 08:47:16 +01:00
Daniel Jacobs 94ff2891e9 web: Don't allow arbitrary upload of save files for technical reasons 2023-03-21 08:47:16 +01:00
Daniel Jacobs 54ad95beb3 web: Make save manager completely functional 2023-03-21 08:47:16 +01:00
Daniel Jacobs 824cc1689c web: [WIP] Add Save Manager to context menu 2023-03-21 08:47:16 +01:00
MrCheeze 9e71ea9124 web: Allow ExternalInterface.call to call methods of primitive types (close #9105) 2023-03-19 07:18:01 +01:00
relrelb 156c76cb94 web: Simplify custom context menu separators logic
Instead deduplicating separators in `RufflePlayer.showContextMenu()`
using DOM attributes, do it right in `RufflePlayer.contextMenuItems()`,
using a simpler approach.
2023-03-18 02:10:08 -07:00
Nathan Adams 1bb8515d85 chore: Update avm2 compatibility warning to be less severe 2023-03-15 15:30:25 -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
renovate[bot] 68078dcccc chore(deps): update node.js dependencies 2023-03-06 21:56:57 +01:00
Daniel Jacobs 5944bae33b web: Log a message when the preloader configuration option is false 2023-03-02 10:51:36 +02:00
Daniel Jacobs 3051e66960 web: Mark shadow-DOM elements as readonly 2023-03-02 10:51:36 +02:00
Daniel Jacobs a63f520449 web: Change preloader name while keeping old name for compatibility 2023-03-02 10:51:36 +02:00
Nathan Adams b10d4876d3 web: Add compatibilityRules config option to disable all compatibility rules 2023-03-01 21:25:19 +01:00
Daniel Jacobs c891a82440 web: Don't focus inside setTimeout on iOS and don't fire unneeded events 2023-03-01 08:15:58 +02:00
Daniel Jacobs 584cb4c1cf web/ui: Open the virtual keyboard when clicking an editable EditText 2023-03-01 08:15:58 +02:00
Daniel Jacobs b9b1fa4f8d web: Add context menu item to show virtual keyboard
Co-authored-by: n42k <pedro@amaro.sh>
2023-03-01 08:15:58 +02:00
relrelb 3f412a54b6 web: Wrap "comments" in `package.json` to a maximum of 100 characters per line 2023-02-25 16:18:38 +02:00
relrelb 1592d26afe web: Take advantage of npm pre & post scripts
To logically separate between WebAssembly (pre)build, TypeScript
build, and `set_version.js` postbuild.
More info at: https://docs.npmjs.com/cli/v9/using-npm/scripts#pre--post-scripts
2023-02-25 16:18:38 +02:00
relrelb f181794b46 web: Rename some scripts to improve clarity
* `build:ruffle_web` -> `build:wasm-vanilla`
* `build:ruffle_web-wasm_extensions*` -> `build:wasm-extensions*`
* `build:cargo_bindgen_opt` -> `build:wasm`
2023-02-25 16:18:38 +02:00
relrelb 17ac6c79d3 web: Reduce script duplication
By introducing the `$WASM_BINDGEN_FLAGS` and `$WASM_OPT_FLAGS`
environment variables, similarly to what already done with `$CARGO_FLAGS`.
2023-02-25 16:18:38 +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
Daniel Jacobs bcbf8c9108
web: Allow context menu to work on iOS using PointerEvents (#9598)
Co-authored-by: nosamu <71368227+n0samu@users.noreply.github.com>
2023-02-23 12:47:08 +02:00
relrelb 140e1fcfee web: Use `@tsconfig/strictest` 2023-02-22 21:39:12 +02:00
nosamu 70bf0a816a core: Add options to set and force stage scale mode 2023-02-22 12:13:20 +02:00
relrelb 94db943743 web: Enforce ESLint's `prefer-const` rule 2023-02-19 14:09:43 +02:00
relrelb 1581123284 web: Miscellaneous tiny cleanups 2023-02-18 16:35:59 +02:00
relrelb a7f41f4df5 web: Add missing access modifiers 2023-02-18 16:35:59 +02:00
relrelb b36643f52d web: Cleanup some comments 2023-02-18 16:35:59 +02:00
relrelb 903f8bc33a web: Enforce ESLint's `no-constructor-return` rule 2023-02-18 16:35:59 +02:00
relrelb f68542991f web: Enforce ESLint's `curly` rule 2023-02-18 16:35:59 +02:00
relrelb 87ecbcc066 web: Remove `InternalContextMenuItem` type
Simply declare it inline.
2023-02-18 16:35:59 +02:00
David Wendt 85f544a6cc web: Break out all the Flash identifier strings into a separate module and make `plugin-polyfill.ts` only import that. 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
David Wendt 6ad6912309 web: Seal version data in the extension manifest, too. 2023-01-30 17:58:57 +01:00
nosamu cfa3363416 web: Construct SwfMovie with spoofed URL when loaded from data 2023-01-29 17:55:55 +01:00
David Wendt d280d44eed chore: JS-side lints 2023-01-23 10:40:26 +01:00
David Wendt 77bfade934 core: Allow storing build info in a JSON file for reproducible builds. 2023-01-23 10:40:26 +01:00
Nathan Adams 4117eece3b web: Indicate when we used cached debug info 2023-01-16 23:18:42 +01:00
Nathan Adams 6f967d4b3c web: Cache the output of render debug info in case of panics 2023-01-16 23:18:42 +01:00
Lord-McSweeney 8cef9b65a1 Fix playerVerion misspelling
...and also add punctuation to docs.
2023-01-16 17:49:24 +01:00
Lord-McSweeney 4049acee66 Update config.ts 2023-01-16 17:49:24 +01:00
nosamu 21c65252f5 web: Warn about root movie fetch over file protocol 2023-01-10 13:34:06 +01:00
CUB3D 11982c6d7d web: Allow specifying player version 2023-01-10 13:13:30 +01:00
Nathan Adams a69d30bb67 render: Add debug info method to renderer backends 2023-01-05 05:51:32 +01:00
Lord-McSweeney 9fecbc391c Fix incorrect line-height being inherited
Sets line-height to default on Ruffle's shadow-root, preventing incorrect line-height inheritance from the document.
2023-01-04 08:43:13 +01:00
dependabot[bot] 0463eed90a 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.45.0 to 5.48.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.48.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>
2023-01-03 09:45:31 +02:00
dependabot[bot] 99d8dd8707 build(deps-dev): bump mocha from 10.1.0 to 10.2.0 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 10.1.0 to 10.2.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.1.0...v10.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 22:01:15 -07:00
nosamu f92be1c798 web: Make RufflePluginArray iterable 2022-12-19 11:56:18 -08:00
nosamu 3a98981030 web: Add CORS panic error message with FAQ link 2022-12-19 11:21:38 -08:00
nosamu 52d94a4a13 web: Fix strings using buildInfo variables 2022-12-14 10:01:35 +01:00
relrelb 54d59b0ab6 web: Fix TypeScript 4.9 upgrade
Per the last paragraph in https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/#in-narrowing,
TypeScript 4.9 checks that the right side of `in` operator is assignable
to `object`.

Since we can't guarantee that in the `Reflect.has()` polyfill, add
a `@ts-expect-error` annotation to avoid build failure.
2022-12-14 07:30:34 +02: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
dependabot[bot] 911427f4c0 build(deps-dev): bump eslint-plugin-jsdoc from 39.3.4 to 39.6.4 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.3.4 to 39.6.4.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.3.4...v39.6.4)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-02 10:01:10 +01:00
dependabot[bot] 1cb797cb88 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.42.0 to 5.45.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.45.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-12-02 01:09:11 +01:00
dependabot[bot] df55c09ebc build(deps-dev): bump @types/mocha from 10.0.0 to 10.0.1 in /web
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 10.0.0 to 10.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 23:36:35 +01:00
Toad06 1cb2678013 web: Add `has` and `ownKeys` methods to the `Reflect` polyfill 2022-11-14 21:31:08 +02:00
dependabot[bot] 807f1f6690 build(deps-dev): bump mocha from 10.0.0 to 10.1.0 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 10.0.0 to 10.1.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.0.0...v10.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 15:56:35 +02:00
dependabot[bot] 2f195d1ea1 build(deps-dev): bump typedoc from 0.23.15 to 0.23.19 in /web
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.23.15 to 0.23.19.
- [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.15...v0.23.19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 14:19:50 +02:00
dependabot[bot] c20f1abeee 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.32.0 to 5.42.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.42.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-11-02 13:02:46 +02:00
dependabot[bot] b2cd5d9453 build(deps): bump wasm-feature-detect from 1.2.11 to 1.3.0 in /web
Bumps [wasm-feature-detect](https://github.com/GoogleChromeLabs/wasm-feature-detect) from 1.2.11 to 1.3.0.
- [Release notes](https://github.com/GoogleChromeLabs/wasm-feature-detect/releases)
- [Commits](https://github.com/GoogleChromeLabs/wasm-feature-detect/commits/v1.3.0)

---
updated-dependencies:
- dependency-name: wasm-feature-detect
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 09:52:51 +02:00
relrelb acdb5ccb52 web: Remove `RufflePlayer` element existence-checks
They should always be present.
2022-10-14 11:56:44 +03:00
relrelb 29b661b366 web: Avoid deprecated `HTMLDocument` type
As suggested, use `Document` instead.
2022-10-14 11:56:44 +03:00