←back to thread

89 points rw_grim | 3 comments | | HN request time: 0.408s | source
Show context
relyks ◴[] No.42211603[source]
Am I reading this right? Is the only protocol being supported now the most recent version of IRC? Are there plans for others? Part of Pidgin's "calling card" has been its ability to support many different chat protocols. However, that's become difficult since most protocols have become walled gardens and harder to reverse engineer. I'd imagine supporting Matrix, XMPP, Signal, other protocols with open specifications, etc. would be a good idea
replies(4): >>42211609 #>>42211624 #>>42211652 #>>42211827 #
rw_grim ◴[] No.42211624[source]
yes all the other protocols will eventually be supported. we're a small team of open source developers and these things take time..
replies(2): >>42212017 #>>42212890 #
1. dig1 ◴[] No.42212890[source]
The last time I followed Pidgin development was a while ago, but I'm actively using it for various protocols (slack, discord, googlechat, skype), so I'm curious about the decision to break the API.

I understand that the Pidgin community is small, so claiming that "the other protocols will eventually be supported" seems unrealistic. This change requires the community to take on unnecessary porting work and we are already dealing with constant protocol changes, playing whack-a-mole with protocol providers.

For instance, this guy [1] is doing incredible work, but I doubt he will want to invest his time in unnecessary rewrites unless someone steps in to assist with each plugin.

[1] https://github.com/EionRobb/purple-discord.git

replies(2): >>42213447 #>>42216372 #
2. arghwhat ◴[] No.42213447[source]
Presumably because the old API was broken/lacking/etc. Calling the resulting porting work "unnecessary" without even considering why the API might have been changed is not fair.

The pidgin project is 25 years old, and libpurple is 17 years old. It's entirely fair that a rework is required, and much appreciated that this work is continuing.

3. rw_grim ◴[] No.42216372[source]
So to put this very simply, there is no way in pidgin 2 without breaking API to address a message after it's been displayed. Eion has been hacking around this for years via commands in protocols and then replaying messages and stuff. While this works, it's not a great user experience.

So at a bare minimum we needed to totally change the way messages work. Which inside of a chat client, is a pretty big change. That obviously led to other changes and so on and so on.

As for the other protocols... We needed something to prove out most of the abstractions and trying to prove out abstractions while implementing multiple protocols is a ton of work. But on our radar are new XMPP, Bonjour, and even a Matrix plugin. All of these will be coming from us and will be in tree.

That said, there will not be any proprietary protocols in our official source tree. If you want more information on that, check out this post [1].

As for Eion's plugins, I've been talking to him through much of this as you would expect. Obviously his time is precious and we didn't make this changes to spite him or anything, but we (me specifically) have offered to start porting his protocols for him.

[1] https://dev.to/grim/in-tree-protocols-15ne