We are a bit further but not a lot. I will document what we know and end it with that, in hopes that the next person doesn't have to ask the same questions.
it seems opera gx uses/copied most of the code of opera touch. So we tried to find debug methods for opera touch
but could only find: https://forums.opera.com/topic/30160/opera-touch-android-debug-javascript
It seems that that is also not an option.
other than that opera gx has a log option but it's not a console log nor does it have a lot of info(you can get it by spamming the version button)
we think that it's based on opera touch on the fact that the design is the same and also because the javascript that we get back is called window.oprt hence oprt meaning (OPeRa Touch) at least that is what we expect.
Other than that what we have found out till now:
opera gx seems to have a switch between if it will add javascript to the site or not. this made finding the problem harder.
if there are not enough files in the cache it writes over some functions like revokeObjectURL(we don't know if there are more functions getting rewritten).
after most files are in cache and the user refreshes it won't rewrite those browser functions.
the problem with how they are rewritten it is that it's on the javascript level, not a browser level. so instead of it getting back
function functionName() { [native code] } for a native functions
you will get:
function functionName() { custom function }
making it so that you don't know if the function is rewritten by the javascript of the browser or because of malicious intent by a user.
For now, sadly we could not find anything online about how to disable it for our site or why opera even has this "feature" as it's in non of their windows/ios/mac counterparts, at least as far as we could find.