Join conference room on startup not working

Hello,

on our Openfire server we have multiple permanent conference rooms.

Some users had these rooms bookmarked in Spark with “Join on startup” checked.

This settings allowed users to automatically join conference rooms after Spark startup.

Recently it stopped working - you can join these conference rooms manually but after restart Spark will not remember which rooms were bookmarked and/or check for join on start up.

Is there a way to fix this problem so users can once more automatically log into their rooms?

(tested on Spark 2.7.0 and 2.7.7 on Windows 7; Openfire 4.0.2 on Windows Server 2012)

Works for me. Though i’m currently on 4.0.3, but i remember testing auto-joining a while ago (maybe with Spark 2.7.6 and Openfire 4.0.1 or 4.0.2).

Well, I’ve upgraded everything (Spark 2.7.7, Openfire 4.0.3) and it’s still not working

Anything in the logs? C:\Users\username\AppData\Roaming\Spark\Logs

You can also try latest testing build and see if there is any difference http://download.igniterealtime.org/spark/dailybuilds/spark_2_7_7_882.exe

I can’t log in using 882 build (bad username or password). The same username and password works fine in previous build (810).

Errors at log in:

sie 22, 2016 9:08:36 AM org.jivesoftware.spark.util.log.Log error

SEVERE: Dictionary not found

When setting room as bookmarked:

sie 22, 2016 9:13:25 AM org.jivesoftware.spark.util.log.Log error

*SEVERE: *

service-unavailable(503)

  • at org.jivesoftware.smackx.PrivateDataManager.setPrivateData(PrivateDataManager.ja va:259)*

  • at org.jivesoftware.smackx.bookmark.BookmarkManager.addBookmarkedConference(Bookma rkManager.java:126)*

  • at org.jivesoftware.spark.ui.conferences.BookmarksUI.addBookmark(BookmarksUI.java: 424)*

  • at org.jivesoftware.spark.ui.conferences.ConferenceRoomBrowser.bookmarkRoom(Confer enceRoomBrowser.java:473)*

  • at org.jivesoftware.spark.ui.conferences.ConferenceRoomBrowser.access$100(Conferen ceRoomBrowser.java:97)*

  • at org.jivesoftware.spark.ui.conferences.ConferenceRoomBrowser$3.actionPerformed(C onferenceRoomBrowser.java:258)*

  • at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)*

  • at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)*

  • at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)*

  • at javax.swing.DefaultButtonModel.setPressed(Unknown Source)*

  • at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)*

  • at com.jtattoo.plaf.BaseButtonListener.mouseReleased(BaseButtonListener.java:60)*

  • at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)*

  • at java.awt.Component.processMouseEvent(Unknown Source)*

  • at javax.swing.JComponent.processMouseEvent(Unknown Source)*

  • at java.awt.Component.processEvent(Unknown Source)*

  • at java.awt.Container.processEvent(Unknown Source)*

  • at java.awt.Component.dispatchEventImpl(Unknown Source)*

  • at java.awt.Container.dispatchEventImpl(Unknown Source)*

  • at java.awt.Component.dispatchEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)*

  • at java.awt.Container.dispatchEventImpl(Unknown Source)*

  • at java.awt.Window.dispatchEventImpl(Unknown Source)*

  • at java.awt.Component.dispatchEvent(Unknown Source)*

  • at java.awt.EventQueue.dispatchEventImpl(Unknown Source)*

  • at java.awt.EventQueue.access$500(Unknown Source)*

  • at java.awt.EventQueue$3.run(Unknown Source)*

  • at java.awt.EventQueue$3.run(Unknown Source)*

  • at java.security.AccessController.doPrivileged(Native Method)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.awt.EventQueue$4.run(Unknown Source)*

  • at java.awt.EventQueue$4.run(Unknown Source)*

  • at java.security.AccessController.doPrivileged(Native Method)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.awt.EventQueue.dispatchEvent(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEvents(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEvents(Unknown Source)*

  • at java.awt.EventDispatchThread.run(Unknown Source)*

When checking “join on startup”:

sie 22, 2016 9:13:41 AM org.jivesoftware.spark.util.log.Log error

*SEVERE: *

service-unavailable(503)

  • at org.jivesoftware.smackx.PrivateDataManager.setPrivateData(PrivateDataManager.ja va:259)*

  • at org.jivesoftware.smackx.bookmark.BookmarkManager.removeBookmarkedConference(Boo kmarkManager.java:148)*

  • at org.jivesoftware.spark.ui.conferences.BookmarksUI.removeBookmark(BookmarksUI.ja va:438)*

  • at org.jivesoftware.spark.ui.conferences.ConferenceRoomBrowser$RoomList$3.actionPe rformed(ConferenceRoomBrowser.java:754)*

  • at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)*

  • at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)*

  • at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)*

  • at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)*

  • at javax.swing.AbstractButton.doClick(Unknown Source)*

  • at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)*

  • at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)*

  • at java.awt.Component.processMouseEvent(Unknown Source)*

  • at javax.swing.JComponent.processMouseEvent(Unknown Source)*

  • at java.awt.Component.processEvent(Unknown Source)*

  • at java.awt.Container.processEvent(Unknown Source)*

  • at java.awt.Component.dispatchEventImpl(Unknown Source)*

  • at java.awt.Container.dispatchEventImpl(Unknown Source)*

  • at java.awt.Component.dispatchEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)*

  • at java.awt.Container.dispatchEventImpl(Unknown Source)*

  • at java.awt.Window.dispatchEventImpl(Unknown Source)*

  • at java.awt.Component.dispatchEvent(Unknown Source)*

  • at java.awt.EventQueue.dispatchEventImpl(Unknown Source)*

  • at java.awt.EventQueue.access$500(Unknown Source)*

  • at java.awt.EventQueue$3.run(Unknown Source)*

  • at java.awt.EventQueue$3.run(Unknown Source)*

  • at java.security.AccessController.doPrivileged(Native Method)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.awt.EventQueue$4.run(Unknown Source)*

  • at java.awt.EventQueue$4.run(Unknown Source)*

  • at java.security.AccessController.doPrivileged(Native Method)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.awt.EventQueue.dispatchEvent(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEvents(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEvents(Unknown Source)*

  • at java.awt.EventDispatchThread.run(Unknown Source)*

sie 22, 2016 9:13:41 AM org.jivesoftware.spark.util.log.Log error

*SEVERE: *

service-unavailable(503)

  • at org.jivesoftware.smackx.PrivateDataManager.setPrivateData(PrivateDataManager.ja va:259)*

  • at org.jivesoftware.smackx.bookmark.BookmarkManager.addBookmarkedConference(Bookma rkManager.java:126)*

  • at org.jivesoftware.spark.ui.conferences.BookmarksUI.addBookmark(BookmarksUI.java: 424)*

  • at org.jivesoftware.spark.ui.conferences.ConferenceRoomBrowser$RoomList$3.actionPe rformed(ConferenceRoomBrowser.java:755)*

  • at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)*

  • at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)*

  • at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)*

  • at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)*

  • at javax.swing.AbstractButton.doClick(Unknown Source)*

  • at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)*

  • at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)*

  • at java.awt.Component.processMouseEvent(Unknown Source)*

  • at javax.swing.JComponent.processMouseEvent(Unknown Source)*

  • at java.awt.Component.processEvent(Unknown Source)*

  • at java.awt.Container.processEvent(Unknown Source)*

  • at java.awt.Component.dispatchEventImpl(Unknown Source)*

  • at java.awt.Container.dispatchEventImpl(Unknown Source)*

  • at java.awt.Component.dispatchEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)*

  • at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)*

  • at java.awt.Container.dispatchEventImpl(Unknown Source)*

  • at java.awt.Window.dispatchEventImpl(Unknown Source)*

  • at java.awt.Component.dispatchEvent(Unknown Source)*

  • at java.awt.EventQueue.dispatchEventImpl(Unknown Source)*

  • at java.awt.EventQueue.access$500(Unknown Source)*

  • at java.awt.EventQueue$3.run(Unknown Source)*

  • at java.awt.EventQueue$3.run(Unknown Source)*

  • at java.security.AccessController.doPrivileged(Native Method)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.awt.EventQueue$4.run(Unknown Source)*

  • at java.awt.EventQueue$4.run(Unknown Source)*

  • at java.security.AccessController.doPrivileged(Native Method)*

  • at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(U nknown Source)*

  • at java.awt.EventQueue.dispatchEvent(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEvents(Unknown Source)*

  • at java.awt.EventDispatchThread.pumpEvents(Unknown Source)*

  • at java.awt.EventDispatchThread.run(Unknown Source)*

Well, i don’t know what the exact cause is, but it seems your client can’t access Privatr data storage on the server. You can try installing Bookmarks plugin on Openfire and creating room bookmarks there.

As about 882 build. On login screen go to Advanced settings and check if “accept all certificates” is selected. Are you using AD integration or SSO?

SSO and “accept all certificates” was selected.

I’ll try that plugin as soon as I’m back at the office (might be tomorrow…), thanks!

Ah, you are using SSO. Then you have to check “Smack 3 compatibility mode” on the SSO tab. Or you will have to modify your SSO settings for Openfire according to this SSO (Single Sign On) configuration changes since Spark 2.8.0

P.S. i’ve heard that “Smack 3 compatibility mode” might not work now, so then the only option to make new Spark work with SSO would be to change that setting according to the document. I think that new setting should work with both old and new Spark, but i will let @speedy confirm that.

correct, “compatibility mode” is still in the works, and doesn’t appear to be working yet.

also, since you have tried different versions of Spark, the issue may be something else. Perhaps server side, network, etc. is it all users or just a few?

He hasn’t tried the latest version. But i feel it will be the same probably. I suspect some problem with the server and its conference service.

So, will new keytab file work with Spark 2.7 and 2.8?

I can’t reproduce with spark 2.7.7 and OF 4.0.2 with SSO. It all works as expected for me.

wroot,

yes…it “should” ! in my test it does anyway! It depends on how they setup the xmpp domain and what not. if there xmpp domain matches there fqhn, than they shouldn’t have to do anything…of thats my theory anyway!