logicpng

artist catbot

23+ | speaks rus + eng | nd + queer + plural | maow



corru
@corru

I posted about this on xwitter but I think people here might appreciate this discovery - on any keypress, and constantly if you hold down any button, the Opera GX AI that you don't seem to be able to fully turn off clones the HTML elements of the body of the page you're currently on. (to process it? idk)

this has caused some major issues because it constantly re-calls constructors on custom elements and stuff - took a while to figure out, but when we actually tracked it down to this, I could hardly believe it. there's no way this runs well on pages that have a lot of HTML content lol

(edit - further discovery: this seems to only be executed on the 'focused element' - like if you're typing in a textbox then it only looks at that textbox. but if you don't have a focused element, that's when 't' becomes the body element as a whole)


You must log in to comment.

in reply to @corru's post:

Like I get why it would want to do this—the LLM is likely transforming the page into a text-only version that it can include in the prompt so you can ask questions about the page you're looking at.

What I don't understand is why you'd clone the thing and do the transform while it's still a DOM tree instead of walking the tree you already have?? And on every keypress, not after a prompt has been submitted?

there are people who really use it, and several who even play corru.observer with it!! in fact that's why we found out about this - those select few Opera Gamers started getting the strangest errors constantly within a section of the game that relies completely on custom HTML elements. really strange handful of bug reports

those youtuber sponsorships are really putting in work

i dont even know dang about heck when it comes to webdev but i know for SURE that seems like a bad idea.

im really curious and i want to learn, what exactly is it making a clone of? is it just copying the html without any css data or anything or is it like a copy of the whole ass website? the latter seems really bad the former seems still pretty bad.

as far as I've tested, which is just enough to know this was the root of my GX bugs, it's using the HTML element function .cloneNode(true) on the <body> element, which makes a "deep clone" of everything that the body contains. so, every element rendered on page, and all text that everything contains. anything within <body> is caught, whether that be inline <style> elements or loads and loads of divs.

the reason this is an issue for my game is because one particular area has a custom element called <critta-map>, where once it's created, it declares itself as the map to refer to, and throws an error if another one tries to get created.

thus, when our friend Aria here does a deep clone of the page, it tries to create a new map (and all of its custom element contents which have similar on-construction events) and all sorts of assignments are messed up

but more broadly, I would say that this is probably a pretty costly way to look at and process the page, it's definitely not an operation you want to do on every keypress