This is the Life Savers font, but I've modified it to be metrically
compatible with the Scratch font, and changed the shapes of some of the
glyphs to look more like the Scratch font.
Vanilla scratch-audio uses a shared context. We don't want that
for this because we want to be able to suspend() the vm's audio
context without it resuming when someone opens the sound
library later.
We removed that caching, but now we would be making a new audio
context every time. Instead we can just use the shared one that we
already have.
Related to https://github.com/ScratchAddons/ScratchAddons/issues/6847
It used to describe features that don't exist like the performance tab.
During merge-upstream our changes to this got reverted,
but we support all the features now anyways, so just translate it
Our implementation is unreliable at best and has not been maintained for years. Unfortunately
errors in the service worker mean the website becomes completely unusable:
https://www.reddit.com/r/turbowarp/comments/1af999t/turbowarp_not_loading/https://www.reddit.com/r/turbowarp/comments/198nv96/it_crashed_the_reloaded_now_its_loading/
The service worker's cache is also a security vulnerability because a malicious unsandboxed
extension can access window.caches and insert malicious code to be served by the service
worker. This enables persistence. That's not good. (An unsandboxed extension can't register
a service worker on its own)
We still keep one around for PWA reasons, but no caching at all.
Moving forward we should:
- promote the desktop app a bit more
- offer standalone .html files, like the packager