pidgin: ae37fe6b: Added "chat-join-failed" signal, emitted...
Evan Schoenberg
evands at pidgin.im
Mon Apr 28 22:39:41 EDT 2008
On Apr 28, 2008, at 10:24 PM, John Bailey wrote:
> evands at pidgin.im wrote:
>> ChangeLog:
>>
>> Added "chat-join-failed" signal, emitted by a new
>> serv_got_join_chat_failed()
>> function in server.c. This is emitted with the PurpleConnection and
>> chat name and allows a UI or plugin which was expecting a group
>> chat to be
>> joined to know if failure occurred.
>>
>> serv_got_join_chat_failed() is only called by jabber so far; I know
>> that
>> at least oscar should call it some situations, as well, such as
>> when a
>> busted SNAC error is received after trying to join a chat with an
>> invalid
>> room name.
>
> This addition of API and a signal forces us to version 2.5.0.
Are we actively avoiding minor version bumps?
Also, just to be clear: Is the reason that this forces to 2.5.0 that
2.4.0 libpurple must be able to work perfectly with plugins compiled
for a theoretical 2.4.2... and those plugins might depend upon this
new signal?
> While I have no issues with bumping our version number, I am curious
> why this is needed and what
> benefit it gives us. Also, do we want to force 2.5.0 now? If so, I
> think
> Sadrul wants to merge the custom smiley stuff.
In any case, this is needed because previously there was no way for a
UI to know that the attempt to join a chat failed. A notification is
posted to tell the user, but this clearly is not the needed
information as it is a string.
Pidgin and Finch may not care about this fact, as they may not create
a GtkChat or GntChat (or whatever the correct struct name is) until
the conversation-created signal is posted. Other UIs which are less
tied to libpurple's internal organization - Adium, for example - may
create the equivalent object (AIChat for Adium) when the request to
join a chat is made rather than once the chat is successfully joined.
Undoing this - releasing the memory, removing it from tracking
dictionaries, etc. - should occur if the chat isn't joined because of
an error. (An easy error to generate is the 409 Conflict error from
trying to join an XMPP conference with a handle which is already in
use).
This allows me to fix http://trac.adiumx.com/ticket/1874 which [sadly|
impressively] is a ticket from 3 years ago.
-Evan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://pidgin.im/pipermail/devel/attachments/20080428/c935e043/attachment.html>
More information about the Devel
mailing list