Commit Graph

1058 Commits

Author SHA1 Message Date
levlam
2a41ab0562 Don't add self speculatively to channel members if join requests are enabled in the chat. 2022-09-21 19:04:36 +03:00
levlam
6c91b9aa6b Create all dialogs before initializing inactive_channel_ids_. 2022-09-21 18:55:21 +03:00
levlam
7b6d0ea6b4 Load top reactions from server. 2022-09-12 17:28:58 +03:00
levlam
14a9fda4ef Rename premiumStatus to emojiStatus. 2022-09-07 10:25:21 +03:00
levlam
03af40bc08 Don't add themed premium statuses to recent. 2022-09-02 15:39:07 +03:00
levlam
e212d9c62a Improve logging. 2022-09-02 13:48:06 +03:00
levlam
0974a8c17e Fix adding of a premium status to recent. 2022-09-02 13:16:55 +03:00
levlam
085ac48a9f Send updateUser when premium status expires. 2022-09-01 22:26:04 +03:00
levlam
df53830161 Add parameter setPremiumStatus.duration. 2022-09-01 22:04:33 +03:00
levlam
5d7a36a262 Make updates about change of premium status more robust. 2022-09-01 20:33:41 +03:00
levlam
4370e88352 Add "themed_premium_statuses_sticker_set_id" option. 2022-08-31 19:03:26 +03:00
levlam
1890d45680 Locally update recent premium statuses when changing the status. 2022-08-31 17:46:03 +03:00
levlam
c73fa3ed72 Add td_api::premiumStatus. 2022-08-30 16:48:26 +03:00
levlam
52b973af35 Add class EmojiStatus. 2022-08-30 16:02:25 +03:00
levlam
9b87c2237a Add get_premium_payment_options_object fucntion. 2022-08-26 18:59:29 +03:00
levlam
472fdd248e Remove invalid premium payment options. 2022-08-26 18:03:56 +03:00
levlam
2e31ba5188 Return multiple payment options in premiumState. 2022-08-25 22:51:04 +03:00
levlam
ce845b0753 Process updateUserEmojiStatus. 2022-08-23 18:14:46 +03:00
levlam
d1cc119b9d Use invokeAfter for self-edit queries. 2022-08-22 22:12:00 +03:00
levlam
02b42d7ee6 Add td_api::setPremiumBadge. 2022-08-09 15:49:47 +03:00
levlam
ff039e2195 Add user.premium_badge_custom_emoji_id. 2022-08-08 23:41:06 +03:00
levlam
bb2034ae36 Update layer to 145. 2022-08-08 23:00:06 +03:00
levlam
092499a7c6 Use WaitFreeHashSet where appropriate. 2022-08-21 00:20:57 +03:00
levlam
73f945bd8b Support setting "is_location_visible" option before authorization. 2022-08-19 14:16:53 +03:00
levlam
04b98aa385 Use OptionManager directly if possible. 2022-08-18 17:00:18 +03:00
levlam
3318ffdb20 Proxy all option-related requests through G. 2022-08-17 16:11:13 +03:00
levlam
f342b65500 Check for close status as early as possible. 2022-08-10 14:04:36 +03:00
levlam
12d852abc5 Check for close_flag as early as possible. 2022-08-10 13:57:41 +03:00
levlam
5c46c95ac5 Improve logging. 2022-08-08 19:26:57 +03:00
levlam
74c03d35a7 Ignore chat photo in left basic groups just in case. 2022-08-08 16:42:44 +03:00
levlam
035cec9fb9 Simplify changing file sources. 2022-08-06 13:54:10 +03:00
levlam
44e96081c6 Support file reference repair for bot description photo and animation. 2022-08-06 13:42:35 +03:00
levlam
e5b453d169 Use WaitFreeHashMap in ContactsManager. 2022-08-04 16:18:41 +03:00
levlam
e8b2971a42 Add more checks for HashTable keys. 2022-07-31 01:15:23 +03:00
levlam
bcf2580e09 Add discount_percentage. 2022-07-24 16:18:20 +03:00
levlam
903236bf78 Fix wrong value of status.can_be_edited. 2022-07-18 21:14:04 +03:00
levlam
1a2d1adb0c Fix early return in ContactsManager::drop_user_photos. 2022-07-18 01:43:46 +03:00
levlam
4482ee461d Call update_user and update_user_full in on_set_profile_photo just in case. 2022-07-18 01:39:51 +03:00
levlam
45f68d9e06 Ensure that voice_messages_forbidden is false for non-premium users. 2022-07-17 17:15:15 +03:00
levlam
fcfe9c3996 Add userFullInfo.as_restricted_voice_and_video_note_messages. 2022-07-17 16:59:12 +03:00
levlam
cb33c7b852 Delete min channel in add_channel. 2022-07-15 17:39:23 +03:00
levlam
035f24b8e9 Add userFullInfo.premium_gift_options. 2022-07-01 15:57:38 +03:00
levlam
bc83832e03 Avoid copying when adding users/chats to binlog. 2022-07-23 11:00:46 +03:00
levlam
4cf1e02479 Add multiarg version of Scheduler::destroy_on_scheduler. 2022-07-22 21:21:30 +03:00
levlam
0f87447ffc Asynchronously destroy some big data storages. 2022-07-20 13:40:14 +03:00
levlam
02396be7eb Allow internal links in bio of non-premium users. 2022-07-16 16:10:06 +03:00
levlam
98bfbc9000 Use random_id == 1 in ChangeImportedContacts. 2022-07-12 23:04:01 +03:00
levlam
32bac7bd24 Move Promise to tdutils. 2022-06-27 13:30:18 +03:00
levlam
54fea1a8c5 Reload ChatFull with outdated photo. 2022-06-20 18:40:13 +03:00
levlam
9fb347fd56 Avoid config reload on start. 2022-06-20 14:34:00 +03:00
levlam
b0b98f8f83 Return bio as formatted text. 2022-06-07 18:28:19 +03:00
levlam
8fae960e43 Support premium stickers in secret chats. 2022-06-03 17:31:48 +03:00
levlam
1e417ea212 Minor fixes. 2022-06-02 16:19:16 +03:00
levlam
42ab42c83a Add bio_length_max option. 2022-05-30 03:23:21 +03:00
levlam
59e926350e Add source to DialogInviteLink constructor. 2022-05-25 16:31:17 +03:00
levlam
d4b6d08268 Add is_premium option. 2022-05-19 15:28:06 +03:00
levlam
e28828fb97 Add user.added_to_attachment_menu flag. 2022-05-11 19:30:35 +03:00
levlam
4ba68b5672 Fix bot description photo. 2022-05-07 23:17:04 +03:00
levlam
7cd74e2660 Add user.is_premium flag. 2022-05-02 16:23:48 +03:00
levlam
d351636c83 Store unmodified server join_to_send/join_request flags. 2022-05-02 15:45:35 +03:00
levlam
90287d65ed Add methods for toggling join_to_send_messages and join_by_request. 2022-04-29 18:25:29 +03:00
levlam
1d1a9584a1 Add supergroup.join_to_send_messages/join_by_request. 2022-04-29 17:54:28 +03:00
levlam
61409736ad Support photo and animation in botInfo. 2022-04-19 22:56:58 +03:00
levlam
cfc20397a0 Update layer to 143. 2022-04-19 17:43:24 +03:00
levlam
4bd6bd377b Fix empty chatAdministrators object creation. 2022-06-02 16:34:05 +03:00
levlam
ccbb9183c8 Don't try to load administrators in left basic groups. 2022-05-26 16:02:14 +03:00
levlam
883f6d2286 Copy can_be_deleted flag to Channel to avoid ChannelFull loading. 2022-05-15 12:48:22 +03:00
levlam
c17520fdbc Implement getSupportUser with request promise instead of RequestActor. 2022-05-14 18:54:21 +03:00
levlam
1995cbe6bc Simplify getSupportUser implementation. 2022-05-14 18:29:34 +03:00
levlam
6790c309ac Move data reloading to UpdatesManager. 2022-05-12 16:34:13 +03:00
levlam
c0eb211476 Locally fix until_date before sending it to the server. 2022-05-12 14:38:45 +03:00
levlam
995b06b317 Drop ChatFull/ChannelFull photo after updating chat/channel photo. 2022-05-06 12:41:55 +03:00
levlam
ab3a8282d4 Add warning when receive inconsistent photos in chatPhoto and chatPhotoInfo. 2022-05-04 20:08:32 +03:00
levlam
bf05cf1680 Update user photo from user full photo. 2022-05-04 20:02:35 +03:00
levlam
4652292037 Use count instead of find if appropriate. 2022-05-01 23:03:06 +03:00
levlam
68ad0b4317 Add ContactsManager::get_dialog_id. 2022-04-30 21:13:01 +03:00
levlam
834a541bc3 Add apply_pending_user_photo and use it in on_get_user_full. 2022-04-29 11:23:27 +03:00
levlam
3cdd08feef Add missing flag assignment. 2022-04-29 11:02:53 +03:00
levlam
6a87f0c6ef Avoid updating chat photo minithumbnail to 40x40 full minithumbnail. 2022-04-29 10:50:10 +03:00
levlam
58ff3d5e5d Ignore photo size for fake dialog photo. 2022-04-28 22:29:10 +03:00
levlam
840cedf49c Drop ChatFull/ChannelFull photos if chat/channel photo is different. 2022-04-28 21:18:57 +03:00
levlam
f421cff7f3 Add and use is_same_dialog_photo. 2022-04-28 21:02:44 +03:00
levlam
d106148618 Update chat/channel photo whenever receive new full chat/channel photo. 2022-04-28 20:35:44 +03:00
levlam
17275fe422 Output the number of objects to be freed on closing. 2022-04-25 20:52:44 +03:00
levlam
69eb286067 Avoid expected logging. 2022-04-25 17:59:42 +03:00
levlam
ff6f165551 Fix "attachment menu" spelling. 2022-04-14 22:56:27 +03:00
levlam
163e739302 Add set_promises/fail_promises helper functions. 2022-04-13 17:40:12 +03:00
levlam
295412ed5e Avoid some getChannelFull requests. 2022-04-12 16:59:54 +03:00
levlam
161d34fc15 Keep in chat list empty joined basic groups. 2022-04-08 15:35:21 +03:00
levlam
2b3d3c5efd Apply bot menu button update to non-loaded users. 2022-04-08 04:02:25 +03:00
levlam
6c0438fc69 Minor fixes. 2022-04-07 20:38:22 +03:00
levlam
00c64aba6e Remove openWebApp.from_bot_menu flag. 2022-04-07 18:29:59 +03:00
levlam
4155752cdf Add td_api::getMenuButton. 2022-04-07 17:20:26 +03:00
levlam
62612b9668 Add BotMenuButton. 2022-04-06 20:24:54 +03:00
levlam
a1125be8eb Keep promise non-emptiness in call to send_get_channel_full_query. 2022-04-04 20:20:29 +03:00
levlam
713debab58 Update participant cache after changing their rights. 2022-04-04 17:16:31 +03:00
levlam
7d3f0cb37f Use get_channel_participant in set_channel_participant_status to honor chat member cache. 2022-04-04 16:44:48 +03:00
levlam
e2f9cc399f Pass correct ChannelType to DialogParticipant constructor. 2022-04-04 16:29:46 +03:00
levlam
c3996b4726 Always adjust administrator rights for supergroups and channels. 2022-04-04 16:19:41 +03:00
levlam
1d6488ab09 Add ContactsManager::is_broadcast_channel/is_megagroup_channel helpers. 2022-04-04 15:48:33 +03:00
levlam
a8a343704a Add ChannelType.h. 2022-04-04 15:35:09 +03:00
levlam
7f587c24d9 Replace get_restricted_rights with RestrictedRights constructors. 2022-04-04 14:13:51 +03:00
levlam
4a50db52d8 Replace get_administrator_rights with AdministratorRights constructor. 2022-04-04 13:58:14 +03:00
levlam
8d35ac0b72 Avoid duplicate source in on_get_users/chats. 2022-03-29 15:54:36 +03:00
levlam
2ff0b74af6 Add td_api::getAttachMenuBot. 2022-03-29 15:00:00 +03:00
levlam
759d02770d Allow to use deleteChatHistory to revoke messages for all members in some channels. 2022-03-29 12:14:21 +03:00
levlam
977ebca580 Allow owner to clear basic group history for everyone. 2022-03-28 21:23:12 +03:00
levlam
0375704460 Use get_input_user instead of have_input_user. 2022-03-28 20:26:28 +03:00
levlam
234c7423bf Add userTypeBot.can_be_added_to_attach_menu flag. 2022-03-25 13:02:01 +03:00
levlam
afa00d8b00 Add default administrator rights to botInfo. 2022-03-22 14:52:27 +03:00
levlam
fa4e17fe95 Move bot-only fields in userFullInfo to class botInfo. 2022-03-18 15:04:47 +03:00
levlam
479667dd1a Update layer to 140. 2022-03-18 14:46:01 +03:00
levlam
cb063ac210 Remove wrong CHECK. Fixes #1892. 2022-03-19 21:58:10 +03:00
levlam
4d13e1354e Move ChannelParticipantFilter to separate header. 2022-03-19 21:53:33 +03:00
levlam
26c18680f2 Move DialogParticipantFilter to separate header. 2022-03-19 21:37:46 +03:00
levlam
5d71289b72 Move get_dialog_participant_status to DialogParticipantStatus constructor. 2022-03-18 19:13:22 +03:00
levlam
1f38124861 Use FlatHashSet. 2022-03-11 21:38:48 +03:00
levlam
8b16cf7271 Make all fields in Dependencies class private. 2022-03-11 15:31:28 +03:00
levlam
a136a9d22b Move methods inside Dependencies class. 2022-03-11 15:10:24 +03:00
levlam
ff9f5b88d9 Ignore invite links to deactivated basic groups. 2022-03-11 13:00:25 +03:00
levlam
11d21d7af4 Improve phone number cache. 2022-02-28 22:43:17 +03:00
levlam
a92d1b2ae4 Add td_api::searchUserByPhoneNumber. 2022-02-18 18:13:10 +03:00
levlam
254d74c4a6 Add cache for resolved phone numbers. 2022-02-18 17:22:27 +03:00
levlam
408aa95f76 Remove preloading of users from database before adding them from binlog. It makes no sense, because users will be rewritten by binlog data anyway. 2022-02-22 23:06:37 +03:00
levlam
38fe0cc6fc Preload users from database before adding them from binlog. 2022-02-17 16:09:17 +03:00
levlam
e6aed3b99e Preload contact user to avoid loading all contacts. 2022-02-17 15:14:15 +03:00
levlam
9c62385b02 Don't load contacts after receiving a non-contact. It will be saved to database anyway and deleted from the saved list of contacts after it is loaded if appropriate. 2022-02-16 21:58:57 +03:00
levlam
0d79671f15 Add MessagesManager::update_message_reactions. 2022-02-12 14:15:14 +03:00
levlam
d5d4f4acf7 Fix remaining FlatHashMap usages. 2022-02-10 18:03:03 +03:00
levlam
f5d8e4de83 Use table_remove_if. 2022-02-10 12:23:52 +03:00
levlam
9e6d106585 Minor improvements. 2022-02-10 11:55:32 +03:00
levlam
2b1314295d Check and fix half of FlatHashMap usages. 2022-02-10 00:59:52 +03:00
levlam
b4fda2d45a Use FlatHashMap in mtproto and td_json_client. 2022-02-09 16:05:53 +03:00
levlam
b62ced6d95 Minor improvements. 2022-02-08 00:42:53 +03:00
Arseny Smirnov
86bceb2972 td: replace most of std::unordered_map usages to td::FlatHashMap 2022-02-07 21:21:31 +01:00
levlam
8b92e8f978 Optimize checked insert to std::map. 2022-02-03 16:24:09 +03:00
Arseny Smirnov
ad38f712e8 SequenceDispatcher: hide usage into NetQueryDispatcher 2022-02-01 18:51:36 +03:00
levlam
739d2b292d Add MessageReactions. 2022-01-20 22:54:34 +03:00
levlam
305f2e87e1 Improve logging. 2022-01-19 15:00:11 +03:00
levlam
3becacf304 Add chat.available_reactions and updateChatAvailableReactions. 2022-01-04 16:33:57 +03:00
levlam
14637caa64 Improve condition in get_user. 2022-01-01 12:21:13 +03:00
levlam
8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam
62d4e339de Fix ContactsManager::get_user with min-user for bots. 2021-12-31 16:33:46 +03:00
levlam
d3e1385b8b Add some debug logging. 2021-12-31 16:21:03 +03:00
levlam
feffe4153d Fix ContactsManager::get_user. 2021-12-30 17:39:42 +03:00
levlam
2027819297 Fix ContactsManager::get_input_user. 2021-12-30 15:28:10 +03:00
levlam
ff6615e734 Fix some misprints. 2021-12-23 14:18:32 +03:00
levlam
160ab905f1 Fix handling of min-channels in recent repliers. 2021-12-22 20:15:18 +03:00
levlam
1fd2e3b629 Return information about min-channels. 2021-12-22 16:48:23 +03:00
levlam
758a391e55 Store title and photo of min-channels. 2021-12-22 16:09:34 +03:00
levlam
4e29d0e232 Rename message_ttl_setting to message_ttl. 2021-12-21 14:06:15 +03:00
levlam
3ff9723722 Reload channel full without delay after membership change. 2021-12-21 13:25:11 +03:00
levlam
29bdedb1d0 Reload ChannelFull on join/leave as creator. 2021-12-21 12:58:22 +03:00
levlam
ab89543894 Don't reload ChannelFull in get_channel_participants. 2021-12-20 20:45:35 +03:00
levlam
93464ccd27 Use request promise in getChatAdministrators. 2021-12-18 22:44:25 +03:00
levlam
b060536ae3 Return Result<...> from get_input_user. 2021-12-16 22:46:03 +03:00
levlam
c743f540c5 Log received userFull. 2021-12-16 19:30:38 +03:00
levlam
871f91b896 Add check for administrator rights in reportSupergroupSpam. 2021-12-15 21:45:30 +03:00
levlam
86c4bac69d Allow to simultaneously report supergroup messages from different senders. 2021-12-15 21:39:48 +03:00
levlam
fe6c61f2ea Workaround bogus C4753 MSVC warning. 2021-12-15 20:36:23 +03:00
levlam
9d968d835d Ignore sign_messages flag from min-channels. 2021-12-13 16:10:58 +03:00
levlam
0a01b97921 Improve conditions for calls to on_get_channel_error. 2021-12-10 16:25:14 +03:00
levlam
5a76413990 Minor improvements. 2021-12-10 00:07:59 +03:00
levlam
68212198a0 Improve error message. 2021-12-09 17:49:19 +03:00
levlam
129601b6c1 Add "channel_bot_user_id" option. 2021-12-09 16:36:27 +03:00
levlam
831ca4b975 Rename allow_saving_content to has_private_content. 2021-12-06 21:43:55 +03:00
levlam
ecc8889cac Reload created public dialogs after local list changes. 2021-12-03 20:22:49 +03:00
levlam
fb9bb3cd69 Save and load lists of created public channels. 2021-12-03 20:10:30 +03:00
levlam
a33027a9c1 Preload createdPublicChannels after getDifference. 2021-12-03 16:36:27 +03:00
levlam
03baffcd1f Combine GetCreatedPublicChannels queries. 2021-12-03 15:40:39 +03:00
levlam
93af4377b7 Store created public broadcasts in MessagesManager. 2021-12-03 12:28:33 +03:00
levlam
cffe34e5b2 Update created public channels instead of dropping them when ownership is changed. 2021-12-02 18:10:14 +03:00
levlam
b3bc208d63 Update created public channels after has_location is changed. 2021-12-02 17:12:33 +03:00
levlam
5512700b77 Immediately reload *Full after invalidation in opened chats. 2021-12-01 23:31:10 +03:00
levlam
b8d20ca6bb Improve banning of channels. 2021-11-29 21:59:16 +03:00
levlam
10159fbdf1 Add toggleChatAllowSavingContent. 2021-11-25 11:44:51 +03:00
levlam
d381323f56 Add chat.allow_saving_content flag. 2021-11-24 20:03:38 +03:00
levlam
f1f54a08ab Allow to restrict unaccessible channels in chats. 2021-11-24 15:18:39 +03:00
levlam
0b2207f180 Add td_api::processChatJoinRequests. 2021-11-24 12:02:23 +03:00
levlam
f644dedcfa Replace private forward name before forwarding. 2021-11-22 11:17:28 +03:00
levlam
8f2a09f2cb Add userFullInfo.has_private_forwards. 2021-11-20 22:48:44 +03:00
levlam
993a9e24c4 Remove user_id from reportSupergroupSpam. 2021-11-19 17:12:38 +03:00
levlam
fe8e521a41 Add chat.default_sender_id. 2021-11-12 16:15:19 +03:00
levlam
6ace4fdf36 Update layer to 135. 2021-11-09 19:07:55 +03:00
levlam
3070415ccd Use common QueryCombiner for get chat/channel full requests. 2021-12-06 21:22:56 +03:00
levlam
5dc5b473ea Fix cache update in GetChatInviteImportersQuery. 2021-11-29 15:09:13 +03:00
levlam
25baedaa34 Move dismiss_suggested_action to SuggestedAction.cpp. 2021-11-26 14:48:43 +03:00
levlam
c49c5954ed Immediately drop User.is_changed flags after usage. 2021-11-25 14:18:06 +03:00
levlam
36d4de747f Move website authorization functions to Account.cpp. 2021-11-16 13:13:06 +03:00
levlam
c64cc8ad26 Move account-related methods to Account.cpp. 2021-11-16 13:02:07 +03:00
levlam
922fd9b17b Pass chat member status as DialogParticipantStatus. 2021-11-15 17:57:00 +03:00
levlam
5987ca69ff Move get_message_sender_dialog_id to MessageSender.cpp. 2021-11-15 12:07:52 +03:00
levlam
a56c34c4dd Move get_message_sender_object to MessageSender.cpp. 2021-11-15 01:18:47 +03:00
levlam
c29b096e79 Move logic out of ImportContactsQuery. 2021-11-12 07:37:53 +03:00
levlam
8db8f170f1 Add do_import_contacts. 2021-11-11 21:57:09 +03:00
levlam
9f5a1567f0 Ignore CHANNEL_PRIVATE errors for GetChannelDifferenceQuery after restart. 2021-11-08 17:24:27 +03:00
levlam
b0eca77c9a Improve logging. 2021-11-08 17:11:35 +03:00
levlam
6de2763fac Remove duplicate logging before net queries. 2021-11-08 16:41:16 +03:00
levlam
616b0e6d6f Improve ResultHandler/NetActor td_ private field name. 2021-11-08 15:20:38 +03:00
levlam
5578ecc6b8 Remove NetQuery id from ResultHandler and NetActor. 2021-11-08 14:19:57 +03:00