question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Chat-markers in MUC breaking message delivery?

See original GitHub issue

Expected behavior

I have two separate JSXC users in a MUC room, using separate browsers on separate PCs. Users should be able to send messages to each other continuously without issue.

Actual behavior

Once a ‘chat-marker’ is received on a user’s PC, they can no longer send messages until they delete the group and re-join.

Steps to reproduce the behavior

  1. Set up two JSXC instances, one for each user, log each user in.
  2. Add both users to MUC room.
  3. User 1 sends message to User 2 in MUC.
  4. User 2 reads message.
  5. User 1’s client now shows the delivery receipt ‘eye’ icon and can no longer send messages until they delete the group and re-join.
  6. User 2 sends message to User 1.
  7. User 2’s client also shows the ‘eye’ icon and can no longer send messages either.

Environment

  • JSXC version: 4.1.1 and 4.2.0
  • Host system and version: Windows 10 & Android
  • Browser vendor and version: Chrome mostly but doesn’t matter
  • Any browser plugins enabled? No
  • XMPP server vendor and version: Openfire 4.6.0
  • Is your XMPP server working with other clients as expected? Tried Spark (Windows) and Bruno (Android) but neither seem to support sending a delivery receipt back to JSXC

Logs

JSXC

User 1’s log - sending message to group without issue:

jsxc.bundle.js:2 [Debug] > <body rid=​"3143726355" xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" sid=​"85slxx6zph">​…​</body>​
jsxc.bundle.js:2 [Debug] < <body xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" ack=​"3143726355">​</body>​
jsxc.bundle.js:2 [Debug] < <body xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" ack=​"3143726355">​<message xmlns=​"jabber:​client" id=​"8713d06b-262b-4aa5-9b2b-069418d002e3" to=​"9061275@teletrack.biz/​jsxc-3e01d955" type=​"groupchat" from=​"fb63d1c53b294ff771d7478759f5b3e573eabb87@conference.teletrack.biz/​Steve (9061275)​">​<body>​Test before view​</body>​<origin-id xmlns=​"urn:​xmpp:​sid:​0" id=​"8713d06b-262b-4aa5-9b2b-069418d002e3">​</origin-id>​<stanza-id xmlns=​"urn:​xmpp:​sid:​0" id=​"8713d06b-262b-4aa5-9b2b-069418d002e3" by=​"fb63d1c53b294ff771d7478759f5b3e573eabb87@conference.teletrack.biz">​</stanza-id>​</message>​</body>​
jsxc.bundle.js:2 [Debug] > <body rid=​"3143726356" xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" sid=​"85slxx6zph">​</body>​

User 1’s log - receiving the marker back from User 2:

jsxc.bundle.js:2 [Debug] < <body xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" ack=​"3143726356">​<message xmlns=​"jabber:​client" to=​"9061275@teletrack.biz/​jsxc-3e01d955" type=​"chat" from=​"fb63d1c53b294ff771d7478759f5b3e573eabb87@conference.teletrack.biz/​Fred (9061274)​">​<displayed xmlns=​"urn:​xmpp:​chat-markers:​0" id=​"8713d06b-262b-4aa5-9b2b-069418d002e3">​</displayed>​<store xmlns=​"urn:​xmpp:​hints">​</store>​<stanza-id xmlns=​"urn:​xmpp:​sid:​0" id=​"b18ab682-e16d-4479-a42c-aa7556831dc0" by=​"fb63d1c53b294ff771d7478759f5b3e573eabb87@conference.teletrack.biz/​Steve (9061275)​">​</stanza-id>​</message>​</body>​
jsxc.bundle.js:2 [chat-markers][Debug] "displayed" marker received from "fb63d1c53b294ff771d7478759f5b3e573eabb87@conference.teletrack.biz/Fred (9061274)" to "9061275@teletrack.biz/jsxc-3e01d955"
jsxc.bundle.js:2 [Debug] > <body rid=​"3143726357" xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" sid=​"85slxx6zph">​</body>​

User 1’s log - trying to send another message after receiving marker:

jsxc.bundle.js:2 [Debug] > <body rid=​"3143726358" xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" sid=​"85slxx6zph">​…​</body>​
jsxc.bundle.js:2 [Debug] < <body xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" ack=​"3143726358">​<message xmlns=​"jabber:​client" id=​"f56cc6d1-0150-4716-b6a7-e238cbeb8126" to=​"9061275@teletrack.biz/​jsxc-3e01d955" type=​"error" from=​"fb63d1c53b294ff771d7478759f5b3e573eabb87@conference.teletrack.biz/​Fred (9061274)​">​<body>​Test after view​</body>​<origin-id xmlns=​"urn:​xmpp:​sid:​0" id=​"f56cc6d1-0150-4716-b6a7-e238cbeb8126">​</origin-id>​<stanza-id xmlns=​"urn:​xmpp:​sid:​0" id=​"f56cc6d1-0150-4716-b6a7-e238cbeb8126" by=​"fb63d1c53b294ff771d7478759f5b3e573eabb87@conference.teletrack.biz/​Fred (9061274)​">​</stanza-id>​<error code=​"400" type=​"modify">​<bad-request xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​</bad-request>​<text xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​Unable to process message.​</text>​</error>​</message>​</body>​
jsxc.bundle.js:2 [Debug] < <body xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" ack=​"3143726358">​</body>​
jsxc.bundle.js:2 [Debug] > <body rid=​"3143726359" xmlns=​"http:​/​/​jabber.org/​protocol/​httpbind" sid=​"85slxx6zph">​</body>​

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
mightymopcommented, Dec 25, 2020

I can confirm this bug… if i disable chatmarker plugin in settings it runs fine…

I’ve tested with two instances of jsxc in two seperate browsers (firefox, chrome) on private tabs to prevent caching issues AND Conversations (Android). Server is Openfire 4.6

0reactions
sualkocommented, Dec 27, 2020

I can confirm this issue and will provide a fix asap.

Read more comments on GitHub >

github_iconTop Results From Across the Web

XEP-0333: Chat Markers - XMPP
If one or more of the resources is not connected, it can fetch Chat Markers from the Message Archive upon reconnecting. Message Delivery...
Read more >
XEPs - Prosody Community Modules
XEP-0333 : Chat Markers ... This specification describes a solution of marking the last received, displayed and acknowledged message in a chat. mod_muc_mam_markers ......
Read more >
Missing message delivery status show/query in history (#8526)
Missing message delivery status show/query in history. Some of my messages sent to Conversations have not been received by the other party.
Read more >
Configuration — Converse 10.0.0 documentation
Determines wehether support for XEP-0393 Message Styling hints are enabled or not. allow_muc_invitations¶. Default: true. Allows users to be invited to join MUC...
Read more >
inVerse Plugin Changelog - Ignite Realtime
Better support for XEP-0359 stanza-id and origin-id elements. Bugfix: restore textarea size after sending a message; Bugfix: MUC invite form not ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found