Hi,
first of all, about the 1st point, in case you didn't, you should implement the
getItemsmethod of your
MetaDataProvider to prevent an user to subscribe to another user's item.
that said, about your problem, it seems to me that you're trying to accomplish a system that receives a list of messages from the server. For such logic you cannot use the MERGE mode as when two updates for the same item are published quickly one after the other it is likely that only he second will reach the client as the first one is MERGEd with the other.
To publish a list of messages avoiding merge you would use a DISTINCT subscription (eg
ChatDemo ). For further details check out the "General Concept.pdf" file (section 3.1) available under LS_HOME/DOCS-SDKs/ in our distribution.
About why your updates don't reach the client, I see that you use two tables but you subscribe both with the same id (the second parameter of the addTable: instancesAndSecuritiesTable). This way the second addTable make the first table to unsubscribe.
If that's not the problem, and if possible, we should start taking a look to your server logs. Please set the LightstreamerLogger.push category to log at TRACE level (and keep LightstreamerLogger.requests at INFO level). Then run your client and send us the log