Kaiwa - A modern web client for Openfire

Your log message relates to a server-to-server failure. Not sure why, but that is a different issue.

Looks like you are hitting an authenticate issue with the chatapi plugin. Make sure you browser prompts for username/password and you use a user registered on your OF server. If you still get that screen, open the browser debug window and note javascript errors showing. If you don’t get a prompt, then restart your browser.

Also make sure you are using the OF websocket plugin. I have not wired the bosh support yet. Only websockets for now.

Quick question: the method I use for REST API authorization shouldn’t matter, correct? I have a .NET app that I made so that people can register a chat user through it. In that, I use secret auth and, of course, have the REST API set to secret. As long as I set the chatapi REST auth to the same, it should be fine, right?

Thanks Dele, it’s working properly and nicely!

I’d like to ask you a question regarding the admin api, it’s possible to send an “administrative” message to all online users but from the web client don’t receive that message. Besides that, is there a way to retrieve those messages? I also checked the Rest Api plugin but it doesn’t provide that functionality!

Thank you in advance!

Hey,

first - thank you for your hard work. Unfourtunately it looks like i’m having some issues with configuration - i upload it by “Upload Plugin” and receive confirmation but the it doesn’t appear on the list of installed plugins… Neither in the top bar menu:

The *jar file, however, appears on the server:

2017-03-31 10_40_47-plugins - root@vm-lab-ejabberd - WinSCP.png

Any hints on what can i do? OpenFire 4.1.3 and Debian 8

I had this issue when I had an older version of Java installed on my server. Check to see if you have Java 8 installed. If it’s v.7 you’ll need to update to v.8 for this chatapi plugin to work.

Thank you - it worked!

And now i have the same issue with 404 on **/apps/login.html **both with http on port 7070 and https on 7443

I’m also having the same 404 error on /apps/login.html both with http on port 7070 and https on 7443

Could you find out the solution?

I’ve updated openfire server to the latest version awa my plugins but no go

Wanted to say thank you for the awesome work. I have started using Kaiwa and it is great. The only issue I am currently having is that once I login to the client or webpage I will stay connected for about 30 - 45 seconds and then disconnect. If I hit reconnect it will but will then disconnect again in another 30-45 seconds. Any idea what may cause this issue.

Thank you

After fumbling around for a bit I found the ANSWER!!! Looks like it was an issue in the server setting for Script Syntax being Disabled. Once I set to enable and restarted the OpenFire server all was well.

Have a heck of a time with this. Running Openfire 4.1.3 and have installed the chatapi and other plugins. However when i try to connect to

http://myip:7070/apps I just get connection refused. Am I missing stuff? Do I need to install Kaiwa manually as well?

Just a bit confused. Any help would be great!

Did you ever solve this? I am having the same problem.

Dele,

Any idea about the 404 errors several users are having. I am getting the same issue, but can’t seem to solve it.

installed plugins from the site mentioned (not via the plugin manager in the openfire admin web interface)

restarted both the openfire service and the server

http://XXXXXX:7070/apps prompts for login (browser style popup thing) then gives me the 404, with nothing in error.log

https://XXXXXX:7443/apps prompts for login, then yields the same result, but with stuff in the logs:

2017.05.19 05:34:34 org.jivesoftware.openfire.websocket.XmppWebSocket - Failed to process XMPP stanza

java.lang.NullPointerException

at org.jivesoftware.openfire.net.SASLAuthentication.getSASLMechanismsElement(SASLA uthentication.java:204)

at org.jivesoftware.openfire.net.SASLAuthentication.getSASLMechanisms(SASLAuthenti cation.java:182)

at org.jivesoftware.openfire.websocket.XmppWebSocket.configureStream(XmppWebSocket .java:300)

at org.jivesoftware.openfire.websocket.XmppWebSocket.initiateSession(XmppWebSocket .java:279)

at org.jivesoftware.openfire.websocket.XmppWebSocket.onTextMethod(XmppWebSocket.ja va:113)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(Callabl eMethod.java:70)

at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMeth od.call(OptionalSessionCallableMethod.java:72)

at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextMessa ge(JettyAnnotatedEventDriver.java:234)

at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(Si mpleTextMessage.java:69)

at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(Abs tractEventDriver.java:65)

at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextFrame (JettyAnnotatedEventDriver.java:226)

at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(Abs tractEventDriver.java:161)

at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSess ion.java:308)

at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFra me(AbstractExtension.java:163)

at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtensi on.nextIncomingFrame(PerMessageDeflateExtension.java:105)

at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwar dIncoming(CompressExtension.java:136)

at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtensi on.incomingFrame(PerMessageDeflateExtension.java:85)

at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(Exte nsionStack.java:214)

at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)

at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)

at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(Abs tractWebSocketConnection.java:632)

at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(Ab stractWebSocketConnection.java:480)

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635 )

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)

at java.lang.Thread.run(Thread.java:748)

log output when non-HTTPS on 7070 upon login:

==> /var/log/openfire/all.log <==

2017.05.19 05:42:21 INFO [Jetty-QTP-BOSH-158]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:42:21 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/all.log <==

2017.05.19 05:42:23 INFO [Jetty-QTP-BOSH-158]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:42:23 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/all.log <==

2017.05.19 05:42:24 INFO [Jetty-QTP-BOSH-158]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:42:24 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

log output when HTTPS on 7443 upon login:

==> /var/log/openfire/all.log <==

2017.05.19 05:43:52 INFO [Jetty-QTP-BOSH-63]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:43:52 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/all.log <==

2017.05.19 05:43:52 INFO [Jetty-QTP-BOSH-158]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:43:52 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/all.log <==

2017.05.19 05:43:53 INFO [Jetty-QTP-BOSH-63]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:43:53 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/all.log <==

2017.05.19 05:43:53 INFO [Jetty-QTP-BOSH-158]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:43:53 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/all.log <==

2017.05.19 05:43:53 INFO [Jetty-QTP-BOSH-203]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:43:53 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/all.log <==

2017.05.19 05:44:00 INFO [Jetty-QTP-BOSH-63]: org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/info.log <==

2017.05.19 05:44:00 org.jivesoftware.openfire.plugin.ofmeet.jetty.OfMeetLoginService - Login succeeded for local user admin

==> /var/log/openfire/all.log <==

2017.05.19 05:44:10 ERROR [Jetty-QTP-BOSH-204]: org.jivesoftware.openfire.websocket.XmppWebSocket - Failed to process XMPP stanza

java.lang.NullPointerException

at org.jivesoftware.openfire.net.SASLAuthentication.getSASLMechanismsElement(SASLA uthentication.java:204)

at org.jivesoftware.openfire.net.SASLAuthentication.getSASLMechanisms(SASLAuthenti cation.java:182)

at org.jivesoftware.openfire.websocket.XmppWebSocket.configureStream(XmppWebSocket .java:300)

at org.jivesoftware.openfire.websocket.XmppWebSocket.initiateSession(XmppWebSocket .java:279)

at org.jivesoftware.openfire.websocket.XmppWebSocket.onTextMethod(XmppWebSocket.ja va:113)

at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(Callabl eMethod.java:70)

at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMeth od.call(OptionalSessionCallableMethod.java:72)

at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextMessa ge(JettyAnnotatedEventDriver.java:234)

at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(Si mpleTextMessage.java:69)

at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(Abs tractEventDriver.java:65)

at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextFrame (JettyAnnotatedEventDriver.java:226)

at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(Abs tractEventDriver.java:161)

at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSess ion.java:308)

at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFra me(AbstractExtension.java:163)

at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtensi on.nextIncomingFrame(PerMessageDeflateExtension.java:105)

at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwar dIncoming(CompressExtension.java:136)

at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtensi on.incomingFrame(PerMessageDeflateExtension.java:85)

at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(Exte nsionStack.java:214)

at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)

at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)

at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(Abs tractWebSocketConnection.java:632)

at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(Ab stractWebSocketConnection.java:480)

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635 )

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)

at java.lang.Thread.run(Thread.java:748)

==> /var/log/openfire/error.log <==

2017.05.19 05:44:10 org.jivesoftware.openfire.websocket.XmppWebSocket - Failed to process XMPP stanza

java.lang.NullPointerException

at org.jivesoftware.openfire.net.SASLAuthentication.getSASLMechanismsElement(SASLA uthentication.java:204)

at org.jivesoftware.openfire.net.SASLAuthentication.getSASLMechanisms(SASLAuthenti cation.java:182)

at org.jivesoftware.openfire.websocket.XmppWebSocket.configureStream(XmppWebSocket .java:300)

at org.jivesoftware.openfire.websocket.XmppWebSocket.initiateSession(XmppWebSocket .java:279)

at org.jivesoftware.openfire.websocket.XmppWebSocket.onTextMethod(XmppWebSocket.ja va:113)

at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(Callabl eMethod.java:70)

at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMeth od.call(OptionalSessionCallableMethod.java:72)

at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextMessa ge(JettyAnnotatedEventDriver.java:234)

at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(Si mpleTextMessage.java:69)

at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(Abs tractEventDriver.java:65)

at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextFrame (JettyAnnotatedEventDriver.java:226)

at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(Abs tractEventDriver.java:161)

at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSess ion.java:308)

at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFra me(AbstractExtension.java:163)

at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtensi on.nextIncomingFrame(PerMessageDeflateExtension.java:105)

at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwar dIncoming(CompressExtension.java:136)

at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtensi on.incomingFrame(PerMessageDeflateExtension.java:85)

at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(Exte nsionStack.java:214)

at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)

at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)

at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(Abs tractWebSocketConnection.java:632)

at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(Ab stractWebSocketConnection.java:480)

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635 )

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)

at java.lang.Thread.run(Thread.java:748)

Openfire 4.1.4, Java 1.8.0_131 Oracle Corporation – Java HotSpot™ 64-Bit Server VM, on Ubuntu Xenial. Thanks for all the hard work (not sarcastic :3) Really looking forward to getting this working! Think its a great idea!

After user logon it hang on

2017-05-31_16-08-30.png

What is this ?

Try Chrome. I’ve some problem when using IE.

On my local Openfire the Kaiwa webclient stopped working after upgrading my Openfire version from 4.1.4 to 4.1.5

I now end up with an error 404:

HTTP ERROR 404

Problem accessing /apps/. Reason:

Not Found

Has anything been changed for the webclient in version 4.1.5 of Openfire?

I upgraded to Openfire Websocket plugin version 1.2.1 but it still does not work. Same error as in message above.

(I am running Openfire 4.1.5).

Same here. Upgraded to Websocket plubgin version 1.2.1 and really hoped it´ll fix the problem - but did not… :frowning:

(OF 4.1.5 on Ubuntu 14.04.5 - latest updates applied)

Olá, é possivel enviar imagem assim como o spark?