Skip to content

Conversation

@mikeharv
Copy link
Contributor

@mikeharv mikeharv commented Jan 5, 2026

Last year, we completed the migration of all student/teacher facing labs to mainline Blockly. However, we were still maintaining both Blockly wrappers due to:

  • The flexibility of being able toggle ?blocklyVersion=cdo internal, primarily for gut-checking and regressions
  • Unit test reliance on our Blockly fork.

The latter issue has been resolved with:

As far as I am aware, we are no longer relying on n the URL parameter, so it feels like the right time to finally take the next big step. This work does the following:

  • removes blocklyVersion from controller and disables the URL param
  • removes blockly.js script, which would initialize the cdo Blockly Wrapper
  • removes cdoBlocklyWrapper.js and directly related util files
  • ends the importing of code-dot-org/blockly (and pepjs)

Note that pepjs was used to make Sprite Lab's location picker field work with CDO Blockly. [Slack context from 2021]

Testing story

No test changes are expected here as this whole branch is essentially cleaning up code that is no longer used!

Follow-up work

Rename and being unwinding the Google Blockly Wrapper.

PR Creation Checklist:

  • Tests provide adequate coverage
  • Privacy impacts have been documented
  • Security impacts have been documented
  • Code is well-commented
  • New features are translatable or updates will not break translations
  • Relevant documentation has been added or updated
  • User impact is well-understood and desirable
  • Follow-up work items (including potential tech debt) are tracked and linked

@github-actions
Copy link

github-actions bot commented Jan 5, 2026

🖼️ Storybook Visual Comparison Report

✅ No Storybook eyes differences detected!

@mikeharv mikeharv changed the title Mike/remove cdo blockly Remove CDO Blockly Wrapper and stop importing code-dot-org/blockly Jan 5, 2026
@mikeharv mikeharv marked this pull request as ready for review January 5, 2026 21:02
@mikeharv mikeharv requested a review from a team as a code owner January 5, 2026 21:02
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@molly-moen molly-moen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 🥳 🎉

app: app_options[:app],
use_droplet: use_droplet,
use_google_blockly: use_google_blockly,
use_blockly: use_blockly,
Copy link
Contributor

@ebeastlake ebeastlake Jan 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a stupid tangentially related question: use_blockly now references this statement, yeah?

use_blockly = !use_droplet && !use_netsim && !use_weblab && !use_javalab

We don't need to maintain that conditional (for Music Lab, Web Lab 2, etc.) because all of our new labs are being added via Lab2, correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't touch use_blockly but that sounds plausible to me, but I'd have to confirm. Also Music Lab doesn't use any of the tools listed in that conditional, so I'd expect it to evaluate to true in any case.

Copy link
Contributor

@ebeastlake ebeastlake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One possibly silly question (and maybe we'd want to rename that param in the future, to something like uses_nonlab2_blockly for clarity, depending on the answer), but otherwise, the PR LGTM and what an exciting milestone!

@mikeharv mikeharv merged commit 4757138 into staging Jan 6, 2026
11 checks passed
@mikeharv mikeharv deleted the mike/remove-cdo-blockly branch January 6, 2026 03:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants