Commit Graph

1095 Commits

Author SHA1 Message Date
levlam
63b528f213 Speculatively add channel users added through addChatMembers. 2022-11-17 18:10:26 +03:00
levlam
830806937e Improve source type in on_get_channel_error/on_get_dialog_error. 2022-11-17 14:18:11 +03:00
levlam
9f39aeecdf Add source to invalidate_channel_full. 2022-11-17 14:01:08 +03:00
levlam
bf6a2723ef Various user photo improvements. 2022-11-05 02:07:20 +03:00
levlam
76c13a21bc Don't drop photo cache if only minithumbnail was changed. 2022-11-05 01:25:19 +03:00
levlam
ce2791fae3 Ensure that full photo and is null if unknown. 2022-11-05 01:19:56 +03:00
levlam
bbc3f5dace Immediately drop UserFull photo after changing user photo. 2022-11-05 00:00:23 +03:00
levlam
585b1f1923 Log to ERROR inconsistent chatPhoto and chatPhotoInfo. 2022-11-04 20:33:54 +03:00
levlam
32795d50a1 Delete photo from *FullInfo before sending update*. 2022-11-04 20:31:53 +03:00
levlam
201c4c3a2e Improve error logging. 2022-10-26 13:58:37 +03:00
levlam
f9acc95d3d Disallow message history hiding in forums. 2022-10-25 12:13:34 +03:00
levlam
9b304557c2 Add toggleSupergroupIsForum. 2022-10-25 11:52:45 +03:00
levlam
e96d9f9d68 Add ContactsManager::is_forum_channel. 2022-10-24 18:22:43 +03:00
levlam
1fbd94cc81 Use InvokeAfter for requests changing usernames of the current user. 2022-10-24 17:46:27 +03:00
levlam
303ba8cd23 Use InvokeAfter for requests changing channels. 2022-10-24 17:36:31 +03:00
levlam
6a16492266 Support can_manage_topics administrator right and chat permission. 2022-10-23 13:20:53 +03:00
levlam
e079b684f0 Various improvements. 2022-10-20 13:28:07 +03:00
levlam
24a3b4f86a Add supergroup.is_forum flag. 2022-10-18 14:23:09 +03:00
levlam
5420c3526c Add td_api::forumTopicInfo. 2022-10-17 20:07:06 +03:00
levlam
41262d4629 Immediately succeed reorder usernames queries if they can't change order. 2022-10-17 17:29:13 +03:00
levlam
e42e224154 Add disableAllSupergroupUsernames. 2022-10-17 14:58:47 +03:00
levlam
85b0c0060e Add toggleUsernameIsActive/toggleSupergroupUsernameIsActive. 2022-10-17 14:04:22 +03:00
levlam
e8d7f23e2c Restore support for ContactsManager::on_update_channel_editable_username. 2022-10-17 13:12:02 +03:00
levlam
9b0cea912a Support usernames without editable username. 2022-10-14 17:45:58 +03:00
levlam
b3ab397bcd Support reordering of active usernames. 2022-10-14 15:32:54 +03:00
levlam
897032e0fd Add support for multiple usernames. 2022-10-12 21:04:18 +03:00
levlam
87174e5e81 Update layer to 148. 2022-10-07 18:04:00 +03:00
levlam
85e64fc3b9 Fix cleaning of being loaded imported contacts. 2022-10-22 01:04:29 +03:00
levlam
a54ddc8830 Call MessagesManager::on_dialog_bots_updated even the list of bots wasn't changed. 2022-10-17 17:40:59 +03:00
levlam
c1a3fa633f Move is_valid_username to misc.h. 2022-10-12 16:09:42 +03:00
levlam
9b16702674 Add ContactsManager::get_dialog_search_text. 2022-10-11 20:35:35 +03:00
levlam
62403aac3c Simplify username caching. 2022-10-11 15:13:06 +03:00
levlam
94a8cd0046 Fix checks for *Full initialization to avoid file resaving. 2022-10-06 14:10:33 +03:00
levlam
7ff1ec04b1 Improve log and error messages. 2022-10-05 21:29:05 +03:00
levlam
8d1ee490ad Update response of getChatAvailableMessageSenders. 2022-10-04 17:53:56 +03:00
levlam
aa6ed42734 Add class CustomEmojiId. 2022-10-03 01:26:32 +03:00
levlam
faa738d6a9 Keep only Slice overload of utf8_utf16_substr. 2022-09-22 12:08:34 +03:00
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