Skip to content

Added addon cloud-to-turbowarp. - #9111

Open
ash-luigi wants to merge 9 commits into
ScratchAddons:masterfrom
ash-luigi:master
Open

Added addon cloud-to-turbowarp.#9111
ash-luigi wants to merge 9 commits into
ScratchAddons:masterfrom
ash-luigi:master

Conversation

@ash-luigi

Copy link
Copy Markdown

This PR adds a addon called cloud-to-turbowarp.
When enabled, online multiplayer projects will link to turbowarp servers instead!

Reason for changes

This addon allows people who prefer turbowarp's fast, generally more reliable servers to use in the scratch GUI! Also adds banner to games tab when enabled as servers still are scratch on games tab since turbowarp does not store logs.

Tests

Tested on Edge (based off chromium and edge extension support chrome so will also work on chrome)
Firefox didn't work...but that's a ScratchAddon or testing bug because the addon didn't load at all (it said it did but the background process died after a bit and nothing popped changed).

Added addon Redirect cloud variables to turbowarp.
Add a visual indicator when the Cloud Games popup is linked to TurboWarp cloud servers. Introduces a new addon setting 'Also redirect Cloud Games tab' and displays a green banner at the top of the popup. The cloud data fetch URL now dynamically switches between Scratch and TurboWarp endpoints based on the addon configuration.
@DNin01 DNin01 linked an issue Jul 16, 2026 that may be closed by this pull request
@pufferfish101007 pufferfish101007 added type: enhancement New feature for the project new addon Related to new addons to this extension. `scope: addon` should still be added. scope: addon Related to one or multiple addons scope: webpages Related to the web pages (settings page, pop-up, etc) labels Jul 20, 2026
@pufferfish101007

Copy link
Copy Markdown
Contributor

Some thoughts:

  • I'm not sure it makes sense for this addon to be dynamically enabl-/disablable, seeing as presumably only one websocket connection will ever be initiatied per page load? i.e. you'd need to reload the page to connect to the new server anyway (please correct me if I'm wrong)
  • If you would want it to be properly dynamic, it would likely be better to override WebSocket methods rather than the constructor, and test for addon.self.disabled inside of those methods, rather than using event listeners. You'd probably need to check if the enabled-ness had changed since the last method call, and reinitiate the connection if needed
  • Have you considered the comments given in Alternate Cloud Servers #8771 (comment) and the comment below that?

Looks like a reasonable implementation though at a glance. I haven't tested it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new addon Related to new addons to this extension. `scope: addon` should still be added. scope: addon Related to one or multiple addons scope: webpages Related to the web pages (settings page, pop-up, etc) type: enhancement New feature for the project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Alternate Cloud Servers

2 participants