I've been playing around with the Runtime domain, but now trying to get my head around how Runtime.releaseObject is supposed to work.
It's pretty clear if I make an RPC such as Runtime.evaluate I should be releasing any RemoteObject that I receive, but it's not so clear in other situations such as when received in events are received or exceptions when an exception is thrown.
Looking at the protocol monitor and puppeteer sources it appears that the client is also responsible for releasing objects returned in events (e.g.
those in Runtime.consoleAPICalled.array), but what happens if I'm using a stable version of the protocol and don't know how to handle a newer event?
I would have assumed I needed to release the exception RemoteObject in Runtime.ExceptionDetails, but puppeteer/DevTools
appears to ignore them. Are these implicitly released Runtime.discardConsoleEntries?
Thanks!