GithubHelp home page GithubHelp logo

Comments (15)

sualko avatar sualko commented on August 25, 2024

Maybe it's also a good idea to enable debugging in jsxc and check if something arrives in your js console (ctrl+shift+I).

from jsxc.nextcloud.

Schmuuu avatar Schmuuu commented on August 25, 2024

Hi @LEDfan

I ran your new build and collected the Nextcloud log with Debug level. Can I send the log file to you via private message somehow.

  • NC: 12 stable release
  • Database: MySQL 5.7.18
  • PHP Version: 7.0.18
  • Special Usernames? All users only contain only [A-Za-z_]
  • Browser Firefox 54.0.1 and MS Edge latest Version
  • User backend: default (no LDAP or anything like that)
  • Multiple domains? No, only one domain
  • nginx is used as proxy (Nextcloud/ Onlyoffice)
  • apache 2.4.18 used for Nextcloud
  • followed hardening steps in docu to receive A+ in nextcloud security scanner

Browser console:

  • https://domain.com/apps/ojsxc/http-bind : Unable to run script because scripts are blocked internally. (unknown)
  • XML-Processing Error: not well-formed address: row Nr. 1, Column 120: (unknown):1:120
  • TypeError: jsxc.xmpp.conn is null
  • "This website seems to use a scroll-linked positioning effect. This could possibly work with async moving(?) (Panning) badly; see https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects For more details take part in the developer discussions! LEDfan"
  • Cross-Origin Request blocked: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://collector.githubapp.com/collect. (Grund: Berechtigung/Credential wird nicht unterstรผtzt, wenn die CORS-Kopfzeile 'Access-Control-Allow-Origin' auf '*' gesetzt ist).

Hope this helps

from jsxc.nextcloud.

sualko avatar sualko commented on August 25, 2024

XML-Processing Error: not well-formed address: row Nr. 1, Column 120: (unknown):1:120

This sounds interesting. If you have debugging enabled, you should see the stanza which triggers this message. Can you post it?

from jsxc.nextcloud.

Schmuuu avatar Schmuuu commented on August 25, 2024

Right now I don't have time for debugging and relating this message to log entries. However I would like to send you the nextcloud log via private message. Is there a possibility?

from jsxc.nextcloud.

LEDfan avatar LEDfan commented on August 25, 2024

from jsxc.nextcloud.

LEDfan avatar LEDfan commented on August 25, 2024

So after filtering and looking at the log, I noticed that the chat messages are stored in the database so that they can be retrieved by the recipient. However the recipient never retrieves them. So there are a couple scenario's possible:

  1. the stanza is deleted from the database before the user can retrieve it.
  2. between executing the DB query and saving them to send them to the client the messages are lost.

Can you execute the following query on your database please (it's possible that you have to change the oc_ part by another prefix.

SELECT * FROM ojsxc_stanzas ORDER BY id DESC LIMIT 20

If the query returns nothing you can try to sent some messages (but make sure the other user is online).

Thanks for the debugging!

from jsxc.nextcloud.

LEDfan avatar LEDfan commented on August 25, 2024

Just installed mysql 5.7 and then it still works for me...

from jsxc.nextcloud.

Schmuuu avatar Schmuuu commented on August 25, 2024

Hi @LEDfan

I ran the SQL querys:

mysql> select * from oc_ojsxc_stanzas order by id desc limit 20; +-----+----------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | from | to | stanza | +-----+----------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 357 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965cbc8344f0-msg"><body xmlns="jabber:client">talk to me</body><request xmlns="urn:xmpp:receipts"></request><active xmlns="http://jabber.org/protocol/chatstates"></active></message> | | 356 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965cb8115751-msg"><body xmlns="jabber:client">Another test</body><request xmlns="urn:xmpp:receipts"></request><active xmlns="http://jabber.org/protocol/chatstates"></active></message> | | 355 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965cb55c09d9-msg"><body xmlns="jabber:client">Test</body><request xmlns="urn:xmpp:receipts"></request><active xmlns="http://jabber.org/protocol/chatstates"></active></message> | | 354 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965cb54a257e-msg"><composing xmlns="http://jabber.org/protocol/chatstates"></composing></message> | | 353 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965ca8b9a9b2-msg"><body xmlns="jabber:client">I don't receive your messages neither</body><request xmlns="urn:xmpp:receipts"></request><active xmlns="http://jabber.org/protocol/chatstates"></active></message> | | 352 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965ca8a8fb75-msg"><paused xmlns="http://jabber.org/protocol/chatstates"></paused></message> | | 351 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965ca88047f8-msg"><composing xmlns="http://jabber.org/protocol/chatstates"></composing></message> | | 350 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965ca86dcb4b-msg"><paused xmlns="http://jabber.org/protocol/chatstates"></paused></message> | | 349 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965ca817ebf5-msg"><composing xmlns="http://jabber.org/protocol/chatstates"></composing></message> | | 348 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965ca80f0037-msg"><paused xmlns="http://jabber.org/protocol/chatstates"></paused></message> | | 347 | User1 | user2 | <message to="user2" from="User1" type="chat" xmlns="jabber:client" id="5965ca7ef0b33-msg"><composing xmlns="http://jabber.org/protocol/chatstates"></composing></message> | | 344 | User2 | user1 | <message to="user1" from="User2" type="chat" xmlns="jabber:client" id="5965ca4d37ef9-msg"><body xmlns="jabber:client">nothing?</body><request xmlns="urn:xmpp:receipts"></request><active xmlns="http://jabber.org/protocol/chatstates"></active></message> | | 343 | User2 | user1 | <message to="user1" from="User2" type="chat" xmlns="jabber:client" id="5965ca4d27a23-msg"><paused xmlns="http://jabber.org/protocol/chatstates"></paused></message> | | 342 | User2 | user1 | <message to="user1" from="User2" type="chat" xmlns="jabber:client" id="5965ca4d151bf-msg"><body xmlns="jabber:client">Hello there?!</body><request xmlns="urn:xmpp:receipts"></request><active xmlns="http://jabber.org/protocol/chatstates"></active></message> | | 341 | User2 | user1 | <message to="user1" from="User2" type="chat" xmlns="jabber:client" id="5965ca42a33aa-msg"><composing xmlns="http://jabber.org/protocol/chatstates"></composing></message> | | 340 | User2 | user1 | <message to="user1" from="User2" type="chat" xmlns="jabber:client" id="5965ca4264c89-msg"><paused xmlns="http://jabber.org/protocol/chatstates"></paused></message> | | 336 | ncadmin | user2 | <message to="user2" from="ncadmin" type="chat" xmlns="jabber:client" id="5965ca20e322e-msg"><paused xmlns="http://jabber.org/protocol/chatstates"></paused></message> | | 335 | ncadmin | user2 | <message to="user2" from="ncadmin" type="chat" xmlns="jabber:client" id="5965ca2028791-msg"><composing xmlns="http://jabber.org/protocol/chatstates"></composing></message> | | 334 | ncadmin | user2 | <message to="user2" from="ncadmin" type="chat" xmlns="jabber:client" id="5965ca201df3f-msg"><paused xmlns="http://jabber.org/protocol/chatstates"></paused></message> | | 333 | ncadmin | user2 | <message to="user2" from="ncadmin" type="chat" xmlns="jabber:client" id="5965ca1d4e50c-msg"><composing xmlns="http://jabber.org/protocol/chatstates"></composing></message>

Is it possible, that the reason, why no-one else except the admin receives the messages is, because the admin is the only user whose name doesn't start with a capital letter? Please note the difference above. The "from" column always contains the user names as they really exist in the DB: with a capital letter as first letter. Only the admin user doesn't have a capital letter at all in his name. The "to" column however always contains the usernames written in small letters (and this is only correct for the admin). Not sure if you use a function like toLower or something like that to still have a correct match. Just wanted to point that out.

And to be clear: in the above output I replaced the usernames case sensitive like I found them in the output. So let's say there is a user "Peter", then I replaced "Peter" with "User1" and "peter" with "user1". The admin user is simply "ncadmin" with all small letters.

If it is working for you and still not for me, could the reason be, that I have a migrated system? I started with NC 10 and migrated up to NC 12 now.

Are there any further internal connections? Thinking about what could be the difference between our servers, it just came to my mind that I use fail2ban and maybe there is something blocked?

And you are very welcome! I rather have to thank you, for taking the time to analyze my problem and helping me to solve it :) Thanks a lot for that!
I really hope it is not my fault by a stupid mistake :S

from jsxc.nextcloud.

LEDfan avatar LEDfan commented on August 25, 2024

Yep that will be it probably, we have had problems with the casing of usernames before. I was only testing with usernames in all lower letters. And I only tested to login with a username which has another casing, but that bug was already fixed. I'll patch this ASAP :)

from jsxc.nextcloud.

Nils160988 avatar Nils160988 commented on August 25, 2024

Thanks a lot. This is probably the same reason for the issues with my nextcloud/chat instance, because most of our users have capital letters.
I can find the same database entries.

from jsxc.nextcloud.

Schmuuu avatar Schmuuu commented on August 25, 2024

Well I thought about it again and while I still hope that we found the root cause to be the capital letters, I already doubt it :(
The admin user can have chats with every other user currently (on my server) but only the "normal" users can't.
So if
"from ncadmin to user1"
works, why doesn't
"from User2 to user1"

On the other hand it didn't work to promote User1 to be an admin as well. He still can only chat with the admin.
I wanted to run another test with a new user "demo" (without capital letters), but because the latest debug version didn't have the "roster update"(?) fix I didn't see the new created user in the chat user list :(

Let's hope LEDfan can fix it ;)

from jsxc.nextcloud.

LEDfan avatar LEDfan commented on August 25, 2024

So I added the fix to #33 for easier debugging. A build is available there.

from jsxc.nextcloud.

Schmuuu avatar Schmuuu commented on August 25, 2024

Hi @LEDfan

Sorry for the late response, I had a busy weekend. Nonetheless, yesterday at night I managed to run a test with the new build you provided.
Great job, you fixed it! ๐Ÿ‘ :)

All users received all the messages that haven't been transmitted yet :D

Thanks a lot!

from jsxc.nextcloud.

Nils160988 avatar Nils160988 commented on August 25, 2024

I can confirm that the new build is working :)
All messages are delivered.

from jsxc.nextcloud.

LEDfan avatar LEDfan commented on August 25, 2024

I'm really happy to hear that ๐Ÿ˜ƒ !

from jsxc.nextcloud.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.