4 ms·
XMPP "without extensions" doesn't even have group chats :) A bit of a tangent, but... "XMPP without extensions" is generally not a useful thing to discuss. It'
by MattJ100 3y ago
XMPP "without extensions" doesn't even have group chats :)
A bit of a tangent, but... "XMPP without extensions" is generally not a useful thing to discuss. It's not like XMPP was ever expected to be used without extensions (for IM, at least, which is one of XMPP's most popular use cases).
The core protocol was standardized at the IETF as an RFC. The rest was always governed by the XMPP Standards Foundation.
Server-side message archiving is part of the XSF's compliance requirements for XMPP-based IM, and it is implemented and deployed everywhere, so who cares about "XMPP without extensions"?
These are effectively different layers. E.g. Linux/POSIX is not incomplete just because it doesn't come with a spreadsheet application. However such functionality is expected by most users and provided by most distros.
The modularity is what has allowed the protocol to evolve over the years, rather than being frozen in time (something that happened to IRC, and that IRCv3 is working to fix).
- lxgr 3y agoI know how XMPP is structured in a very modular way, but is there actually a (widely supported) extension for server-side multi user chat archives at this point, i.e. one that allows “Slack-like semantics” for rooms? The ones I’m familiar with only archive direct messages, not group messages (or at least not those sent before joining a given room), and going offline on the last client means leaving a room.
- MattJ100 3y agoQuerying past messages works on both rooms and accounts (XEP-0313). You can filter by id (e.g. "catch up" since some previous message) or by time range (useful for a history browse UI). It has been this way for a long time... I quickly checked the repo history, and Prosody's code for this dates back to 2012.
- lxgr 3y agoBut when I go offline on my last device, I leave the room, right? Can I query the room’s message archive after rejoining? And is there a solution to not display me as having left and rejoined the room to others every time this happens, i.e. persistent room membership?
- MattJ100 3y agoYes, of course you can query the messages - that's why the feature exists, and what XMPP clients use it for. Otherwise we'd be missing messages all the time. I think these days the term "leave" is a bit vague, and it's important to note that what you're talking about is pretty much just down to the UI that clients used for presence in the past. Most clients no longer show presence in that way, because it has been noisy and useless now for many years, and because mobile connectivity is the norm and "offline" does not mean "offline" (thanks to push notifications). Instead they prefer to show membership info instead (which is persistent). Most platforms (Slack, Matrix, etc.) also support presence and membership as separate things. But (as far as I know) they never rendered presence the way you describe ("X has left the chat"), as they were created after the mobile era was already in full swing.
- lxgr 3y agoAh, I didn’t know that membership in MUC was persistent in XMPP! Reading the XEP I got the idea that presence (definitely transient) and membership were the same thing in the scope of MUC. Given those two things, it seems like MUC really does support a Slack-like experience these days. That’s great – it definitely didn’t when I last used XMPP extensively! (Rest in peace, Google Talk XMPP federation – for a while, I could talk to all my friends on Jabber between that and MSN/ICQ bridges.)