Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chatmarkers are not saved to Archive! #166

Open
mightymop opened this issue Jan 20, 2021 · 5 comments · May be fixed by #179
Open

Chatmarkers are not saved to Archive! #166

mightymop opened this issue Jan 20, 2021 · 5 comments · May be fixed by #179

Comments

@mightymop
Copy link
Contributor

mightymop commented Jan 20, 2021

Messages without body-tag are currently not saved in the archive.
However chatmarkers (XEP-333) should be saved, because if a client requests messages from the archive without or a cleared local history, the user can currently not see whether his messages were delivered / read / ... by the opponent or not..

XEP-0313 allows it:

6.1.1 User Archives

A user archive is anticipated to provide the user with the ability to access their prior conversations. To this end, a server SHOULD include in a user archive all of the messages a user sends or receives of type 'normal' or 'chat' that contain a element. A server SHOULD also include messages of type 'groupchat' that have a , but where such history is accessible through another method (e.g. through an archive on the MUC JID), a server MAY exclude these from the archive.
A server MAY include additional non-conversation messages.
A server MAY include messages of type 'headline', but this is not generally suggested.

At a minimum, the server MUST store the elements of a stanza. It is suggested that other elements that are used in a given deployment to supplement conversations (e.g. XHTML-IM payloads) are also stored.
Other elements MAY be stored.

@dwd
Copy link
Member

dwd commented Jan 20, 2021

There is a problem here that in a groupchat of (say) 50 people, to show 20 messages in the scrollback means pulling 1000 messages from MAM. This is pretty painful over a high latency link. I intended XEP-0437 to address these concerns.

@mightymop
Copy link
Contributor Author

mightymop commented Jan 20, 2021

There is a problem here that in a groupchat of (say) 50 people, to show 20 messages in the scrollback means pulling 1000 messages from MAM. This is pretty painful over a high latency link. I intended XEP-0437 to address these concerns.

Normaly clients wont request all messages at once, they should use paging functionality as best practice...

Maybe we could limit saving chatmarkers to messages with type "chat" only

@dwd
Copy link
Member

dwd commented Jan 20, 2021

Well, our clients do not request all messages at once of course, but on high latency links, that just means lots of MAM queries, each costing 1xRTT.

@dwd
Copy link
Member

dwd commented Jan 20, 2021

To clarify, I'm not saying "Don't do this", because we do, and it's useful. But it has severe downsides and it might be worth considering making it an option at best.

@mightymop
Copy link
Contributor Author

To clarify, I'm not saying "Don't do this", because we do, and it's useful. But it has severe downsides and it might be worth considering making it an option at best.

Yes an implementation with option to enable/disable this function would be the best

guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
Using the default SAXReader can be dangerous, if certain properties aren't set. Using a new instance for each stanza that is processed probably requires more resources than is needed. Both issues can be prevented by using `org.jivesoftware.util.SAXReaderUtil`
guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
guusdk added a commit to mightymop/openfire-monitoring-plugin that referenced this issue Mar 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants