This should be documented in the Websocket API docs.
As mentioned in #11, before #11 was fixed, onClose would return an error:
lucee.runtime.exp.NativeException: The WebSocket session [1] has been closed and no method (apart from close()) may be called on a closed session at org.apache.tomcat.websocket.WsSession.checkState(WsSession.java:782) at org.apache.tomcat.websocket.WsSession.getUserProperties(WsSession.java:727) at net.twentyonesolutions.lucee.websocket.WebSocket.getChannels(WebSocket.java:456) at net.twentyonesolutions.lucee.websocket.connections.ConnectionManager.unsubscribeAll(ConnectionManager.java:193) at
...
This was due to onClose also calling unsubscribeAll (which is redundant?).
It'd also be good to document all methods that can and can't be used from e.g. onClose and all other handlers.