Commit Graph

1151 Commits

Author SHA1 Message Date
levlam
38fb9a2413 Guarantee that all UserFull photos are known or none. 2022-12-23 17:07:53 +03:00
levlam
5e44b04cc2 Always reload full user after changing a photo. 2022-12-23 16:32:14 +03:00
levlam
9d192f5674 Remove unused ContactsManager::on_update_user_photo. 2022-12-23 16:09:45 +03:00
levlam
168d921533 Keep personal and public photos after setting previous profile photo. 2022-12-23 15:36:40 +03:00
levlam
63745c9ace Preload UserFull before deletion of profile photos. 2022-12-23 15:11:00 +03:00
levlam
f3d4492086 Repair personal and public photo with getUserFull. 2022-12-23 14:52:12 +03:00
levlam
c467910ad6 Fix photo.id usages. 2022-12-23 14:30:30 +03:00
levlam
3f55703211 Register suggested profile photos. 2022-12-23 13:19:56 +03:00
levlam
f28fe46746 Don't update cache when suggesting a profile photo. 2022-12-22 22:53:40 +03:00
levlam
a80794ffeb Explicitly call drop_user_full_photos. 2022-12-22 22:38:30 +03:00
levlam
252df2ff43 Drop only needed full profile photos. 2022-12-22 22:23:52 +03:00
levlam
044b1ef6af Avoid duplicate updateChatPhoto updates. 2022-12-22 21:41:43 +03:00
levlam
f6de50e19f Fix some spelling. 2022-12-22 17:04:18 +03:00
levlam
6cb9371061 Add toggleSupergroupHasHiddenMembers. 2022-12-20 15:51:37 +03:00
levlam
8bfc68b3f8 Improve ContactsManager::get_channel_effective_has_hidden_participants. 2022-12-20 15:12:36 +03:00
levlam
299dc26be6 Add phoneNumberInfo.is_anonymous. 2022-12-20 15:01:39 +03:00
levlam
0fe8023cdc Add new flags to basicGroupFullInfo. 2022-12-20 11:17:51 +03:00
levlam
983cb965cf Add supergroupFullInfo.can_hide_members. 2022-12-20 11:04:00 +03:00
levlam
db761e0852 Correctly process received channel participants. 2022-12-19 21:20:14 +03:00
levlam
786cbf990c Add supergroupFullInfo.has_hidden_members. 2022-12-19 20:29:33 +03:00
levlam
f2d8575828 Add supergroupFullInfo.can_toggle_aggressive_anti_spam. 2022-12-19 13:59:09 +03:00
levlam
ab349e1562 Support photo deletion in setUserPersonalProfilePhoto. 2022-12-15 18:39:39 +03:00
levlam
1ee924aeb2 Add suggestUserPersonalProfilePhoto. 2022-12-15 18:12:30 +03:00
levlam
7b8ce74ec2 Allow to set fallback profile photo. 2022-12-15 17:44:26 +03:00
levlam
8de2bc531d Add userFullInfo.fallback_photo. 2022-12-15 17:17:42 +03:00
levlam
121dd73bfb Add ContactsManager::get_user_full_profile_photo_id. 2022-12-15 15:27:22 +03:00
levlam
b2c838f7bb Add td_api::setUserPersonalProfilePhoto. 2022-12-13 14:16:49 +03:00
levlam
0db6fe533b Support personal photo in UserFull. 2022-12-09 18:46:57 +03:00
levlam
f941df4ec7 Add profilePhoto.is_personal flag. 2022-12-09 15:52:21 +03:00
levlam
8e7d5f5594 Update layer to 151. 2022-12-08 20:58:37 +03:00
levlam
4f8844d6d5 Unify parameter order. 2022-12-20 11:27:38 +03:00
levlam
f1eedfaa47 Simplify some usages of optional TL fields. 2022-12-18 22:15:57 +03:00
levlam
5b8161c838 Simplify optional fields access in *Full. 2022-12-16 12:37:49 +03:00
levlam
d2060a2eb3 Improve log messages with time. 2022-12-11 01:32:46 +03:00
levlam
b634948c15 Move static MessageId helpers to MessageId class. 2022-12-10 22:57:41 +03:00
levlam
6977ac94ed Add td_api::searchUserByToken. 2022-12-01 16:54:58 +03:00
levlam
b340e559bb Add td_api::getUserLink. 2022-12-01 15:08:13 +03:00
levlam
bc332ffa37 Make option "anti_spam_bot_user_id" public and allow to load the user without network request. 2022-11-30 13:36:44 +03:00
levlam
5d0a41c807 Send updateUser when Fragment prefixes are changed. 2022-11-30 12:50:16 +03:00
levlam
b0e22e15e2 Add user.has_anonymous_phone_number. 2022-11-30 12:43:54 +03:00
levlam
7e88119c1f Process fragment_prefixes option. 2022-11-29 23:42:29 +03:00
levlam
3d3f73df7a Add td_api::reportSupergroupAntiSpamFalsePositive. 2022-11-25 16:38:00 +03:00
levlam
6827c79570 Add toggleSupergroupIsAggressiveAntiSpamEnabled. 2022-11-25 16:06:04 +03:00
levlam
58e0e5b2ae Add supergroupFullInfo.is_aggressive_anti_spam_enabled. 2022-11-25 15:16:37 +03:00
levlam
92d44a5282 Fix checkChatUsernameResultPublicChatsTooMany spelling. 2022-11-15 14:48:50 +03:00
levlam
a20076b620 Add checkChatUsernameResultUsernamePurchasable. 2022-11-15 14:27:18 +03:00
levlam
af05db3f15 Add td::Hash and use it everywhere instead of unusable std::hash. 2022-11-23 19:37:32 +03:00
levlam
b1ddf9d3a7 Minor fixes. 2022-11-23 16:32:09 +03:00
levlam
c7f7abb6e7 Drop chat message sender when chat become private. 2022-11-21 17:19:23 +03:00
levlam
0b387a61ad Add source to dup_file_id. 2022-11-21 11:40:43 +03:00
levlam
ef71f55ec1 Use WaitFreeHashMap for user photos. 2022-11-20 23:16:21 +03:00
levlam
3b46f78584 Use WaitFreeHashMap for pending_user_photos_. 2022-11-20 22:48:01 +03:00
levlam
fe7ea9bac9 Invalidate ChannelFull instead of running getDifference if appropriate. 2022-11-18 18:05:04 +03:00
levlam
a4a7d7264e Try to add user to channel after unrestricting. 2022-11-18 17:49:11 +03:00
levlam
f18d1455cf Improve parameters name. 2022-11-18 17:05:52 +03:00
levlam
f8e2af3f59 Rename size() to calc_size() for WaitFree hash tables. 2022-11-18 13:16:24 +03:00
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