I am running 4.1 Smack, and there does not seem to be a lot of documentation around proper error handling, especially around MUC re-joining. I have implemented all the listeners that i feel are necessary but when a disconnect happens (java.net connection error), the Connection listener is fired, i end up re-connecting properly, but when trying to re-join the rooms, i get the common "Packet reply timeout error". I tried leaving and then joining, but no luck. My guess is something is getting stuck with the connection state.
org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 60000ms (~60s). Used filter: AndFilter: (FromMatchesFilter (full): someJID@conf.hipchat.com/forme, StanzaTypeFilter: Presence).
at org.jivesoftware.smack.SmackException$NoResponseException.newWith(SmackExceptio n.java:106)
at org.jivesoftware.smack.SmackException$NoResponseException.newWith(SmackExceptio n.java:90)
at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:2 29)
Are there any good reference implementations of handling these issues in smack ?
My sample (scala) code is here for the HipChat class i created