conversejs / converse.js

Web-based XMPP/Jabber chat client written in JavaScript
http://conversejs.org
Mozilla Public License 2.0
3.08k stars 772 forks source link

Configuration: "allow_non_roster_messaging: true" -> incomplete chat window #1221

Closed MotoGP-Fan closed 6 years ago

MotoGP-Fan commented 6 years ago

Converse release: 4.0.1 Prosody 0.10.2 on Debian 9

If "allow_non_roster_messaging" is set to "true" (default=false) the chat window will not appear in usual style ->text input not possible. If you want to test this by yourself don't forget to clear browser cache and reload site after changing the configuration option. See pic:

webchat_nok_pixel

sicherha commented 6 years ago

I can reproduce this behaviour: the input area goes missing when OMEMO support is enabled (i.e. when libsignal-protocol.js is loaded) and allow_non_roster_messaging is true. With either of the two disabled, the input widget re-appears.

jcbrand commented 6 years ago

@MotoGP-Fan and @sicherha: I'm not able to reproduce this bug. Can you please check again whether it's fixed with the 4.0.2 release? Make sure the browser's cache is cleared.

sicherha commented 6 years ago

I am still affected by this issue with 4.0.2, but so far I haven't been able to pinpoint it further. It occurs for many contacts in my roster, but not for all of them; there is no discernible scheme.

Whenever I encounter the problem, the following three conditions coincide:

  1. The chat-window frame is amber, not green.
  2. The input widget is missing.
  3. Clicking on the business-card icon has no effect; the user-info overlay does not pop up.

Cleaning the cache or the site's web storage did not help. No errors are shown in the web-developer console.

jcbrand commented 6 years ago

@sicherha Please set debug: true when calling converse.initialize, or use https://conversejs.org/fullscreen_debug.html

Then in your browser console, enable verbose logging. Then reproduce the problem, copy the entire log output and paste it here.

Then I can try and see what the problem is.

sicherha commented 6 years ago

Log sent via email.

jcbrand commented 6 years ago

@sicherha I think I found and fixed the bug. You were using allow_non_contact_requests: true right? This caused an orange headlines box to be created for an OMEMO headline message which in turn prevented a normal chat to be created.

Are you using the CDN or do you have a dev environment set up for Converse?

sicherha commented 6 years ago

Yes, I was using allow_non_contact_requests: true. Our deployment is hosted locally and doesn't make use of the CDN.

I can confirm that your patch appears to fix the issue for me. Thanks for the quick and competent response! :+1:

jcbrand commented 6 years ago

Cool, thanks for the confirmation