Technical Preview: Blockly v10 Update

Oh no, I broke the Mutator!

Broken mutator 1

Closing and reopening the project cleared that up.
Broken mutator 2

I had to juggle blocks to get them back in the right order, though. (Not recorded, sorry.)

Docking below an open input socket remains hard.

1 Like

It's great to learn that we will finally have multiselect integrated into App Inventor! Thank you @ABG for providing so much feedback! some comments from me about the multi-select:

When I multiselected blocks 1 and 3 of a block sequence, and lifted them, I was unable to dock or release them
(edit attempt failed on too large video)

That sounds like a bug in the gesture handling at Blockly core's side, I received similar reports occasionally, but they are typically hard to reproduce. If it shows that it's directly related to the plugin, it would be greatly appreciated if you could send the related stack trace in the console to Sign in to GitHub · GitHub, next time you encounter that again.

This is just a demo of the new, barely visible check box that toggles between drag mode and multiselect mode:

Toggling between drag and multiselect by check box

(It took me a while to figure out, and the toggled and not toggled states are barely distinguishable, at the same level of salience as the mouse over highlights.)

P.S. I wonder how much worse this will look in dark mode?

I just fine-tuned the parameters (CSS opacity changes, as well as the color of the SVG) a little bit to make this more distinguishable and also to fit the dark mode, so that now we are up to the standard of what we have in official Blockly workspace-backpack plugin: blockly-samples/plugins/workspace-backpack/src/backpack.ts at 5d699d2b3ccf80adb50a17da4207af2c368764f0 · google/blockly-samples · GitHub
But anyway it would be a better idea to use a better SVG here (I don't have a visual design team stand in the back of me, so I can't help here), those are configurable on the plugin side and I just made the icons configurable at runtime as well to fit possible dark/light theme switch with different icons.

image

1 Like

Thanks for the comments.

I am too low on the AI2 food chain to implement your patches, so I leave that to the MIT AI2 implementation team.

My particular skill set mostly consists of breaking things.

4 Likes

Please Add The Option For Find Block Option.... It Will Locate Finds Name Block Just Like Highlight Procedure.

Right Click > Select Find Option > Enter Text > And Highlight All Blocks with this Name.

Because Find Option in Chrome/Firefox Does not Work for Same.

image

1 Like

While you hold your breath for that, you can use the AI2Helper browser extension from

That is in our plans. It will likely be based on the work of one of our GSOC students, Arya Anand, described in this post.

-Mark

2 Likes

There is a possibility that the variables (local and global) can be of "strong type" example:

  • Int, Bool, String, etc.

It is to avoid memory attacks by memory leaks, and possible buffer overflow failures/attacks (stack/heap).

  • I know that appinventor is not designed to be secure, but there are many applications that are made with the platform, as well as it is a good practice (and teaching) to approach security (cyber, computing, data, etc).

  • I currently teach how to check the data entered (given the lack of strong typing) by means of sync/async functions, dictionaries, etc.

But it would be very nice if that option were available by default.

@ewpatton

1 Like

I'm curious about the mutator issue! Do you have reproduction steps for that?

Here's another video and sample project, off ewpatton's appspot server:
chart_drunkards_walk.aia (2.6 KB)
sample run

AT first I thought it was a Heisenbug, from window conflicts with the screen recorder, but it is reproducible by trying to drag the mutator bubble by its NorthEast corner.

A bottom drag spawned a second bubble.

1 Like

Iiinteresting, are you able to reproduce it in the Blockly playground as well?

I tried, but could not reproduce the bug there.

But that playground was not wired for things like the new helicopter drag or the automatic socket spawn on drag approach.

My gut reaction is that it might be an interaction with the auto-extending blocks since they will try to rebuild the structure of the block and this could somehow detach the mutator since it rebuilds the block entirely. Does it happen with other mutated blocks like the if statement (which doesn't auto-extend)?

sample run

This run was on the if/then mutator.

Cursor responsiveness was slow, and I got flood fills on dragging the speech bubble.
Nothing floated away, though.

@ABG The procedure name issues that you mention should be fixed in the latest version of the Blockly Update server (which Evan just updated). Please check and let us know if that's the case or not.

Thanks in advance.

-Mark

The procedure names look to be populating pulldowns in call blocks okay.

Here's a drag and drop blooper, where the Blocks Workspace turns green if you accidentally try to drag a category from the blocks pallette into the workspace:
dragging the blocks pallette makes the blocks workspace say Ahhh and get stuck
The green background can be cleared by switching to the Designer and back.

This might be a bit off topic, but I just noticed a Brave browser feature when I hover my cursor over browser tabs:
Brave memory usage feature
Brave shows the memory usage of each tab if you hover over the tab.
This should help sort out the users who over burden their PCs.

Same behaviour in Chrome

Taunting your pet with food

This is a bug I call Taunting the Open Sockets.
(Or Three Socket Monte)

After a session of waving value blocks near the mouths of Make a List blocks and finally yanking a value out of one of its mouths, the blue mutator of the Make a List block stopped responding.

image
I have a green for each block between the others with the normal color.

Now every one is going to want one.
Green For Each Number
It's in the pallette.

1 Like