scratchfoundation / scratch-vm

Virtual Machine used to represent, run, and maintain the state of programs for Scratch 3.0
http://scratchfoundation.github.io/scratch-vm/
GNU Affero General Public License v3.0
1.22k stars 1.53k forks source link

GoGuardian filters causing significant latency on Scratch editor #1952

Open enauman opened 5 years ago

enauman commented 5 years ago

We have no luck communicating and troubeshooting with GoGuardian to resolve this, but maybe someone here on the developer side can help us narrow down what is happening between GoGuardian, Chromebooks, and Scratch. Any suggestions are appreciated! This issue is making it very hard to use Scratch in our school.

Expected Behavior

UI interaction should show immediate response to mouse and touchscreen input.

Actual Behavior

On Chromebook in managed Google org with GoGuardian filter extension added Scratch has high latency in responding to user input across all types, such as mouse clicking and dragging, touchscreen touch and drag. Also audio recording does not buffer properly and stops recording after a few seconds causing a stutter effect.

Steps to Reproduce

In Google Apps for Education admin control panel, create a user group, add Google user, and add GoGuardian extension to group. Log in on Chromebook with user in that group and edit a Scratch project. Try dragging blocks, accessing different blocks tabs, and recording audio.

Operating System and Browser

Chromium browser v69.?, ChromeOS.

I did manage to get one error in the Javascript Console referencing "VM69 extensions" assuming this references scratch-vm that's why I'm posting it here. img_1388

thisandagain commented 5 years ago

Oh no! Thanks for reporting @enauman.

Unfortunately we aren't very familiar with GoGuardian so I'm not quite sure what could be causing this. I can say that VM69 extensions::utils:119 doesn't look like our code, but I would guess that this is referencing a Chrome extension (perhaps GoGuardian). Because we aren't familiar with the technology you are using I don't have any firm recommendations, but I'd be curious to know if they are evaluating the contents of blocks or other text fields in the editor for moderation purposes. If so, I could see how this could cause serious performance issues.

enauman commented 5 years ago

Thank you, I'm going to have another go at talking to GoGuardian support.

bat-pixel commented 5 years ago

Have you made any progress with this issue?

enauman commented 5 years ago

A little, in that they do acknowledge there is a problem. It appears GoGuardian filters are evaluating every scratch block (or the code behind it), severely slowing down the responsiveness of Scratch on managed Chromebooks. Their development team said they saw the problem and said they would work on a fix. That was months ago and we have not gotten an update. The recording function doesn't work at all, seems like it isn't buffering the audio data so sometimes it stops recording, sometimes it gets overloaded and just stretches the same packet out (don't know if I'm using the right language). Other features work generally but like stated above there is very high latency.

RealDTC112 commented 2 years ago

mine lags too, i hate goguardian WHY does it exist in the first place

RGBProductions commented 2 years ago

GoGuardian exists to protect students from content that is either malicious or not school appropriate, but in this case it might be overly protective against something that isn't dangerous to begin with.