Commit graph

85 commits

Author SHA1 Message Date
Adam Scott
722accc5c8
Revert "Web: Avoid unnecessary gamepad polling when no gamepads are connected"
This reverts commit 3e7e09f915.
2025-06-26 08:07:29 -04:00
Rémi Verschelde
30456ba095
Merge pull request #107948 from adamscott/reintroduce-sample-position-worklet-pooling
[Web] Fix Webkit leak caused by the position reporting audio worklets
2025-06-25 11:47:11 +02:00
Adam Scott
b58c6c829b
[Web] Fix Webkit leak caused by the position reporting audio worklets
Co-authored-by: PizzaLovers007 <trex@parkvue.com>
2025-06-24 14:49:02 -04:00
Thaddeus Crews
f7d33b490d
Merge pull request #107837 from Airyzz/airyzz/web-pen-pressure
[Web] Disregard touch events in pointer callbacks
2025-06-24 09:58:44 -05:00
Airyzz
e7e5c2b832 [Web] Disregard touch events in pointer callbacks
Update library_godot_input.js

fix style
2025-06-24 18:17:50 +09:30
Adam Scott
f411c5b2f1
[Web] Add Web-build specific stdout header 2025-06-12 13:00:36 -04:00
Airyzz
5f8f0ac305 [web] add support for pen pressure 2025-06-05 18:04:37 +09:30
Rémi Verschelde
2df41d8144
Merge pull request #104458 from marcosc90/fix-thread-collision-shape-3d
[Web] Use actual `PThread` pool size for `get_default_thread_pool_size()`
2025-06-01 00:31:44 +02:00
Marcos Casagrande
a7d18f51a2 Web: Add godot_pool_size/emscripten_pool_size config 2025-05-30 20:38:24 +02:00
Thaddeus Crews
d043be6031
Merge pull request #105585 from marcosc90/fix-web-update-size
[Web] Prevent unnecessary canvas resizes by flooring scaled dimensions
2025-05-14 09:44:13 -05:00
Thaddeus Crews
fb39aa4fd3
Merge pull request #105833 from marcosc90/perf-web-shader-source
[Web] Optimize `GL.getSource` for known-length shader sources
2025-05-14 09:44:08 -05:00
Marcos Casagrande
197b307061 [Web] Optimize GL.getSource for known-length shader sources 2025-04-27 17:44:08 +02:00
Marcos Casagrande
3e7e09f915 Web: Avoid unnecessary gamepad polling when no gamepads are connected 2025-04-20 21:47:53 +02:00
Marcos Casagrande
ed0690dc44 Web: prevent unnecessary canvas resizes by flooring scaled dimensions 2025-04-20 16:53:37 +02:00
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