I was working on a simple chat example using Marauroa 2.5 My intention was to use RPEvent for notification about new chat entries. As far as I understand the idea of RPEvent - it appears and is then automatically removed from object after one iteration.
However, on client side the actual removing of RPEvents is done inside RPObject.resetAddedAndDeleted(), which is invoked from PerceptionHandler.apply(). What it basically means is that RPEvent is removed only when the client receives the new perception. But it can take several iteration. Therefore I have duplicate notifications on each chat message (because I rely on RPEvent as representing a single event, while it is there for several iterations). Therefore I will need to keep track on which RPEvents were already reported, which basically kills the idea of RPEvent.
RPEvents should be cleared from each object after each ClientFramework.loop()