@MattJ@jbpasquier @dele You were part of this =conversation, so you should know what messages are missing and be able to debug it. I'm available to provide any further detail if necessary.
Designs
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
@alexandre Could please identify at least one message not showing in SIB App, but in the room as confirmed by @MattJ and I will check my chat app to find it and debug from there.
I am not sure about this, but it may be an execptional case of where a new message arrives while the window was being opened and the archived messages being processed. I have seen this behavour before in my own chat app. It displayed the new message immediately and stops processing the archived messages.
I would expect this to be impossible in Prosody's design. If you do a MAM request you will get the results of the MAM query before any other traffic is sent to you.
Is it possible that the issue you described happened on an Openfire server? I've heard of similar things happening in Openfire servers.
By Matthew Wild on 2020-02-19T11:13:41 (imported from GitLab project)
Is it possible that the issue you described happened on an Openfire server? I've heard of similar things happening in Openfire servers.
Possible, but I am in serveral other non-openfire hosted chat rooms. It is more likely a Converse issue and happens when I start the app and open a chat room for the first time. By default Converse asks the XMPP server for the last 50 messages. It then merges what is stored locally in chat history with the archived messages as well as any new messages that arrive while it is doing so. If Prosody guarantees no new messages while these archived messages are sent, there is still the issue of existing messges in localStorage.
The workaround I use is to always clear LocalStoarge when my chat app starts.
Looking at the screenshot Alex posted, When the SIP Chat circle was opened, Converse should have shown the last 50 messages sent by Prosody unless the existing messages in LocalStorage got in the way.
I finally got two test users working today. Thanks @jbpasquier
This is what I found.
Converse is sending message receipts to the server to be stored for one-to-one chat. When chat history is then requested, both receipts and chat messages are returned. In my case case as shown in the log file I attached, only the very last message was returned. The remaining 49 messages were receipts.
For a proper long term solution, I would need to liase with @jcbrand who is extremely busy right now. The solution could be a PR to Converse to stop requesting for receipts to be stored on the server as suggested by @MattJ
In the meanwhile, a short term immediate solution is that we modify archived_messages_page_size to 200 to make sure we get at least 100 bodied messages and enough to fill the page and force Converse to add scrollbars for immediate backward scrolling.
@MattJ and I did some more analysis of this and it turns out that it is a bug in Converse. It requests for receipts to be stored for messages that already have receipts filling up the archive with receipts and preventing actual text messages to be retrieved.
The changes I made to the code in the PR are a permant fix.
However, we have accumulated a one-to-one chat archive with more receipts than messages. If a user scrolls back into history, it is quite possible that they would have partial history because excess receipts are retrieved from the archive.
The logical solution would be to purge and cleanup the archive. This is a delicate task and not recomended as it could have a knock on effect elsewhere.
Regarding Converse v7, do we know when it is live?
JC does not have a published public roadmap. Don't know when. If this fix is high priority, then we can hack it into converse 6.
It is not acceptable to let this in production for weeks. We should NEVER let that happen. That's terrible for many reasons, the worst being that our users end up thinking that our app and XMPP suck ass, and at the moment it does. I'm not able to talk with the fucking thing, and that's the only thing it is suppose to let me do.
If Converse is nowhere near releasing v7, which nobody is able to tell it seems, can we please patch it?
Generally speaking, I want to stress out that you should assess with the help of @rachel what a critical bug is, this is one, and we should NEVER accept to have such a bug in production for a full month. That's terrible.
By Alexandre on 2020-03-10T18:18:03 (imported from GitLab project)
It is a bit confusing updating reponses to the same issue repeated in several places for different people.
If we can't wait for Converse 6.0.2, then here is a patched converse.min.js file I built
converse.min.js
We can't wait a full month. That should never happen, especially not on such a critical bug that prevents the chat from being usable.
@jbpasquier is back tomorrow and should be able to integrate your patched version.
@rachel Probably a valid point regarding the different issues on different repos raised by @dele here. I don't know what's the right way to prevent it. I would gather everything here but... that sounds terrible for many reasons.
If you find a way to streamline the communication cross repo, I'm all for that.
Candid question: can't one issue be shared between two repo?
By Alexandre on 2020-03-11T15:58:43 (imported from GitLab project)
@alexandre no unfortunately one issue = one repo. I would prefer to keep the issue in the SIB chat and prioritize issue from SIB chat and SIB App together for the chat team. Thus leaving only one issue for each problems. But that's something to discuss all together.
Regarding this issue in particular, I agree with @dele here Alex: you, @jbpasquier and I decided last week that we would give another week to check for the converse release. That's what I've communicated to Dele and Matt. So the small problem I see here is that we did this in two different places: the repo and the chat, with two different opinions.
Changing priorities can happened, but we need to have only one source of truth, and we need also a consensus from the team when we change them.
Hmmm... I might have express myself badly, but again, we should never let such a but in production for a full month, and probably not a full week if we havea fix.
I was pushing to contact JC for a quick feedback, not in a week time but more in a few minutes in my mind. Very likely that I expressed myself incorrectly though, not a big deal, but to me it was obvious that we needed to have the info about Converse v7 ASAP and then act upon it. That's what my comment of last week says at least.
Anyway. I'm not sure how to solve the matter between the two repos but from your answer, I think I got that we will now discuss sib-chat issues in the SIB Chat repo only and use SIB App as a tracker only. I'll try to stick to that. If I do it wrong at some point, do not hesitate to tell me.
By Alexandre on 2020-03-11T21:26:22 (imported from GitLab project)
Alexandre: I have had long conversations with Louis, and I only see my last two messages. With Sylvain it is even worse, I see none although we talk together everyday on the app:
However, we have accumulated a one-to-one chat archive with more receipts than messages. If a user scrolls back into history, it is quite possible that they would have partial history because excess receipts are retrieved from the archive. The logical solution would be to purge and cleanup the archive. This is a delicate task and not recomended as it could have a knock on effect elsewhere.
Use the application for a few more days or even weeks so you can have enough history that will not require you to scroll back into the bad data we have retained in the archive
@alexbourlier another workaround on this one would be to not migrate Alpha's history on the future prosody setup. How would you feel about this? Is there any history we feel would be a problem if we loose it? (note that I'm speaking here about Alpha only, not the other instances).
I really think we can do without the history. SIB team will be complacent.
@jbpasquier When do we move alpha to community.startin'blox.com?
@rachel Just so you know. I've asked @Alice-P to tell us what would be the dream onboarding on that new platform. She's dreaming it, and then we'll put it down on paper.