<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><html>On Apr 28, 2008, at 10:24 PM, John Bailey wrote:</html><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><a href="mailto:evands@pidgin.im">evands@pidgin.im</a><span class="Apple-converted-space"> </span>wrote:<br><blockquote type="cite">ChangeLog:<span class="Apple-converted-space"> </span><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Added "chat-join-failed" signal, emitted by a new serv_got_join_chat_failed()<br></blockquote><blockquote type="cite">function in server.c. This is emitted with the PurpleConnection and<br></blockquote><blockquote type="cite">chat name and allows a UI or plugin which was expecting a group chat to be<br></blockquote><blockquote type="cite">joined to know if failure occurred.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">serv_got_join_chat_failed() is only called by jabber so far; I know that<br></blockquote><blockquote type="cite">at least oscar should call it some situations, as well, such as when a<span class="Apple-converted-space"> </span><br></blockquote><blockquote type="cite">busted SNAC error is received after trying to join a chat with an invalid<br></blockquote><blockquote type="cite">room name.<br></blockquote><br>This addition of API and a signal forces us to version 2.5.0. <br></span></blockquote></div><br><div>Are we actively avoiding minor version bumps?</div><div><br></div><div>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?</div><div><br></div><div><blockquote type="cite"><span class="Apple-style-span" style="color: rgb(0, 0, 0); ">While I have no issues with bumping our version number, I am curious why this is needed and what<br>benefit it gives us.  Also, do we want to force 2.5.0 now?  If so, I think<br>Sadrul wants to merge the custom smiley stuff.</span></blockquote><br></div><div>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.</div><div><br></div><div>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).</div><div><br></div><div>This allows me to fix <a href="http://trac.adiumx.com/ticket/1874">http://trac.adiumx.com/ticket/1874</a> which [sadly|impressively] is a ticket from 3 years ago.</div><div><br></div><div>-Evan</div><div><br></div><div><br></div><div><br></div><div><br></div></body></html>