vysheng / tgl

telegram library
GNU Lesser General Public License v2.1
198 stars 224 forks source link

Sending documents bricks secret chats #63

Open majn opened 9 years ago

majn commented 9 years ago

Sending a document /photos to a secret chat will render the chat unusable. You can still send messages, but you cannot receive messages any longer. I believe that this is an issue with libtgl, as it happens both in telegram-purple and telegram-cli.

Reproduce in telegram-cli:

create_secret_chat PEER send_photo SECRET CHAT PEER /Users/matj/Desktop/photo.png

From this point on, it is only possible to receive messages, but all sending message won't be displayed for the other client any longer.

majn commented 9 years ago

I can provide a few log files, the client that sends the photo is telegram-cli and the client that receives the photo is telegram-purple.

 telegram-cli log:

 create_secret_chat Mein_Handy
 Secret chat !_Mein_Handy updated access_hash
 Encrypted chat !_Mein_Handy is now in wait state
 Secret chat !_Mein_Handy updated status
 0 [14:57]  !_Mein_Handy Blein Festnetz updated layer to 17
 *** 1446386246.846801 qts = 248592273, qts_count = 1
 0 [14:57]  !_Mein_Handy Mein Handy updated layer to 17
 *** 1446386347.361627 qts = 248592276, qts_count = 1
 0 [14:59]  !_Mein_Handy »»» b
 send_photo !_Mein_Handy /Users/matj/Desktop/1441127198430.png
> chat_with_peer !_Mein_Handy
!_Mein_Handy > s
0 [14:59]   !_Mein_Handy <<< s
0 [14:59]  !_Mein_Handy »»» a
!_Mein_Handy > d
0 [15:00]   !_Mein_Handy <<< d
0 [14:59]  !_Mein_Handy »»» s
0 [15:00]  !_Mein_Handy »»» b
!_Mein_Handy > f
0 [15:00]   !_Mein_Handy <<< f

This is the log on the receiving client when the messages are dropped, in this case telegram-purple, but it behaves similar on the iOS or android clients.

14:59:48: gboolean adium_source_remove(guint):63: Source info for 543 not found
14:59:56: gboolean adium_source_remove(guint):63: Source info for 568 not found
14:59:56: (Libpurple: prpl-telegram) qts = 862279828, qts_count = 1
14:59:56: (Libpurple: prpl-telegram) update 0x12bcbd9a (check=0)
14:59:56: (Libpurple: prpl-telegram) Hole in seq in secret chat. in_seq_no = 3, expect_seq_no = 2
14:59:57: (Libpurple: prpl-telegram) ping alarm
14:59:57: (Libpurple: prpl-telegram) ping alarm
14:59:57: (Libpurple: prpl-telegram) ping alarm
14:59:59: (Libpurple: prpl-telegram) Sent query #6212182283603304448 of size 120 to DC 4
14:59:59: gboolean adium_source_remove(guint):63: Source info for 576 not found
14:59:59: (Libpurple: prpl-telegram) Sent query #6212182286621850624 of size 120 to DC 4
15:00:03: gboolean adium_source_remove(guint):63: Source info for 583 not found
15:00:03: (Libpurple: prpl-telegram) qts = 862279829, qts_count = 1
15:00:03: (Libpurple: prpl-telegram) update 0x12bcbd9a (check=0)
15:00:03: (Libpurple: prpl-telegram) Hole in seq in secret chat. in_seq_no = 4, expect_seq_no = 2
15:00:03: (Libpurple: prpl-telegram) ping alarm
15:00:04: (Libpurple: prpl-telegram) qts = 862279830, qts_count = 1
15:00:04: (Libpurple: prpl-telegram) update 0x12bcbd9a (check=0)
15:00:04: (Libpurple: prpl-telegram) Hole in seq in secret chat. in_seq_no = 5, expect_seq_no = 2
15:00:12: (Libpurple: prpl-telegram) ping alarm
15:00:12: (Libpurple: prpl-telegram) ping alarm
15:00:12: (Libpurple: prpl-telegram) ping alarm

Here is the complete log, in case you need it. http://pastebin.com/U2wbw3at