diff -Nru telepathy-butterfly-0.5.9/butterfly/capabilities.py telepathy-butterfly-0.5.11/butterfly/capabilities.py --- telepathy-butterfly-0.5.9/butterfly/capabilities.py 2010-04-22 20:39:41.000000000 +0200 +++ telepathy-butterfly-0.5.11/butterfly/capabilities.py 2010-05-25 22:38:01.000000000 +0200 @@ -96,7 +96,13 @@ ret = dbus.Dictionary({}, signature='ua(a{sv}as)') for i in handles: handle = self.handle(telepathy.HANDLE_TYPE_CONTACT, i) - ret[handle] = self._contact_caps[handle] + # If the handle has no contact capabilities yet then it + # won't be in the dict. It's fair to return an empty list + # here for its contact caps. + if handle in self._contact_caps: + ret[handle] = dbus.Array(self._contact_caps[handle], signature='(a{sv}as)') + else: + ret[handle] = dbus.Array([], signature='(a{sv}as)') return ret diff -Nru telepathy-butterfly-0.5.9/butterfly/channel/contact_list.py telepathy-butterfly-0.5.11/butterfly/channel/contact_list.py --- telepathy-butterfly-0.5.9/butterfly/channel/contact_list.py 2010-04-14 19:00:59.000000000 +0200 +++ telepathy-butterfly-0.5.11/butterfly/channel/contact_list.py 2010-05-25 22:38:01.000000000 +0200 @@ -25,9 +25,11 @@ from butterfly.util.decorator import async from butterfly.handle import ButterflyHandleFactory +from butterfly.channel import ButterflyChannel __all__ = ['ButterflyContactListChannelFactory'] +logger = logging.getLogger('Butterfly.ContactListChannel') class HandleMutex(object): def __init__(self): @@ -111,6 +113,7 @@ class ButterflyListChannel( + ButterflyChannel, telepathy.server.ChannelTypeContactList, telepathy.server.ChannelInterfaceGroup, papyon.event.AddressBookEventInterface): @@ -120,6 +123,7 @@ self._conn_ref = weakref.ref(connection) telepathy.server.ChannelTypeContactList.__init__(self, connection, manager, props, object_path=object_path) + ButterflyChannel.__init__(self, connection, props) telepathy.server.ChannelInterfaceGroup.__init__(self) papyon.event.AddressBookEventInterface.__init__(self, connection.msn_client) self._populate(connection) @@ -226,13 +230,59 @@ groups = list(handle.pending_groups) handle.pending_groups = set() ab = self._conn.msn_client.address_book + + # We redefine these two callbacks for two reasons: + # + # 1. For failed, we can give a nice warning. + # + # 2. For both callbacks, it is more than likely that calling + # finished_cb() will unlock the mutex and the publish + # channel underneath's _add function will be called. If we + # keep handle in scope, it won't be disposed and the + # publish channel will have the same handle. This fixes a + # few bugs: + # + # I. When the contact doesn't actually exist, calling + # finished_cb after the handle gets disposed means it + # will no longer be in the connection's handle + # dictionary and the publish channel's _add() will + # raise InvalidHandle (see fd.o#27553). This isn't + # actually a problem as the function should return + # anyway but it doesn't get a chance to unlock the + # mutex and it throws an unhandled exception which + # apport users think is crazy. + # + # II. Similar to above, but when the contact does + # actually exist then the publish list wants to act + # appropriately. If the handle has already been + # disposed then it'll raise the same exception and + # won't call the appropriate AB method. + # + # III. When a contact is actually added, instead of the + # handle already having been disposed of, it stays + # around for a bit so you don't add handle n and then + # MembersChanged gets fired for handle n+1. + # + # If these cases aren't in fact in play when this is called, + # then not only am I surprised, but no damage is done. + + def failed_cb(error_code, *cb_args): + logger.warning('Failed to add messenger contact; ' + 'error code: %s' % error_code) + finished_cb() + handle + + def done_cb(*cb_args): + finished_cb() + handle + ab.add_messenger_contact(account, network_id=network, auto_allow=False, invite_message=message.encode('utf-8'), groups=groups, - done_cb=(finished_cb,), - failed_cb=(finished_cb,)) + done_cb=(done_cb,), + failed_cb=(failed_cb,)) @Lockable(mutex, 'rem_subscribe', 'finished_cb') def _remove(self, handle_id, finished_cb): @@ -299,6 +349,12 @@ if contact is not None and contact.is_member(papyon.Membership.ALLOW): return True + # This will occur if the contact doesn't actually exist + # (e.g. nobody@example.com). + if contact is None: + logger.debug('Cannot allow/accept None contact %s' % handle.get_name()) + return True + account = handle.account network = handle.network ab = self._conn.msn_client.address_book diff -Nru telepathy-butterfly-0.5.9/butterfly/channel/im.py telepathy-butterfly-0.5.11/butterfly/channel/im.py --- telepathy-butterfly-0.5.9/butterfly/channel/im.py 2010-04-19 14:52:54.000000000 +0200 +++ telepathy-butterfly-0.5.11/butterfly/channel/im.py 2010-06-08 16:52:03.000000000 +0200 @@ -21,6 +21,7 @@ import logging import weakref import time +import re import dbus import telepathy @@ -178,7 +179,8 @@ id = self._recv_id sender = message.sender timestamp = time.mktime(message.date.timetuple()) - text = message.text + text = re.sub('\r\n', '\n', message.text) + text = re.sub('\r', '\n', text) # Map the id to the offline message so we can remove it # when acked by the client @@ -188,7 +190,7 @@ sender.account, sender.network_id) type = telepathy.CHANNEL_TEXT_MESSAGE_TYPE_NORMAL logger.info("User %r sent a offline message" % handle) - self._signal_text_received(id, timestamp, handle, type, 0, text) + self._signal_text_received(id, timestamp, handle, type, 0, message.display_name, text) self._recv_id += 1 diff -Nru telepathy-butterfly-0.5.9/butterfly/channel/__init__.py telepathy-butterfly-0.5.11/butterfly/channel/__init__.py --- telepathy-butterfly-0.5.9/butterfly/channel/__init__.py 2010-04-14 19:00:59.000000000 +0200 +++ telepathy-butterfly-0.5.11/butterfly/channel/__init__.py 2010-05-25 22:38:01.000000000 +0200 @@ -14,4 +14,48 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA \ Pas de fin de ligne à la fin du fichier. +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import logging +import dbus + +import telepathy + +from butterfly.handle import ButterflyHandleFactory + +__all__ = ['ButterflyChannel'] + +logger = logging.getLogger('Butterfly.Channel') + +class ButterflyChannel(object): + def __init__(self, conn, props): + # If we have InitiatorHandle set in our new channel, use that, + if telepathy.CHANNEL_INTERFACE + '.InitiatorHandle' in props: + self._initiator = conn.handle(telepathy.HANDLE_TYPE_CONTACT, + props[telepathy.CHANNEL_INTERFACE + '.InitiatorHandle']) + + # otherwise use InitiatorID. + elif telepathy.CHANNEL_INTERFACE + '.InitiatorID' in props: + self._initiator = ButterflyHandleFactory(conn, 'contact', + id=props[telepathy.CHANNEL_INTERFACE + '.InitiatorID']) + + # If we don't have either of the above but we requested the channel, + # then we're the initiator. + elif props[telepathy.CHANNEL_INTERFACE + '.Requested']: + self._initiator = conn.GetSelfHandle() + + else: + logger.warning('InitiatorID or InitiatorHandle not set on new channel') + self._initiator = None + + # Don't implement the initiator properties if we don't have one. + if self._initiator: + self._implement_property_get(telepathy.CHANNEL_INTERFACE, { + 'InitiatorHandle': lambda: dbus.UInt32(self._initiator.id), + 'InitiatorID': lambda: self._initiator.name + }) + + self._add_immutables({ + 'InitiatorHandle': telepathy.CHANNEL_INTERFACE, + 'InitiatorID': telepathy.CHANNEL_INTERFACE, + }) diff -Nru telepathy-butterfly-0.5.9/butterfly/channel/media.py telepathy-butterfly-0.5.11/butterfly/channel/media.py --- telepathy-butterfly-0.5.9/butterfly/channel/media.py 2010-04-14 19:00:59.000000000 +0200 +++ telepathy-butterfly-0.5.11/butterfly/channel/media.py 2010-05-25 22:38:01.000000000 +0200 @@ -27,6 +27,7 @@ from butterfly.util.decorator import async from butterfly.handle import ButterflyHandleFactory from butterfly.media import ButterflySessionHandler +from butterfly.channel import ButterflyChannel from telepathy.interfaces import CHANNEL_INTERFACE, CHANNEL_INTERFACE_GROUP,\ CHANNEL_TYPE_STREAMED_MEDIA @@ -38,6 +39,7 @@ class ButterflyMediaChannel( + ButterflyChannel, telepathy.server.ChannelTypeStreamedMedia, telepathy.server.ChannelInterfaceCallState, telepathy.server.ChannelInterfaceGroup, @@ -55,33 +57,14 @@ papyon.event.CallEventInterface.__init__(self, call) papyon.event.ContactEventInterface.__init__(self, conn.msn_client) papyon.event.MediaSessionEventInterface.__init__(self, call.media_session) + ButterflyChannel.__init__(self, conn, props) self._call = call self._handle = handle - self._implement_property_get(CHANNEL_INTERFACE, { - 'InitiatorHandle': lambda: dbus.UInt32(self._initiator.id), - 'InitiatorID': lambda: self._initiator.name - }) - self._implement_property_get(CHANNEL_INTERFACE_GROUP, {'LocalPendingMembers': lambda: self.GetLocalPendingMembersWithInfo() }) - self._add_immutables({ - 'InitiatorHandle': CHANNEL_INTERFACE, - 'InitiatorID': CHANNEL_INTERFACE, - }) - - if CHANNEL_INTERFACE + '.InitiatorHandle' in props: - self._initiator = conn.handle(telepathy.HANDLE_TYPE_CONTACT, - props[CHANNEL_INTERFACE + '.InitiatorHandle']) - elif CHANNEL_INTERFACE + '.InitiatorID' in props: - self._initiator = ButterflyHandleFactory(conn, 'contact', - id=props[CHANNEL_INTERFACE + '.InitiatorHandle']) - else: - logger.warning('InitiatorID or InitiatorHandle not set on new channel') - self._initiator = None - self._session_handler = ButterflySessionHandler(self._conn, self, call.media_session) flags = (telepathy.CHANNEL_GROUP_FLAG_CAN_REMOVE | diff -Nru telepathy-butterfly-0.5.9/butterfly/channel/text.py telepathy-butterfly-0.5.11/butterfly/channel/text.py --- telepathy-butterfly-0.5.9/butterfly/channel/text.py 2010-04-19 14:52:54.000000000 +0200 +++ telepathy-butterfly-0.5.11/butterfly/channel/text.py 2010-06-08 16:51:54.000000000 +0200 @@ -22,6 +22,7 @@ import logging import weakref import time +import re import dbus import telepathy @@ -31,12 +32,14 @@ from telepathy.interfaces import CHANNEL_INTERFACE_MESSAGES from butterfly.handle import ButterflyHandleFactory +from butterfly.channel import ButterflyChannel __all__ = ['ButterflyTextChannel'] logger = logging.getLogger('Butterfly.TextChannel') class ButterflyTextChannel( + ButterflyChannel, telepathy.server.ChannelTypeText, telepathy.server.ChannelInterfaceChatState, ChannelInterfaceMessages, @@ -54,6 +57,7 @@ telepathy.server.ChannelTypeText.__init__(self, conn, manager, props, object_path=object_path) + ButterflyChannel.__init__(self, conn, props) telepathy.server.ChannelInterfaceChatState.__init__(self) ChannelInterfaceMessages.__init__(self) papyon.event.ConversationEventInterface.__init__(self, conn.msn_client) @@ -62,7 +66,7 @@ 'SupportedContentTypes': lambda: ["text/plain"] , 'MessagePartSupportFlags': lambda: 0, 'DeliveryReportingSupport': lambda: telepathy.DELIVERY_REPORTING_SUPPORT_FLAG_RECEIVE_FAILURES, - 'PendingMessages': lambda: self._pending_messages2 + 'PendingMessages': lambda: dbus.Array(self._pending_messages2.values(), signature='aa{sv}') }) self._add_immutables({ @@ -151,18 +155,21 @@ self.Sent(timestamp, message_type, text) self.MessageSent(message, 0, '') - def _signal_text_received(self, id, timestamp, sender, type, flags, text): + def _signal_text_received(self, id, timestamp, sender, type, flags, sender_nick, text): self.Received(id, timestamp, sender, type, flags, text) - headers = {'message-received' : timestamp, - 'pending-message-id' : int(id), - 'message-sender' : int(sender), - 'message-type' : type - } - - body = {'content-type': 'text/plain', - 'content': text - } - message = [headers, body] + headers = dbus.Dictionary({dbus.String('message-received') : dbus.UInt64(timestamp), + dbus.String('pending-message-id') : dbus.UInt32(id), + dbus.String('message-sender') : dbus.UInt32(sender), + dbus.String('message-type') : dbus.UInt32(type) + }, signature='sv') + + if sender_nick not in (None, ''): + headers[dbus.String('sender-nickname')] = dbus.String(sender_nick) + + body = dbus.Dictionary({dbus.String('content-type'): dbus.String('text/plain'), + dbus.String('content'): dbus.String(text) + }, signature='sv') + message = dbus.Array([headers, body], signature='a{sv}') self.MessageReceived(message) def SetChatState(self, state): @@ -211,7 +218,7 @@ out_signature='s', async_callbacks=('_success', '_error')) def SendMessage(self, message, flags, _success, _error): headers = message.pop(0) - message_type = int(headers['message-type']) + message_type = int(headers.get('message-type', telepathy.CHANNEL_TEXT_MESSAGE_TYPE_NORMAL)) if message_type != telepathy.CHANNEL_TEXT_MESSAGE_TYPE_NORMAL: raise telepathy.NotImplemented("Unhandled message type") text = None @@ -237,9 +244,11 @@ self.PendingMessagesRemoved(ids) def ListPendingMessages(self, clear): - ids = self._pending_messages2.keys() - self._pending_messages2 = {} - self.PendingMessagesRemoved(ids) + if clear: + ids = self._pending_messages2.keys() + self._pending_messages2 = {} + self.PendingMessagesRemoved(ids) + return telepathy.server.ChannelTypeText.ListPendingMessages(self, clear) # Redefine GetSelfHandle since we use our own handle @@ -280,9 +289,10 @@ handle = ButterflyHandleFactory(self._conn_ref(), 'contact', sender.account, sender.network_id) type = telepathy.CHANNEL_TEXT_MESSAGE_TYPE_NORMAL - message = message.content logger.info("User %s sent a message" % unicode(handle)) - self._signal_text_received(id, timestamp, handle, type, 0, message) + content = re.sub('\r\n', '\n', message.content) + content = re.sub('\r', '\n', content) + self._signal_text_received(id, timestamp, handle, type, 0, message.display_name, content) self._recv_id += 1 # papyon.event.ConversationEventInterface @@ -297,5 +307,5 @@ @dbus.service.signal(telepathy.CHANNEL_INTERFACE_MESSAGES, signature='aa{sv}') def MessageReceived(self, message): id = message[0]['pending-message-id'] - self._pending_messages2[id] = message + self._pending_messages2[id] = dbus.Array(message, signature='a{sv}') diff -Nru telepathy-butterfly-0.5.9/butterfly/connection.py telepathy-butterfly-0.5.11/butterfly/connection.py --- telepathy-butterfly-0.5.9/butterfly/connection.py 2010-04-19 15:32:05.000000000 +0200 +++ telepathy-butterfly-0.5.11/butterfly/connection.py 2010-05-25 22:38:01.000000000 +0200 @@ -374,9 +374,13 @@ # papyon.event.ClientEventInterface def on_client_error(self, type, error): if type == papyon.event.ClientErrorType.NETWORK: - # Only move onto the next proxy if we've not already tried HTTP. - if self._tried_http is False or \ - (self._tried_http is True and self._use_next_proxy()): + # Only move onto the next proxy if we've not already tried + # HTTP and we're in the connecting state. We don't want to + # connect to HTTP if we're already connected and we lose + # connectivity (see fd.o#26147). + if self._status == telepathy.CONNECTION_STATUS_CONNECTING and \ + (self._tried_http is False or \ + (self._tried_http is True and self._use_next_proxy())): logger.info("Failed to connect, trying HTTP " "(possibly again with another proxy)") self._new_client(use_http=True) diff -Nru telepathy-butterfly-0.5.9/butterfly/handle.py telepathy-butterfly-0.5.11/butterfly/handle.py --- telepathy-butterfly-0.5.9/butterfly/handle.py 2010-04-22 20:37:33.000000000 +0200 +++ telepathy-butterfly-0.5.11/butterfly/handle.py 2010-05-25 22:38:01.000000000 +0200 @@ -55,7 +55,7 @@ def __new__(cls, connection, *args): key = (cls, connection._account[0], args) if key not in cls.instances.keys(): - instance = object.__new__(cls, connection, *args) + instance = object.__new__(cls) cls.instances[key] = instance # TRICKY: instances is a weakdict return instance, True return cls.instances[key], False diff -Nru telepathy-butterfly-0.5.9/ChangeLog telepathy-butterfly-0.5.11/ChangeLog --- telepathy-butterfly-0.5.9/ChangeLog 2010-04-24 13:34:41.000000000 +0200 +++ telepathy-butterfly-0.5.11/ChangeLog 2010-06-08 16:53:32.000000000 +0200 @@ -1,3 +1,182 @@ +commit 3a496cb5594927a85f0774965b0442a071110973 +Author: Jonny Lamb +Date: 2010-06-08 15:33:04 +0100 + + Version 0.5.11. + + Signed-off-by: Jonny Lamb + +commit 67d700f310a869fc16d7b793ae75727cd24e68ce +Author: Jonny Lamb +Date: 2010-06-08 15:45:36 +0100 + + im/text channels: replace \r\n with \n with incoming messages + + Thanks to Rodrigo Virote Kassick for the original patch. + + Signed-off-by: Jonny Lamb + +commit b1e429d079acc30e0c21d662ab35c29a7a94e14f +Author: Jonny Lamb +Date: 2010-06-08 13:34:03 +0100 + + text channel: make sure the correct type gets returned when getting PendingMessages + + First of all, PendingMessages is an array, not a dict, so return what + is expected. Secondly, simply make sure dbus knows exactly what type a + variable is. + + Fixes: fd.o#28354 + + Signed-off-by: Jonny Lamb + +commit 637318774aff25dbd66227fa4dafdf23b1b65eba +Author: Jonny Lamb +Date: 2010-06-08 13:27:19 +0100 + + text channel: don't always remove pending messages when ListPendingMessages is called + + Signed-off-by: Jonny Lamb + +commit acd7e513f549fa4471f0e2e2b3a10c5b5fe51b4a +Author: Jonny Lamb +Date: 2010-06-02 01:31:59 +0100 + + text channel: don't assume message-type is set + + From the spec: + + "The type of message; if omitted, Channel_Text_Message_Type_Normal + MUST be assumed. MAY be omitted for normal chat messages." + + Signed-off-by: Jonny Lamb + +commit 9931e2acefb9291cf2e0747283468d984b035f9f +Author: Olivier Le Thanh Duong +Date: 2010-05-20 23:15:35 +0200 + + Version 0.5.10 + +commit ff542760f41f05c1e77867646d9892c13d75cfa9 +Author: Jonny Lamb +Date: 2010-04-13 16:49:45 +0100 + + channel: fix typo + + Signed-off-by: Jonny Lamb + +commit 5cd642d1d96642b009cbb037a9df8acece0210b2 +Author: Jonny Lamb +Date: 2010-04-04 00:51:46 +0100 + + channel: set Initiator props in all channel types, not just media + + Signed-off-by: Jonny Lamb + +commit eb4ec881377241f49d757af88e5af1f3e1ee4bca +Author: Jonny Lamb +Date: 2010-04-04 00:51:25 +0100 + + channel: add ButterflyChannel class to deal with Initiator props + + Signed-off-by: Jonny Lamb + +commit 7aeed14c60c04589523abebe62a3b152df26e0b7 +Author: Jonny Lamb +Date: 2010-04-16 23:42:37 +0100 + + text channel: append a 'sender-nickname' header on messages with a sender nickname + + Fixes fd.o#25272 + + Signed-off-by: Jonny Lamb + +commit 23a918dc8f6fa64300a42cbc85223a256ee065e7 +Author: Jonny Lamb +Date: 2010-04-27 08:21:35 +0100 + + handle: stop passing args to object.__new__ if __init__ is overridden + + Fixes fd.o#27843 + + Signed-off-by: Jonny Lamb + +commit 930549e850a086481ccf2f433778f2d45e359d91 +Author: Jonny Lamb +Date: 2010-04-27 23:26:30 +0100 + + contact list channel: keep the handle being added around for long enough + + Fixes fd.o#27553 + + Signed-off-by: Jonny Lamb + +commit d3fe72773f3033ddd407d10dc6c4cab48b87cf93 +Author: Jonny Lamb +Date: 2010-04-16 12:48:25 +0100 + + connection: only switch to HTTP mode if we failed during connection + + If we're connected fine directly, and then the cable is pulled, we + don't want to try and connect immediately back using an HTTP + connection, otherwise calling logout will trigger an + AssertionError[0]. + + Additionally, we just don't want that to happen anyway because it's + annoying. If the cable is pulled we need a NetworkError to appear + instead. + + 0. http://launchpadlibrarian.net/44282269/butterfly.txt + + Fixes fd.o#26147 + + Signed-off-by: Jonny Lamb + +commit 2b5d47702f6c4f694d420aacd09c8925f7530f79 +Merge: b38a35b 0050bfb +Author: Olivier Le Thanh Duong +Date: 2010-05-14 00:32:50 +0200 + + Merge remote branch 'jonny/27736' into fix27736 + + Merge both Maiku and Jonny patch which each resulted in a different error, + taken toegether they work fine + + Conflicts: + butterfly/capabilities.py + +commit b38a35b08eaed2afb15fa878463e36405348d1c1 +Author: Mike Ruprecht +Date: 2010-05-13 06:35:30 -0500 + + Add a signature for the dbus.Array's in GetContactCapabilities. + + This prevents me from getting: + process 4592: Array or variant type requires that type uint32 be + written, but end_dict_entry was written. The overall signature + expected here was '' and we are on byte 386 of that signature. + And: + ERROR:dbus.service:Unable to append to + message with signature a{ua{sv}}: : + invalid literal for long() with base 10: + 'org.freedesktop.Telepathy.Channel.Type.Text' + +commit 0050bfb806995542306b7db68405d6a418cc0c11 +Author: Jonny Lamb +Date: 2010-05-03 13:52:28 +0100 + + capabilities: stop raising KeyError for handles with no contact caps yet + + Signed-off-by: Jonny Lamb + +commit cbcbf34abee9d2a2b5ced1d5de5d8fd27884b01d +Author: Jonny Lamb +Date: 2010-04-24 12:39:39 +0100 + + Start 0.5.10 development. + + Signed-off-by: Jonny Lamb + commit edff4cebf8dba3e55a99f0f9d34231a4c6f05f8a Author: Jonny Lamb Date: 2010-04-24 12:34:06 +0100 diff -Nru telepathy-butterfly-0.5.9/configure telepathy-butterfly-0.5.11/configure --- telepathy-butterfly-0.5.9/configure 2010-04-24 13:34:31.000000000 +0200 +++ telepathy-butterfly-0.5.11/configure 2010-06-08 16:53:30.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for telepathy-butterfly 0.5.9. +# Generated by GNU Autoconf 2.65 for telepathy-butterfly 0.5.11. # # Report bugs to . # @@ -552,8 +552,8 @@ # Identity of this package. PACKAGE_NAME='telepathy-butterfly' PACKAGE_TARNAME='telepathy-butterfly' -PACKAGE_VERSION='0.5.9' -PACKAGE_STRING='telepathy-butterfly 0.5.9' +PACKAGE_VERSION='0.5.11' +PACKAGE_STRING='telepathy-butterfly 0.5.11' PACKAGE_BUGREPORT='http://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=butterfly' PACKAGE_URL='' @@ -1180,7 +1180,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures telepathy-butterfly 0.5.9 to adapt to many kinds of systems. +\`configure' configures telepathy-butterfly 0.5.11 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1247,7 +1247,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of telepathy-butterfly 0.5.9:";; + short | recursive ) echo "Configuration of telepathy-butterfly 0.5.11:";; esac cat <<\_ACEOF @@ -1321,7 +1321,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -telepathy-butterfly configure 0.5.9 +telepathy-butterfly configure 0.5.11 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1338,7 +1338,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by telepathy-butterfly $as_me 0.5.9, which was +It was created by telepathy-butterfly $as_me 0.5.11, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2146,7 +2146,7 @@ # Define the identity of the package. PACKAGE='telepathy-butterfly' - VERSION='0.5.9' + VERSION='0.5.11' cat >>confdefs.h <<_ACEOF @@ -2971,7 +2971,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by telepathy-butterfly $as_me 0.5.9, which was +This file was extended by telepathy-butterfly $as_me 0.5.11, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3024,7 +3024,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -telepathy-butterfly config.status 0.5.9 +telepathy-butterfly config.status 0.5.11 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff -Nru telepathy-butterfly-0.5.9/configure.ac telepathy-butterfly-0.5.11/configure.ac --- telepathy-butterfly-0.5.9/configure.ac 2010-04-24 13:33:49.000000000 +0200 +++ telepathy-butterfly-0.5.11/configure.ac 2010-06-08 16:53:17.000000000 +0200 @@ -6,7 +6,7 @@ dnl The telepathy-python version number (must actually be numeric at the moment) m4_define(telepathy_butterfly_major_version, 0) m4_define(telepathy_butterfly_minor_version, 5) -m4_define(telepathy_butterfly_micro_version, 9) +m4_define(telepathy_butterfly_micro_version, 11) m4_define(telepathy_butterfly_maybe_datestamp, m4_esyscmd([if test x]telepathy_butterfly_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi])) diff -Nru telepathy-butterfly-0.5.9/debian/changelog telepathy-butterfly-0.5.11/debian/changelog --- telepathy-butterfly-0.5.9/debian/changelog 2010-06-08 19:53:37.000000000 +0200 +++ telepathy-butterfly-0.5.11/debian/changelog 2010-06-08 19:53:37.000000000 +0200 @@ -1,3 +1,23 @@ +telepathy-butterfly (0.5.11-0ubuntu1) lucid-proposed; urgency=low + + * New upstream bug fix versions: + Fixes: + - fd.o#28354: make sure the correct type gets returned when getting + PendingMessages. + - Don't always remove pending messages when ListPendingMessages is called. + - Don't assume "message-type" is set on calls to SendMessage. + - Replace \r\n with \n in incoming messages. (lp: #546338) + Enhancements: + - Implement friendly names for groups chats + Fixes: + - Fix error when getting caps for certain contacts and offline contacts + - Remove deprecation warning at start (lp: #570346) + - Set Initator{ID,Handle} for all channels types + - Don't connect via HTTP if we lost connection (lp: #430768) + - Fix crash in check_handle when adding a contact (lp: #512596) + + -- Sebastien Bacher Tue, 08 Jun 2010 18:41:38 +0200 + telepathy-butterfly (0.5.9-0ubuntu1) lucid-proposed; urgency=low * New upstream version: diff -Nru telepathy-butterfly-0.5.9/NEWS telepathy-butterfly-0.5.11/NEWS --- telepathy-butterfly-0.5.9/NEWS 2010-04-24 13:33:32.000000000 +0200 +++ telepathy-butterfly-0.5.11/NEWS 2010-06-08 16:53:17.000000000 +0200 @@ -1,3 +1,31 @@ +telepathy-butterfly-0.5.11 (2010-06-08) +======================================= + +Fixes: + + * fd.o#28354: make sure the correct type gets returned when getting + PendingMessages. + + * Don't always remove pending messages when ListPendingMessages is + called. + + * Don't assume "message-type" is set on calls to SendMessage. + + * Replace \r\n with \n in incoming messages. + +telepathy-butterfly-0.5.10 (2010-05-20) +======================================= + +Enhancements: + * Implement friendly names for groups chats (fd.o #25272) + +Fixes: + * Fix error when getting caps for certain contacts and offline contacts (fd.o #27736) + * Remove deprecation warning at start (fd.o #27843) + * Set Initator{ID,Handle} for all channels types (fd.o #27445) + * Don't connect via HTTP if we lost connection (fd.o #26147) + * Fix crash in check_handle when adding a contact (fd.o #27553) + telepathy-butterfly-0.5.9 (2010-04-24) ======================================