Commit graph

184 commits

Author SHA1 Message Date
Wizou e6a1dbb24d No code change. Just moving methods around 2022-04-06 18:38:54 +02:00
Wizou 5c5b8032b9 Fix race condition on pendingRpcs adding/pulling 2022-03-27 22:29:48 +02:00
Wizou 073056c079 added InputUserBase.UserId helper property 2022-03-23 13:50:43 +01:00
Wizou d0d63547b4 cancellationToken for Channels_GetAllParticipants 2022-03-10 14:39:44 +01:00
Wizou 78d7e250f3 added Messages_GetAllDialogs. UserOrChat(null) returns null 2022-02-27 22:06:13 +01:00
Wizou f282d270ae Retry API call once on error -503 Timeout 2022-02-24 16:44:27 +01:00
Wizou 74bba5721e Updated docs. Negative PingInterval 2022-02-14 15:17:15 +01:00
Wizou 4e07c03a0b CollectUsersChats helper for your dictionaries (min-aware). CollectAccessHash won't collect 'min' access_hash. 2022-02-14 02:02:13 +01:00
Wizou 6646e85e78 more optional parameters. Messages_Search<> helper 2022-02-13 02:50:10 +01:00
Wizou 7570732a3f call CollectField only if CollectAccessHash 2022-02-11 18:05:12 +01:00
Wizou 3fe9002f2e Remove OLDKEY/MTPROTO1 code 2022-02-11 02:43:48 +01:00
Wizou 9b52cad74d Channels_GetAllParticipants: added logs 2022-02-09 23:20:21 +01:00
Wizou 4ebddba95d Channels_GetAllParticipants: restore original name 2022-02-09 22:58:26 +01:00
Wizou 08484fff41 optimized Channels_GetAllParticipantsSlow. Because of Telegram FLOOD_WAITs, no need for parallel queries 2022-02-09 22:27:55 +01:00
Wizou 5e5e51102f renamed Channels_GetAllParticipantsSlow. use clever alphabet and detect lying subcounts to fetch more entries. (WIP) 2022-02-09 22:17:19 +01:00
Wizou 8bbb753c32 fix (uint) unboxing on fields "int flags" (improved) 2022-02-06 23:22:51 +01:00
Wizou 1b1243a758 fix #27: compatibility with Mono/Android 2022-02-04 02:51:14 +01:00
Wizou 72fba55407 Upgrade to layer 138 2022-02-03 16:55:16 +01:00
Wizou e1023ecae6 renamed longitude long_ to lon. UserOrChat now returns null instead of throwing if peer unknown (shouldn't happen anyway). UserOrChat on UpdatesBase 2022-01-29 16:47:47 +01:00
Wizou cdba0f7088 optimize session writes 2022-01-27 17:34:16 +01:00
Wizou 176809a5be Support for custom sessionStore 2022-01-26 22:00:52 +01:00
Wizou 733d106265 store api_id in session file. optional session_key (=api_hash by default) as encryption key 2022-01-25 16:37:09 +01:00
Wizou 8e962178f9 Improved session file writes 2022-01-23 01:28:10 +01:00
Wizou f6e14c7499 Maintain AddressFamily when migrating DCs 2022-01-21 15:22:21 +01:00
Wizou f711948da7 factorize IndirectStream 2022-01-21 01:40:10 +01:00
Wizou 3730cdc7f0 Added helper SendAlbumAsync, and implicit operators/constructors for media 2022-01-20 02:44:43 +01:00
Wizou 79224551e6 Prevent reactor reconnect if Dispose() was called 2022-01-17 16:54:34 +01:00
Wizou 0ed77ef984 Support GZipped array in RpcResult 2022-01-17 15:06:29 +01:00
Wizou cba347dc89 clone TcpHandler & PingInterval for secondary DCs 2022-01-13 14:22:52 +01:00
Wizou 83b4e8a4e7 clean dispose of TlsStream 2022-01-11 04:42:41 +01:00
Wizou d6d656c8fe Support for TLS MTProxy 2022-01-11 04:14:23 +01:00
Wizou 0c1785596d various minor stuff 2022-01-07 00:24:47 +01:00
Wizou 28f099ed1e Transport obfuscation and MTProxy support 2022-01-03 18:15:32 +01:00
Wizou 024c5ba705 More helpers to generically manage Chats & Channels 2021-12-31 08:38:41 +01:00
Wizou e3b7d17d2b Handle BadMsgNotification 16/17 by resynchronizing server time 2021-12-30 23:45:28 +01:00
Wizou e91c20ba8e Added GetFullChat helper 2021-12-30 17:37:25 +01:00
Wizou 86ac336691 DownloadFileAsync supports PhotoStrippedSize 2021-12-28 12:12:38 +01:00
Wizou 9171268d19 DownloadProfilePhotoAsync supports mini thumb 2021-12-28 09:38:22 +01:00
Wizou 72b28e97ba added DownloadProfilePhotoAsync helper 2021-12-28 06:43:33 +01:00
Wizou a4f6d00bd0 fix InformationalVersion 2021-12-21 02:28:35 +01:00
Wizou 45d6e330bc renamed CallAsync as Invoke 2021-12-16 14:51:47 +01:00
Wizou 9cc164b9ec updated ReadMe 2021-12-15 20:55:24 +01:00
Wizou 6e4b90710a Added static metnod InputCheckPassword 2021-12-14 13:39:43 +01:00
Wizou 97c6de4cbb Support the request to resend the verification_code through alternate methods. 2021-12-13 15:28:06 +01:00
Wizou 624f45bd05 Config("user_id") represents a long 2021-12-10 14:19:28 +01:00
Wizou 275ece196b comments 2021-12-09 08:43:20 +01:00
Wizou f289b9e2e5 Correctly handle RPC Error for methods returning bool.
Also don't hang CallAsync on ReadRpcResult deserializing error
2021-12-07 16:35:23 +01:00
Wizou 95d9135bd0 Configurable PingInterval to support slow connections 2021-12-07 15:26:53 +01:00
Wizou f6eb1aa6fd fix never-ending loop in Channels_GetAllParticipants 2021-12-07 15:07:35 +01:00
Wizou 0351ad027f added Channels_GetAllParticipants helper 2021-12-07 00:34:57 +01:00
Wizou 934ee9bae4 GUI compatibility: Detach interactive Config calls from MainThread 2021-12-05 11:47:52 +01:00
Wizou 409cf25619 Fix 444 trying to download from a media_only DC with unnegociated AuthKey 2021-12-05 07:21:30 +01:00
Wizou e1132f653b Handle BadMsgNotification 32/33 by renewing session 2021-12-04 00:14:15 +01:00
Wizou 5e04a51e54 Fix 2FA issue under .NET Fw 4.7.2
minor doc updates
2021-12-01 15:50:35 +01:00
Wizou 934895a81c Gracefully handle a disconnection from an idle secondary DC
(don't reconnect)
2021-11-21 00:43:39 +01:00
Wizou f901319ca4 simplified Help_GetAppConfig access to Json values 2021-11-13 15:09:28 +01:00
Wizou 7ed21d5af4 FloodRetryThreshold, ProgressCallback, don't call Updates_GetState on alt DCs upon reconnection 2021-11-12 20:50:39 +01:00
Wizou c157fba5e4 Move TL methods in Extensions class and TL.Methods namespace. Remove partial modifiers when possible 2021-11-10 17:26:40 +01:00
Wizou 30f20fad0e [rollback] Use records for TL methods
It was a nice idea and it worked but it made the lib 3x larger just for sugar syntax in generated code
2021-11-10 02:17:08 +01:00
Wizou 9e4d67ed86 Use records for TL methods 2021-11-10 01:20:54 +01:00
Wizou 382e78cccc Added some helpers. SendMessage/Media return the transmitted Message. Fixed minor issues 2021-11-09 01:43:27 +01:00
Wizou dbcb6814ff renamed ITLObject to IObject 2021-11-07 16:52:58 +01:00
Wizou fd9ec2eaed Get rid of ITLFunction lambda writer and use declared ITLMethod<Ret> classes instead 2021-11-07 16:50:59 +01:00
Wizou d0be053707 We don't need to store full User in session file anymore 2021-11-07 09:09:15 +01:00
Wizou 14e2437097 Add xmldoc for all public members 2021-11-06 05:22:33 +01:00
Wizou b872e58e28 use Users_GetUsers instead of Updates_GetState in login so we update our User info 2021-11-04 20:10:44 +01:00
Wizou 4418f562cb Log precise version of lib 2021-11-04 03:10:03 +01:00
Wizou e7637011e1 xmldoc for RpcException possible errors and missing type descriptions 2021-11-03 18:20:54 +01:00
Wizou 2c99e21234 add some debug logging 2021-11-01 15:44:40 +01:00
Wizou df2fe83ad2 small improvements to Login methods 2021-10-28 22:48:43 +02:00
Wizou 36e7d4ddbc Reenable incoming Updates after an exception in Reactor 2021-10-28 12:31:34 +02:00
Wizou 984c241a09 Support for proxy 2021-10-25 02:40:15 +02:00
Wizou 5e2ddf41f6 A null config value for "password" will also show a console prompt 2021-10-20 13:08:10 +02:00
Wizou f5b108dc9b Fix compatibility issues with .NET Fw 4.7 2021-10-17 23:35:14 +02:00
Wizou 480697d329 Fix wrong type for MessageBase.ID 2021-10-16 02:01:49 +02:00
Wizou c5c8b49331 Simplify library usage even more 2021-10-15 04:24:34 +02:00
Wizou 98a95376f3 Improved examples documentation 2021-10-13 00:27:40 +02:00
Wizou 609e8a6a2d Added Examples\Program_CollectAccessHash 2021-10-11 16:11:37 +02:00
Wizou 4f9fbfc12c A null config value for "verification_code" will show a console prompt. This allows Environment.GetEnvironmentVariable to be used directly as config callback. 2021-10-11 14:44:49 +02:00
Wizou 87a85bec4b added Examples\Program_DownloadSavedMedia.cs 2021-10-06 08:21:42 +02:00
Wizou d96902a614 Parallelize upload/download of file parts 2021-10-06 07:54:20 +02:00
Wizou b01eed2042 DC disconnect bug fix 2021-10-01 02:44:56 +02:00
Wizou e7c5d2eb27 Better IPv6 support/fallback. Support RpcError in response to an API returning an array 2021-10-01 02:22:26 +02:00
Wizou 52fb2a7831 Fix SHA corruption due to concurrent use of static instance 2021-09-29 04:38:39 +02:00
Wizou 8610f7e809 Handle AUTH_RESTART & PHONE_CODE_INVALID during login 2021-09-29 02:51:48 +02:00
Wizou da5098e8d5 MULTIPLE-CONNECTION! First version that implement parallel active connections to DCs (through Client instances dependent of the main Client instance)
Also improved on:
- reconnection/retry/resent strategy
- start of multiple parallel downloads triggering a new DC connection
2021-09-28 16:12:20 +02:00
Wizou cb35ec3799 tcs use RunContinuationsAsynchronously (much better) 2021-09-27 17:07:56 +02:00
Wizou 78a0a47c50 Fix serialization issue with null string. DownloadFileAsync for documents now returns the MIME type (more accurate) 2021-09-27 03:25:28 +02:00
Wizou c789308d1e Avoid unnecessary Auth_ExportAuthorization. More reliable DownloadFileAsync 2021-09-25 19:43:39 +02:00
Wizou 0e88280d90 Monitor excessive salt changes in a better way 2021-09-24 13:21:35 +02:00
Wizou be4d1aca6b added DownloadFileAsync helpers 2021-09-23 13:13:36 +02:00
Wizou 0b3180917f minor improvements 2021-09-23 09:42:35 +02:00
Wizou 35786ef02a Support multi-DC sessions 2021-09-23 09:27:52 +02:00
Wizou fe7bc6f61c Optimized reactor frame handling 2021-09-23 05:37:00 +02:00
Wizou 223d8984cf Serialize User to Json inside session file to prevent future breaking changes 2021-09-18 07:26:06 +02:00
Wizou f6cc00068a Fix "Invalid frame_len" when downloading files 2021-09-18 02:40:58 +02:00
Wizou e0556af742 Convert empty type hierarchies to enums 2021-09-18 02:11:23 +02:00
Wizou 701795efe9 Start keep-alive pings only after authorization key 2021-09-17 15:13:38 +02:00
Wizou f66872cb32 Fix unencrypted message sending issue after switch to Intermediate protocol 2021-09-17 15:09:12 +02:00
Wizou 37974c70b7 Convert TL functions to extension methods 2021-09-17 04:53:02 +02:00