3 ms·
Matrix now has two flavours of threading defined and implemented as we experiment with the different approaches: label-based threading in MSC2326[1] (i.e. "filt
by Arathorn 6y ago
Matrix now has two flavours of threading defined and implemented as we experiment with the different approaches: label-based threading in MSC2326[1] (i.e. "filter this room to only show msgs tagged #foo"), and full-blown free-form HN/Reddit/NNTP/SMTP/Twitter style threading in MSC2836[2]. The former is closer to Zulip, and is implemented in Synapse. The latter is closer to HN, and is implemented in Dendrite[3][4].
Clientwise, Element supports neither so far, but we're experimenting with the HN-style threading in a dedicated playground called Cerulean[5]. The idea is to get it working well there, and then figure out how to merge it most effectively into Element. So: it's not ready yet, but it's getting tantalisingly close. We'll probably start hosting a demo version of Cerulean next week so folks can play along and see how it feels :)
[1] https://github.com/matrix-org/matrix-doc/blob/matthew/msc2326/proposals/2326-label-based-filtering.md https://github.com/matrix-org/matrix-doc/blob/matthew/msc232...
[2] https://github.com/matrix-org/matrix-doc/blob/kegan/msc/threading/proposals/2836-threading.md https://github.com/matrix-org/matrix-doc/blob/kegan/msc/thre...
[3] https://github.com/matrix-org/dendrite/pull/1589 https://github.com/matrix-org/dendrite/pull/1589
[4] https://github.com/matrix-org/dendrite/pull/1596 https://github.com/matrix-org/dendrite/pull/1596
[5] https://github.com/matrix-org/cerulean https://github.com/matrix-org/cerulean
- toomuchtodo 6y agoSo...could I write a gateway that provides functionality for threads to be pulled in from HN/Reddit/NNTP/SMTP/Twitter (MSC2836)? Think Epiverse [1] within Matrix and its clients. [1] https://epiverse.co/ https://epiverse.co/
- Arathorn 6y agoYup. Can't wait for someone to implement a Matrix-powered Disqus clone!
- vlmutolo 6y agoWow, it would be really, really interesting for a blog to offer a Matrix room as a "comment section". If you didn't care about threading, you could probably do something like that even today.
- Arathorn 6y agohttps://matrix.org/blog/2020/09/15/gsoc-report-html-embeddable-matrix-chat-rooms https://matrix.org/blog/2020/09/15/gsoc-report-html-embeddab... was a GSOC project this year which heads in that direction. Meanwhile Hydrogen has been built to be embeddable (https://github.com/vector-im/hydrogen-web https://github.com/vector-im/hydrogen-web). And Gitter of course has http://sidecar.gitter.im/ http://sidecar.gitter.im/. But nobody has fully packaged one up as FOSS Disqus/Intercom/etc alt yet. It's a huge and easily-fillable gap in the Matrix ecosystem :)
- andrewperry 6y agoWe've been working on some Web Components that use the js sdk to talk with matrix but have been wondering if we should spend time looking at how the react sdk could be implemented in this use case assuming it would better handle encryption etc... although I think I read recently that the js sdk also handles encryption - but we'd need to add UI for verification to access encrypted rooms which seems likely to be a pain across browser sessions... there's also an issue as to which websites you might trust to share your matrix user token with to post on your behalf (but will check out Hydrogen to see how it handles this). So thinking out loud, for a disqus clone - sticking to unencrypted rooms and web components could be the way to go! Thanks for the GSOC and Hydrogen links - will check them out!
- mxuribe 6y agoThat can definitely be done today: just point a link to a public matrix room...well, the participants would need an account associated to a homeserver first in order to interact...but that's no different - conceptually - than needing to have a disqus account. The benefit of course is that their account can be associated to their __own__ homeserver! In fact, i do this already on my website; though for general contact (like a poorman's contact form), rather than a comment section for blog posts - but the approach works for either perspective.
- SulfurHexaFluri 6y agoI wonder how that would work performance wise since I assume comments sections on blogs are loaded many many more times than they are edited so you would want some super fast caching on it. I guess anything is possible with custom code though.
- deleted 6y ago[deleted]
- mathnmusic 6y agoYou know what would be a great goodwill-building move from Github and Microsoft? Them running a Matrix server instance and provide a chat room for each Github repo. This is what Gitter used to offer. Federation allows even competitors to interoperate.
- andrewperry 6y agoYes, I was actually just looking at it this week!
- pbronez 6y agoEpiverse appears to be a browser extension that automatically shows you Reddit and Hacker News threads about the page you're visiting. Does it send every URL you load to a third-party server to provide this functionality?
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- paulcarroty 6y agoThere's https://github.com/42wim/matterbridge https://github.com/42wim/matterbridge, supports Reddit/Matrix and many more plus API for extensions.
- toomuchtodo 6y agoWow, thanks so much for sharing this!
- the_duke 6y agoI realize it must be annoying to have this topic brought up every time Matrix is mentioned, so thanks for the update! Nested threading could enable some interesting use cases, but I think for many contexts a single nesting level would be better though. Is the current plan to allow customization via room settings?
- Arathorn 6y agoWe haven't got as far as figuring out how to advertise/negotiate the threading flavour of a given room. It'd suck if half the people in the room are trying to use it like IRC and the other half are trying to use it like HN tho!
- inputmice 6y agohttps://xmpp.org/extensions/xep-0030.html https://xmpp.org/extensions/xep-0030.html :)
- mainstreem 6y agoLOL let me get this straight, you implemented 1 type of threading in your old "reference" homeserver, and a second type in the new one that's been incomplete for years? How is this supposed to be supported by all clients, and how is Matrix supposed to be an open protocol, if you can't even maintain feature parity among the first party homeservers? Neither is supported by Element, as you point out, so which one is the "correct" model that a second implementation of the homeserver protocol should follow? Which one should new clients follow? Also, when is Dendrite actually going to be a usable replacement for Synapse? Also, when will you hire an actual professional to represent your company on HN instead of sticking your head into every thread on your product? It makes it seem like you don't have better things to do than be on HN all day. Matrix is an amateur-hour project. I don't understand why it is so popular on HN. I'd rather use Jabber, full stop.
- alexvoda 6y agoDoes Matrix support linearly directed imageboards (e.g.:4chan) style threading? In 4chan threading is done by linking the between posts using the post id permalink (1). This is aided by the UI which allows you to hover over the listed ID and see parents or children. This results in being able to respond to multiple posts in a single post. This means that instead of tree structured threading, DAG style threading is possible. The second consequence is that by default posts are displayed linearly, like an IRC discussion. This linear display results in unlimited nesting depth. Nesting is not dependent on indentation. (1) https://www.4channel.org/faq#quote https://www.4channel.org/faq#quote