Commit graph

71 commits

Author SHA1 Message Date
Adam Scott
030e7d4e2d
[Web] Fix issue when pausing an non-started sample 2025-02-17 09:49:50 -05:00
Adam Scott
cdb6fc7f74
[Web] Remove position pool system and return false when done instead 2025-02-11 10:43:34 -05:00
Adam Scott
c558c8a5f1
[Web] Fix audio issues with samples and GodotPositionReportingProcessor 2025-01-29 17:02:14 -05:00
Rémi Verschelde
0d4c68f82b
Merge pull request #100482 from adamscott/fix-closure-issues
Fix (some of the) 3.1.73 emscripten Closure compiler issues
2024-12-17 16:19:29 +01:00
Adam Scott
20daa75d43
Fix (some of the) 3.1.73 emscripten Closure compiler issues 2024-12-16 14:05:07 -05:00
Ryan Braganza
a7505ee0bc Add Web MIDI support
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-15 21:24:15 +11:00
Fabio Alessandrelli
9d329f54c0 [Web] Restore ScriptProcessorNode audio driver fallback
Godot has a ScriptProcessorNode audio driver implementation for the
(deprecated) Web API.

As reported by some users, this fallback was not properly re-added
during the Godot 4 transition, and was left as "dead code".

While the API is deprecated, it is still supported by most browsers, and
some WebView may not implement AudioWorklet correctly (the new
recommended API).

This commit re-adds the ScriptProcessorNode implementation as a fallback
if the AudioWorklet driver fails to initialized (and can be forced if
desired via project settings as usual).
2024-12-10 18:22:03 +01:00
Thaddeus Crews
57125f48ce Merge pull request #98069 from thedinosoar/fix/service-worker-sandbox-error-98068
[Web] Fix PWA callback assignment causing crash in sandboxed iframes
2024-11-25 13:22:29 -06:00
Thaddeus Crews
17e8cf0d87 Merge pull request #99044 from Sticksman/bug-fix-98873
Remove deprecated worker.js file
2024-11-22 14:54:41 -06:00
Adam Scott
5295692990
Fix issue where focus timer would throw continuously 2024-11-11 15:08:16 -05:00
Felix Yuan
1768a1b991 Remove deprecated worker.js file 2024-11-11 09:47:43 -08:00
Adam Scott
75bf6df49a
Make IME code early return instead 2024-11-07 13:27:29 -05:00
Thaddeus Crews
1015a481ff
Merge pull request #98431 from lodicolo/4.3-stable_GH_76825
Fix GodotFetch glue code for null response bodies
2024-10-24 13:23:07 -05:00
Robbie Lodico
c7f421ef5f
Fix GodotFetch glue code for null response bodies
The spec says that Response.body can be null (in the event of requests that should have no body, like HEAD requests) and Firefox adheres to it which results in request failure for HEAD requests on Firefox for web exports.

This commit addresses that by treating a null body as an "empty" body (without using a polyfill) and avoids changing the request lifecycle as much as possible.

PR review changes:
- Use == instead of strict ===
- Do not use ?? null
- Comment formatting
2024-10-23 08:10:35 -04:00
Keegan McGonigle
05b266bd89 Fix PWA callback assignment and error handling 2024-10-22 10:28:21 -07:00
Adam Scott
7a634ad2d4
[Web] Make audio bus fetching more resilient to errors 2024-10-02 11:24:57 -04:00
Adam Scott
a9b934b657
Add JavaScriptBridge buffer methods 2024-09-16 12:13:34 -04:00
Adam Scott
aaafd163b2
Honor pitch_scale value before playing audio sample 2024-08-20 10:29:32 -04:00
Rémi Verschelde
f2fb3353cb
Merge pull request #95197 from yahkr/95128-audio-fix
Fix AudioStreamPlayer `get_playback_position()` for web build
2024-08-16 14:33:05 +02:00
Yahkub-R
bcd776e441 Fix AudioStreamPlayer get_playback_position() for web build 2024-08-08 15:58:25 -04:00
Adam Scott
1776258b1c
Add missing null check before disconnecting source 2024-07-30 15:00:58 -04:00
A Thousand Ships
61c4ce272c
[Web] Gracefully handle non-finite audio volumes 2024-07-29 15:48:06 +02:00
Fabio Alessandrelli
96feb924e8 [Web] Enable the closure compiler in CI
Also fixes some JSDoc annotations in GodotAudio
2024-07-26 13:27:52 +02:00
Rémi Verschelde
42e5b3ac2d
Merge pull request #94044 from adamscott/fix-web-sample-playback-finished-signal
Fix Web samples finished missing signal
2024-07-07 21:59:00 +02:00
Adam Scott
a38f30fbd5 Fix Web samples finished missing signal 2024-07-07 14:47:54 -04:00
Anni Ryynänen
d926223c64
Fix IME blocking controls 2024-07-07 13:06:18 +03:00
Rémi Verschelde
01c24ff862
Merge pull request #93750 from adamscott/add-bigint-support-on-js-value-conversion
Add `bigint` support on JS value conversion
2024-07-04 11:31:58 +02:00
Adam Scott
ee2759013b Add bigint support on JS value conversion 2024-07-03 07:44:32 -04:00
Adam Scott
586db3aae7 Fix assignations to non-existing keys and clean-up 2024-06-29 14:30:57 -04:00
Adam Scott
57db018e33
Fix pausing issues when using Web Audio samples 2024-06-20 10:32:28 -04:00
Adam Scott
52fa4f05f3
Add samples playback support 2024-06-18 11:06:31 -04:00
Fabio Alessandrelli
27d67b5ae6 [Web] Use the module config to preload GDExtension libraries.
Instead of calling loadDynamicLibraries ourselves, we add the
GDExtension libraries to preload to the "dynamicLibraries" module config
property.

This seems to fix some threading issue with some browsers during the
init phase.
2024-06-14 16:04:16 +02:00
Rémi Verschelde
ac6f5780b1
Merge pull request #91695 from bruvzg/web_ime_pos
[Web IME] Fix suggestion window position in Chromium based browsers.
2024-05-28 15:48:42 +02:00
patwork
1a89ae70eb Upgrade to eslint 9 2024-05-22 11:32:25 +02:00
bruvzg
99d6f32918
[Web IME] Fix suggestion window position in Chromium based browsers. 2024-05-09 08:52:27 +03:00
Fabio Alessandrelli
8079cd4358 [Web] Fix closure compiler typedef annotation
The typedef annotation is expected to come bofre a var (or const) since
it's most commonly used in externs. Use an inline definition instead.
2024-04-26 13:11:41 +02:00
Adam Scott
62cec03a06
Add option to ensure cross-origin isolation headers on web export 2024-02-12 09:27:39 -05:00
Rémi Verschelde
7223c5b54a
Fix various typos with codespell
Using 2.2.7.dev115+g0eb441d6.

Had to add `cancelled` to the ignore list, as it's a Wayland signal which
we're handling in our code, so we don't want codespell to fix that "typo".

Also includes the typo fix from #87927.

Co-authored-by: Divyanshu Shekhar <61140213+divshekhar@users.noreply.github.com>
2024-02-07 11:09:34 +01:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread 2024-01-17 13:58:29 -05:00
bruvzg
f9486a2d88
[Web] Add IME input support. 2023-12-15 19:11:10 +02:00
David Snopek
275c496bc8 Add MSAA support for WebXR 2023-12-11 09:01:24 -06:00
Rémi Verschelde
ba713c80df
Fix various typos with codespell
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +01:00
Fabio Alessandrelli
bb69f0c090 [Web] Improve emscripten "locateFile" glue.
Be more selective on what we rewrite, since in recent emscripten
versions loading dynamic libraries relies on it.
2023-10-11 21:21:34 +02:00
Rémi Verschelde
a28dab7e82
Merge pull request #79711 from adamscott/web-non-blocking-main-thread
Add `proxy_to_pthread` option to `platform=web`
2023-10-09 23:22:22 +02:00
Adam Scott
78c2a08fae
Add proxy_to_pthread option to platform=web
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2023-10-09 11:50:01 -04:00
Mario Liebisch
56a3cdc2f0
Web: Catch using GDExtensions in a non-dlink build
Previously this would simply fail with a cryptic
`me.rtenv.loadDynamicLibrary is not a function` error.
2023-10-06 18:02:53 +02:00
Adam Scott
8447cbc16d
Fix godot_js_wrapper_create_cb regression 2023-10-03 12:52:20 -04:00
SysError99
6a90164a03 Fix JavaScript callback memory leak issue
Typo fix
2023-09-07 19:59:45 +07:00
Emmanouil Papadeas
c662491bd4
Fix JavaScriptBridge.eval() never returning PackedByteArray
It wrongly returned 20 on array buffers, which used to be the enumerator
value of Godot 3.x's type PoolByteArray, and now is the value of type Color,
while it should return 29 which is the enumerator value for PackedByteArray.
2023-08-28 11:37:55 +02:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00