Bug 24341

Summary: Add support for multiple points of presence
Product: papyon Reporter: Nicolò Chieffo <84yelo3>
Component: generalAssignee: Louis-Francis Ratté-Boulianne <lfrb>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: nhasian
Version: unspecified   
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/lfrb/papyon/.git;a=shortlog;h=refs/heads/p2pv2
Whiteboard:
i915 platform: i915 features:
Attachments: Convert some gobject timeout_add to timeout_add_seconds. See http://live.gnome.org/GnomeGoals/UseTimeoutAddSeconds

Description Nicolò Chieffo 2009-10-06 01:41:22 UTC
MSN supports multiple login, so you can use your account from multiple locations at the same time (think of your mobile phone and your laptop, for example).
Comment 1 Olivier Crête 2009-10-09 16:11:13 UTC
This requires implementing P2Pv2, the rest is mostly trivial.
Comment 2 Olivier Le Thanh Duong 2010-03-12 16:06:36 UTC
*** Bug 22944 has been marked as a duplicate of this bug. ***
Comment 3 Olivier Crête 2010-04-08 17:00:37 UTC
Moving this to papyon where it belongs.

If someone feel like implementing it, the details about P2Pv2 are at:

http://code.google.com/p/msnp-sharp/wiki/KB_MSNC12_BinaryHeader
Comment 4 Louis-Francis Ratté-Boulianne 2010-07-17 22:20:58 UTC
Mostly functional in one of my branches (see URL).

Feel free to test it out so I can merge it eventually. Note that you have to modify tp-butterfly (or any other client) to use MSNP18. (Argument of Client constructor). Default is still MSNP15.
Comment 5 Riccardo (c10ud) 2010-07-26 11:51:54 UTC
[20:46] <C10uD> lfrb, +        source = gobject.timeout_add(int(time * 1000), self.on_timeout, name) = BAD
[20:46] <C10uD> lfrb, +        source = gobject.timeout_add_seconds(int(time), self.on_timeout, name) = GOOD

[20:47] <C10uD> it's not a bug, but i remember reading some time ago in gnome-something that there's difference between those two gobject calls, and the first generates more wakeups than the second 
[20:48] <C10uD> i didn't really grep'd all papyon source, i just found this while reading msnp18 branch
Comment 6 Riccardo (c10ud) 2010-07-26 14:44:41 UTC
Created attachment 37404 [details] [review]
Convert some gobject timeout_add to timeout_add_seconds. See http://live.gnome.org/GnomeGoals/UseTimeoutAddSeconds
Comment 7 Jonny Lamb 2010-08-06 07:41:37 UTC
I've been running butterfly on top of this branch for a while now and it seems to work fine.

I reckon we should just merge and release it and then get our hoard of users to test it. What do you think?
Comment 8 Riccardo (c10ud) 2010-08-18 03:56:11 UTC
[12:46:18 DEBUG papyon.transport] >>> OUT 4
[12:46:18 DEBUG papyon.transport] <<< BYE mail@provider.com
Traceback (most recent call last):
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/switchboard_manager.py", line 78, in <lambda>
    lambda sb, contact: self.__on_user_left(contact))
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/switchboard_manager.py", line 141, in __on_user_left
    self._on_contact_left(contact)
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", line 80, in _on_contact_left
    self.close()
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", line 42, in close
    BaseP2PTransport.close(self)
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 76, in close
    self._transport_manager._unregister_transport(self)
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/transport_manager.py", line 72, in _unregister_transport
    signals = self._transport_signals[transport]
KeyError: <SwitchboardP2PTransport object at 0x31deaf0 (papyon+msnp2p+transport+base+BaseP2PTransport at 0x3028ac0)>
[12:46:18 INFO papyon.protocol.switchboard] Disconnected
Comment 9 Riccardo (c10ud) 2010-08-18 03:56:29 UTC
[12:46:34 DEBUG papyon.transport] <<< MSG mail@provider.com Orfeo 294
	P2P-Dest: 'qwertyzx@hotmail.it'\r\n
	Content-Type: 'application/x-msnmsgrp2p'\r\n
	MIME-Version: '1.0'\r\n
	\r\n
	29 5d 6c 27 c7 15 2f 34 7a 17 00 00 00 00 00 00
	45 1a 00 00 00 00 00 00 cb 02 00 00 20 00 00 00
	6f be 75 03 00 00 00 00 00 00 00 00 00 00 00 00
	[715 bytes of data]
	00 00 00 0c
Traceback (most recent call last):
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/switchboard_manager.py", line 364, in _sb_message_received
    handler._on_message_received(message)
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", line 74, in _on_message_received
    self._on_chunk_received(chunk)
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 103, in _on_chunk_received
    self._send_ack(chunk)
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 159, in _send_ack
    self.send(ack_blob)
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 73, in send
    self._process_send_queues()
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/base.py", line 144, in _process_send_queues
    self._send_chunk(chunk)
  File "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py", line 65, in _send_chunk
    headers = {'P2P-Dest': self.peer.account}
AttributeError: 'NoneType' object has no attribute 'account'


Happened with file transfer and dp transfer
Comment 10 Louis-Francis Ratté-Boulianne 2010-08-23 09:04:08 UTC
(In reply to comment #9)
>   File
> "/home/test/emesene2/emesene/e3/papylib/papyon/papyon/msnp2p/transport/switchboard.py",
> line 65, in _send_chunk
>     headers = {'P2P-Dest': self.peer.account}
> AttributeError: 'NoneType' object has no attribute 'account'

Does it always happen with the same contact ? The only reason I see is that the contact is not in your address book. But then it's weird that you can still transfer files and display pictures...
Comment 11 Louis-Francis Ratté-Boulianne 2010-09-07 12:28:23 UTC
Closing this bug as MPOP has been implemented

Please file another bug for Comment 8 with a more complete log. Thanks.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.