Personally I'd prefer XMPP.
Candidates for Mozilla's IRC Successor
91–100 of 219 posts
Re: Candidates for Mozilla's IRC Successor
#92Earlier quoted context omitted.
Everything you dislike about IRC is precisely what I like.
Nothing like firing up google to search for where you might find the chat for the server you happened to connect to so you can see what you missed while you were away or disconnected while waiting for someone in a different timezone to respond.
Re: Candidates for Mozilla's IRC Successor
#93I've read somewhere that matrix server uses too much RAM due to bad design. Personally I'd prefer XMPP.
When Matrix as a protocol settles more, we'll start seeing optimised versions of the server, I'm certain of it.
Re: Candidates for Mozilla's IRC Successor
#94Nothing worse than waking up to a 1000 message backlog you have to sort through to filter out the information relevant to you. Except for Slack, all of their other choices have very poor threading.
They said they had trouble to get it working behind IAM, but Zulip is just a Django application. Surely there's a Django authenticator for Mozilla IAM? I would be very happy to help set it up.
Re: Candidates for Mozilla's IRC Successor
#95Really excited to see Discord rejected. Watching Discord take over open source and free culture communities has been disheartening to say the least.
Re: Candidates for Mozilla's IRC Successor
#96I have full faith that, if I had left a computer running, in the corner of my home, with an IRC client open, it would have been able to maintain a connection to Freenode (not continuously, but just work) for fifteen or more years. Personally I don't think IRC will ever be replaced. Well, it will, but it'll happen when my generation dies and gets fully replaced with the New Shiny. I _hope_ that some sort of real, prop…
I feel like Matrix is basically the "real standard" here that supports a lot more than IRC. The question for me is about how easy it is to build a client for that (IRC is stupid easy, of course). Ideally you should be able to build a Matrix client in something like a Python REPL and like 20 lines of code with an `input` loop at the end. I don't know if that's the case at the moment.
USERNAME='@whoever:matrix.org'; SERVER='https://matrix.org'; ROOM='#test:matrix.org'
read -s -p "Password for $USERNAME:" PASSWORD
TOKEN=`curl -X POST $SERVER/_matrix/client/r0/login --data "{ 'type': 'm.login.password', 'login': '$USERNAME', 'password': '$PASSWORD' }" | jq .access_token`
ROOM_ID=`curl $SERVER/_matrix/client/r0/directory/room/$ROOM | jq .room_id`; curl "$SERVER/_matrix/client/r0/join/$ROOM_ID?access_token=$TOKEN"
(while true; do SYNC=`curl -s $SERVER/_matrix/client/r0/sync?access_token=$TOKEN&timeout=30000&since=$SINCE`
echo $SYNC | jq ".rooms.join.$ROOM_ID.timeline"
SINCE=`echo $SYNC | jq .next_batch`; done) &
while true; do read -p " " INPUT; `curl -s -X POST $SERVER/_matrix/client/r0/rooms/$ROOM_ID/m.room.message?access_token=$TOKEN --data "{ 'body': '$INPUT', 'msgtype': 'm.text'}"`; done
Spread out a bit more with comments: # set your matrix ID & server URL, and the room you want to chat in:
USERNAME='@whoever:matrix.org'
SERVER='https://matrix.org'
ROOM='#test:matrix.org'
# prompt for a password; log in and grab an access_token
read -s -p "Password for $USERNAME:" PASSWORD
TOKEN=`curl -X POST $SERVER/_matrix/client/r0/login --data "{ 'type': 'm.login.password', 'login': '$USERNAME', 'password': '$PASSWORD' }" | jq .access_token`
# resolve the room alias (#test:matrix.org) to a room ID (!vfFxDRtZSSdspfTSEr:matrix.org)
ROOM_ID=`curl $SERVER/_matrix/client/r0/directory/room/$ROOM | jq .room_id`
# check that you're joined to the room (redundant if you know you're already there)
curl "$SERVER/_matrix/client/r0/join/$ROOM_ID?access_token=$TOKEN"
# set a background loop running to receive messages, and use jq to filter out the
# messages for the room you care about from the sync response. For now we print them
# as JSON pretty-printed by jq, but that's not too bad.
(while true;
do SYNC=`curl -s $SERVER/_matrix/client/r0/sync?access_token=$TOKEN&timeout=30000&since=$SINCE`
echo $SYNC | jq ".rooms.join.$ROOM_ID.timeline"
SINCE=`echo $SYNC | jq .next_batch`
done) &
# set a foreground loop running to prompt for your own messages and send them
# into the room as plaintext.
while true;
do read -p " " INPUT;
`curl -s -X POST $SERVER/_matrix/client/r0/rooms/$ROOM_ID/m.room.message?access_token=$TOKEN --data "{ 'body': '$INPUT', 'msgtype': 'm.text'}"`
done
If I have time I'll actually try running & debugging this to be usable and edit the post (but got to run into a meeting now :( ).Needless to say, this'd be much prettier on Python - and you'd prolly want to use a nice SDK like https://github.com/poljar/matrix-nio (see https://matrix.org/blog/2019/07/03/usage-of-matrix-nio/) so you get things like E2E Encryption for free. But doing it in plain bash hopefully gives more of an idea.
Re: Candidates for Mozilla's IRC Successor
#97Re: Candidates for Mozilla's IRC Successor
#98There should be a petition to get them to use ( and thus improve) an open source one, maybe matrix or even rocketchat.
Re: Candidates for Mozilla's IRC Successor
#99Re: Candidates for Mozilla's IRC Successor
#100It's great to see 3/4 of the options are open source! Whatever happens, I really hope the community get behind the open source options and don't let more things get eaten up by commercial silos cough slack cough. I'm partial towards Matrix/Riot.im - the progress made on those projects is awesome and they really have a highly usable product, with bonuses such as e2e encryption and federation.
> they really have a highly usable product Setting up a Matrix server is a lot harder than you might think, especially when you start talking about federation and identity management. The mxisd[1] project has recently disbanded due to what I believe to be philosophical differences with the Matrix maintainers vision of identity management. I like a lot of things about Riot/Synapse, but I would suggest you try setting…