Skip to content

Conversation

@kjarosh
Copy link
Member

@kjarosh kjarosh commented Jan 5, 2026

Some browsers might not support OffscreenCanvas. This patch makes sure we handle the situation properly.

@kjarosh kjarosh requested a review from danielhjacobs January 5, 2026 23:12
@kjarosh kjarosh added A-web Area: Web & Extensions T-fix Type: Bug fix (in something that's supposed to work already) labels Jan 5, 2026
@n0samu
Copy link
Member

n0samu commented Jan 6, 2026

To clarify, do we fall back to our normal method of font rendering in this case?

@kjarosh
Copy link
Member Author

kjarosh commented Jan 6, 2026

To clarify, do we fall back to our normal method of font rendering in this case?

Yes, the default font is always the fallback when enabled.

@kjarosh kjarosh added waiting-on-review Waiting on review from a Ruffle team member device-fonts Issues related to device fonts. They are usually very system-dependent. labels Jan 6, 2026
@danielhjacobs
Copy link
Contributor

Specifically it will go to this path, right?

ruffle/web/src/ui.rs

Lines 335 to 340 in 7e90df6

Err(e) => {
tracing::error!(
"Failed to set up canvas font renderer for font \"{}\": {e:?}",
query.name
)
}

@kjarosh kjarosh removed the waiting-on-review Waiting on review from a Ruffle team member label Jan 6, 2026
Some browsers might not support OffscreenCanvas. This patch makes sure
we handle the situation properly.
@kjarosh kjarosh force-pushed the canvas-renderer-no-offscreen branch from c027944 to deca7c4 Compare January 6, 2026 11:29
@kjarosh kjarosh enabled auto-merge (rebase) January 6, 2026 11:29
@kjarosh kjarosh merged commit e31d834 into ruffle-rs:master Jan 6, 2026
26 checks passed
@kjarosh kjarosh deleted the canvas-renderer-no-offscreen branch January 6, 2026 13:07
Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Jan 11, 2026
------------------------------------------------------------------------------------------
rocknix-abl.mk 402954ce6860ae662f0e430c9112b74112a30dfb # Version: Commits on Jan 06, 2026
------------------------------------------------------------------------------------------
Add install instructions,

--------------------------------------------------------------------------------------------------------
batocera-emulationstation.mk 30a036935adf859ca31f570e856cd2c644ca265e # Version: Commits on Jan 06, 2026
--------------------------------------------------------------------------------------------------------
Merge pull request #2054 from fabricecaruso/win

[Manual Scraping] Ability to interupt scrapers search, when already received results look fine + Add manual scrape exclusion setting,

------------------------------------------------------------------------------------------------
batocera-es-piboy.mk 30a036935adf859ca31f570e856cd2c644ca265e # Version: Commits on Jan 06, 2026
------------------------------------------------------------------------------------------------
Merge pull request #2054 from fabricecaruso/win

[Manual Scraping] Ability to interupt scrapers search, when already received results look fine + Add manual scrape exclusion setting,

---------------------------------------------------------------------------------------
applewin.mk 1009523145fdde2c4a66c1caf611379c82add321 # Version: Commits on Jan 07, 2026
---------------------------------------------------------------------------------------
Merge pull request #341 from AppleWin/master

Fix MSVC 2019 not linking due to BreakpointCard.cpp missing from Proj…,

-----------------------------------------------------------------------------------
ares.mk bdf4dc9ce19f35bfd04609a98267a4bb0b4c1e26 # Version: Commits on Jan 07, 2026
-----------------------------------------------------------------------------------
desktop-ui: add '--settings-file' command line parameter,

-------------------------------------------------------------------------------------
azahar.mk 3dd7103e62924e5d6f134ca7c8dd746ffab8a97a # Version: Commits on Jan 06, 2026
-------------------------------------------------------------------------------------
Updated compatibility list,

-----------------------------------------------------------------------------------
cemu.mk c5913fe8cb29e69f8c59d711c5dae21e17f7ae22 # Version: Commits on Dec 02, 2025
-----------------------------------------------------------------------------------
refactor/rpl: Treat HLE libs more like RPL modules

HLE modules now have a unified interface via which they can get notified when mapped into the process or when loaded/unloaded.

We also always call the unload functions when stopping emulation to give the module implementations a chance to reset all state (although many of them are still missing proper cleanup code for now),

------------------------------------------------------------------------------------------
duckstation.mk 5b5b6bbf778d51afe201f70470cc75de162087f0 # Version: Commits on Jan 07, 2026
------------------------------------------------------------------------------------------
FullscreenUI: Avoid redundant transition,

-----------------------------------------------------------------------------------
eden.mk 8440c2074da7b4c901641dea317f570b256f2c03 # Version: Commits on Jan 07, 2026
-----------------------------------------------------------------------------------
[vk] Remove UniformRing and vkCmdResetQueryPool (#3270)

--------------------------------------------------------------------------------------
flycast.mk 392a429e8b040b3e5bf6696cb4f984274fc44123 # Version: Commits on Jan 07, 2026
--------------------------------------------------------------------------------------
boxart: replace invalid utf-8 chars instead of failing when saving

Open (and truncate) the file only after json serialization.,

-------------------------------------------------------------------------------------
hatari.mk 0f744ad78ac1eba66e7bddec8a7419cbceac3e52 # Version: Commits on Jan 06, 2026
-------------------------------------------------------------------------------------
Debugger: improve symbol / profiler instructions in manual,

--------------------------------------------------------------------------------------
openmsx.mk 90f84cd422418d5dcca163f8f531ad955f49f6bb # Version: Commits on Jan 07, 2026
--------------------------------------------------------------------------------------
Remove File::OpenMode::{LOAD,SAVE}_PERSISTENT

The 'SAVE_PERSISTENT' mode would create the directory for the given

filename, and then open the file in 'TRUNCATE' mode (so possibly create

the file). Though in places where we used this mode, the filename was

obtained from resolveCreate() and that function already ensures the

directory gets created.

So basically SAVE_PERSISTENT had always the same effect as TRUNCATE, so

this patch just uses the latter.

We also had LOAD_PERSISTENT, but that mode did nothing different

compared to NORMAL mode. (I assume we once introduced it for symmetry

with SAVE_PERSISTENT?) This patch also removes that mode.,

--------------------------------------------------
pcsx2.mk v2.7.8 # Version: Commits on Jan 07, 2026
--------------------------------------------------
- [UI: remove unnecessary uses of QOverload](PCSX2/pcsx2#13755)

,

-------------------------------------------------------------------------------------
ppsspp.mk 10d0430e3acdfddaf653ddc69f1ad0685ab54395 # Version: Commits on Jan 07, 2026
-------------------------------------------------------------------------------------
Merge pull request #21105 from hrydgard/more-ui-tweaks

More UI tweaks,

------------------------------------------------------------------------------------
rpcs3.mk 1bfd1154f5a2041ebc2ecb88c72e5c66207bc57a # Version: Commits on Jan 03, 2026
------------------------------------------------------------------------------------
Update FAudio to 26.01,

-------------------------------------------------------------------------------------
vita3k.mk 1201b4b5d6a9ded63b4a0a5711a1eb7598fa173e # Version: Commits on Jan 01, 2026
-------------------------------------------------------------------------------------
host/dialog/filesystem android: Cleanup file picker path handling.

- Resolve real filesystem paths directly from the Android file picker.

- Remove all SAF fallback logic, temporary file copies, and FD-based handling.

- Drop file-descriptor mapping entirely.

- Unify file opening with desktop by using FOPEN().

- Simplify JNI: filedialogReturn now returns only a UTF-8 path.

- Add permission request on Android 11+ to ensure picker paths remain accessible.,

------------------------------------------------------------
xenia.mk v1.0.2830-master # Version: Commits on Jan 06, 2026
------------------------------------------------------------
Windows release build for xenia-project/xenia@ea8ae81.

[GPU] Remove now-unused texture_conversion.cc/h

,

-------------------------------------------------------------------------------------------
xenia-canary.mk 4b73839bf1eec853e926bf999f0f9e650c6ec39d # Version: Commits on Jan 04, 2026
-------------------------------------------------------------------------------------------
[XAM] Added std::optional to SPA getters,

-------------------------------------------------------------------------------------------
xenia-native.mk 4b73839bf1eec853e926bf999f0f9e650c6ec39d # Version: Commits on Jan 04, 2026
-------------------------------------------------------------------------------------------
[XAM] Added std::optional to SPA getters,

-------------------------------------------------------------------------------------
ikemen.mk 11e70e160615a2dc73c55becdf8465c62a030eae # Version: Commits on Jan 07, 2026
-------------------------------------------------------------------------------------
Merge pull request #3083 from Jesuszilla/new-feats

fix: Android build, shader hue math error,

---------------------------------------------------------------
ruffle.mk nightly-2026-01-07 # Version: Commits on Jan 07, 2026
---------------------------------------------------------------
## What's Changed

* build(deps): bump the cargo-minor group across 1 directory with 7 updates by @dependabot[bot] in ruffle-rs/ruffle#22695

* build(deps-dev): bump typescript-eslint from 8.51.0 to 8.52.0 in /web in the npm-minor group by @dependabot[bot] in ruffle-rs/ruffle#22690

* build(deps-dev): bump globals from 16.5.0 to 17.0.0 in /web by @dependabot[bot] in ruffle-rs/ruffle#22691

* web: Handle missing OffscreenCanvas for canvas font renderer by @kjarosh in ruffle-rs/ruffle#22696

**Full Changelog**: ruffle-rs/ruffle@nightly-2026-01-06...nightly-2026-01-07,

--------------------------------------------------------------------------------------
scummvm.mk 502c3575d7004c250ab73e3c8581db15694bfb7a # Version: Commits on Jan 07, 2026
--------------------------------------------------------------------------------------
M4: RIDDLE: Workaroud for issue fix #16098 - Autosave has bad coordinates which makes it unusable

The workaround has been added as usually the autosave is made before the move, like it's now the case,

----------------------------------------------------------------------------------------
pironman5.mk d63324eb59396bc3be6bd0149f158a3ad8c4052f # Version: Commits on Jan 07, 2026
----------------------------------------------------------------------------------------
refactor(install): simplify influxdb setup by using script

Move complex influxdb setup commands into a dedicated script for better maintainability and readability.,

--------------------------------------------------------------------------------------
cpp-ipc.mk 7aa56c5f01c2d6a451a9b1362b6fb81a43cd47b0 # Version: Commits on Jan 07, 2026
--------------------------------------------------------------------------------------
Merge pull request #169 from cscd98/mingw-fixes

mingw: lower case more Windows.h includes when using ming,

------------------------------------------------------
pysdl3.mk v0.9.10b0 # Version: Commits on Jan 07, 2026
------------------------------------------------------
-

------------------------------------------------------------------------------------
box64.mk 1df42cdb499605b3f7801726c1a47780e11ff5b2 # Version: Commits on Jan 07, 2026
------------------------------------------------------------------------------------
[LA64_DYNAREC] More fixes to adc 8/16 emiter,

---------------------------------------------------------------------------------------
corsixth.mk 1298ef1fc4f39bc769f8c09b0cff5d8243be8ae5 # Version: Commits on Jan 07, 2026
---------------------------------------------------------------------------------------
Merge pull request #3183 from TheCycoONE/heat_colours

Fix range function used for displaying heat,

-------------------------------------------------------------------------------------------
jazz2-native.mk 063a544bce0008224af323881edf3b5fdcd36bac # Version: Commits on Jan 07, 2026
-------------------------------------------------------------------------------------------
Fixed build,

----------------------------------------------------------------------------------------
supertux2.mk 5446f58f8cbe4c8f9b2e22df1f9e83f689fdf0a4 # Version: Commits on Jan 06, 2026
----------------------------------------------------------------------------------------
badguy: Make totems work again

I have no clue why this works. Maybe the hitbox is being shifted up.

Totems are probably gonna be scrapped/redesigned anyway, but for now, let's get

them working again.

Signed-off-by: Swagtoy <[email protected]>,

----------------------------------------------------------------------------------------
retroarch.mk feb9226ab99858637d8287957ec2f69f0d494a69 # Version: Commits on Jan 07, 2026
----------------------------------------------------------------------------------------
Fix double-launch issue when switching games from external launcher (#18587)

When launching a different game via FLAG_ACTIVITY_CLEAR_TOP (e.g., from

Daijishou), onNewIntent() was calling finish() + System.exit(0), which

killed the app without restarting. Users had to tap twice to launch a

new game.

Now starts a fresh activity with FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK

before calling System.exit(0). This queues the new game to launch, then

kills the current process so Android starts fresh.,

---------------------------------------------------------------------------------------------
easyrpg-player.mk c016ff1411673ed6f79b64b564c8ea59a24ca329 # Version: Commits on Jan 06, 2026
---------------------------------------------------------------------------------------------
Merge pull request #3434 from florianessl/fix/VisualFixes

Visual Fixes,

----------------------------------------------------------------------------------------
tqftpserv.mk 443c82aadae2862dc7c12af48ac0b900f4bb0fe7 # Version: Commits on Jan 07, 2026
----------------------------------------------------------------------------------------
Merge pull request #31 from lumag/tqftp-1.1.1

meson.build: prepare 1.1.1 release,

------------------------------------------------------------------------------------
box86.mk 0579f8b9c47d87d700724f4cce559b06cbd2b0f5 # Version: Commits on Jan 07, 2026
------------------------------------------------------------------------------------
[PANDORA] Fix build,

----------------------------------------------------------------------------------------
doomretro.mk cbac10515ab0228a35dd39eae0d23cbce0e445ba # Version: Commits on Jan 07, 2026
----------------------------------------------------------------------------------------
Optimizations to AM_ClipMline,

--------------------------------------------------------------------------------------
vkquake.mk 9626107cfe4b89fb09a9f6ca547f831e8572cbf4 # Version: Commits on Jan 07, 2026
--------------------------------------------------------------------------------------
Common: removed Hunk_Alloc leftover,

-----------------------------------------------------------------------------------------
sonicmania.mk f1b8e84e9d464c52716e6973554e52bb6302de40 # Version: Commits on Jan 07, 2026
-----------------------------------------------------------------------------------------
PopcornMachine: Fix right hitbox check

Fixes #321.,

----------------------------------------------------------------------------------
trx.mk a9971fe6182d6bf4159438d483bf16bddc9bde5d # Version: Commits on Jan 07, 2026
----------------------------------------------------------------------------------
pickup: fix TR1 and TR2 requiring Lara to stand idle

Resolves #4550.,

-----------------------------------------------------------------------------------------------
libretro-easyrpg.mk c016ff1411673ed6f79b64b564c8ea59a24ca329 # Version: Commits on Jan 06, 2026
-----------------------------------------------------------------------------------------------
Merge pull request #3434 from florianessl/fix/VisualFixes

Visual Fixes,

----------------------------------------------------------------------------------------------
libretro-fake08.mk 3bdfdc524d927af77808297218c9750354229d24 # Version: Commits on Jan 07, 2026
----------------------------------------------------------------------------------------------
Fix an issue in peek argument validation

also remove some logging statements,

-----------------------------------------------------------------------------------------------
libretro-flycast.mk 392a429e8b040b3e5bf6696cb4f984274fc44123 # Version: Commits on Jan 07, 2026
-----------------------------------------------------------------------------------------------
boxart: replace invalid utf-8 chars instead of failing when saving

Open (and truncate) the file only after json serialization.,

----------------------------------------------------------------------------------------------
libretro-ppsspp.mk 99351babc946fe764991078436227bd9df61a2db # Version: Commits on Jan 07, 2026
----------------------------------------------------------------------------------------------
Merge pull request #21107 from hrydgard/android-char-event

Implement a unicode-char keyboard input event on Android.,

-----------------------------------------------------------------------------------------------
libretro-scummvm.mk 502c3575d7004c250ab73e3c8581db15694bfb7a # Version: Commits on Jan 07, 2026
-----------------------------------------------------------------------------------------------
M4: RIDDLE: Workaroud for issue fix #16098 - Autosave has bad coordinates which makes it unusable

The workaround has been added as usually the autosave is made before the move, like it's now the case,

-------------------------------------------------------------------------------------
dhewm3.mk 0ecf60c92cf7c65f2dd27e6653baf74d4e3f2652 # Version: Commits on Jan 06, 2026
-------------------------------------------------------------------------------------
Clip.cpp TestHugeTranslation(): Disable annoying assertion

and turn the prints into warnings

moved the commented out assertions to where they were before

commit c22965bf580f0a718b7117a92da83205fccc32ec

so the code is a bit closer to the original (and the SDK),
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-web Area: Web & Extensions device-fonts Issues related to device fonts. They are usually very system-dependent. T-fix Type: Bug fix (in something that's supposed to work already)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants