Commit Graph

6630 Commits

Author SHA1 Message Date
levlam
2865be8dd7 Store link to parent in FileReferenceManager. 2022-08-09 17:00:36 +03:00
levlam
8484531d95 Ignore unused appConfig option. 2022-08-09 13:07:54 +03:00
levlam
cee055350a Fix premium_sticker_positions_ initialization. 2022-08-08 21:13:22 +03:00
levlam
8e5d85eb11 Add error logging. 2022-08-08 19:52:29 +03:00
levlam
5c46c95ac5 Improve logging. 2022-08-08 19:26:57 +03:00
levlam
ca95e77845 Avoid expected warning. 2022-08-08 19:20:19 +03:00
levlam
8717720ee9 Add constant for "after get difference" source. 2022-08-08 19:01:50 +03:00
levlam
57947f549d Remove now unneeded restore of PTS in channels. 2022-08-08 18:38:25 +03:00
levlam
594aa2ff6d Use request promise in setStickerSetThumbnail. 2022-08-08 17:31:27 +03:00
levlam
69b1cc7967 Use request promise in createNewStickerSet. 2022-08-08 17:24:01 +03:00
levlam
57de8b5b09 Use request promise in addStickerToSet. 2022-08-08 17:01:04 +03:00
levlam
74c03d35a7 Ignore chat photo in left basic groups just in case. 2022-08-08 16:42:44 +03:00
levlam
a045e8a528 Avoid expected error logging. 2022-08-08 16:42:26 +03:00
levlam
d04527d10e Avoid expected error logging. 2022-08-08 13:19:11 +03:00
levlam
6871340548 Asynchronously update searchStickers cache. 2022-08-08 10:10:23 +03:00
levlam
18948ca87e Disallow reactions on self-destruct media. 2022-08-08 09:44:58 +03:00
levlam
05625491ba Cache found stickers in database. 2022-08-08 00:55:22 +03:00
levlam
2bf7b1e90a Optimize split_stickers_by_premium. 2022-08-07 21:10:15 +03:00
levlam
5304ac7ccf Optimize installed premium stickers traversal in getPremiumStickers. 2022-08-07 20:35:13 +03:00
levlam
36d7adef38 Unify field naming in private StickersManager classes. 2022-08-07 19:47:50 +03:00
levlam
26fe0f73f9 Try to keep 3 other recent reaction choosers. 2022-08-07 15:28:55 +03:00
levlam
ae14546613 Disallow adding new reactions in supergroup if can't send messages there. 2022-08-07 12:48:36 +03:00
levlam
36803d8d28 Improve 'Type of file mismatch' error messages. 2022-08-07 11:55:58 +03:00
levlam
a955e0b9df Improve FileType::operator<<. 2022-08-07 00:42:40 +03:00
levlam
e80e4304a4 Return stickers from installed sticker sets in getPremiumStickers. 2022-08-07 00:33:16 +03:00
levlam
1764cda9fa Automatically load installed sticker sets in StickersManager::get_stickers. 2022-08-06 23:39:54 +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
14fa1d71d9 Append album cover file identifiers to audio file identifiers. 2022-08-06 11:03:48 +03:00
levlam
2867fe3637 Improve get_message_content_file_ids implementation. 2022-08-05 22:59:39 +03:00
levlam
2be350b8fe Support multiple sizes for audio album covers. 2022-08-05 22:43:53 +03:00
levlam
643cecbc16 Consider "disable_animated_emojis" option for custom emojis. 2022-08-05 21:56:05 +03:00
levlam
cb0daf0bef Resolve custom animated emoji stickers. 2022-08-05 20:49:24 +03:00
levlam
3c863517ba Return messageAnimatedEmoji for single custom emoji. 2022-08-05 17:58:16 +03:00
levlam
edaff2eba5 Don't send unneeded user from inlineKeyboardButtonTypeUser for bots. 2022-08-05 16:47:47 +03:00
levlam
feafa4aacc Add chat_id to getStickers. 2022-08-05 14:06:06 +03:00
levlam
da564df855 Add source to load_database_files. 2022-08-04 18:49:05 +03:00
levlam
515bd488fb Use WaitFreeHashMap for dialogs. 2022-08-04 17:38:33 +03:00
levlam
699b421824 Use full variable names for unique_ptr<Dialog>. 2022-08-04 16:30:14 +03:00
levlam
e5b453d169 Use WaitFreeHashMap in ContactsManager. 2022-08-04 16:18:41 +03:00
levlam
779090f4dd Add more WaitFree* classes usages. 2022-08-04 14:48:10 +03:00
levlam
29460cacc8 Use WaitFreeHashMap for document storages. 2022-08-04 10:50:34 +03:00
levlam
8ec29b019a Use get_document if possible. 2022-08-03 23:23:32 +03:00
levlam
bb5d8c0c8d Use WaitFreeHashMap in StickersManager. 2022-08-03 22:42:52 +03:00
levlam
ad72974e70 Simplify implementation of merge_* for documents. 2022-08-03 21:58:07 +03:00
levlam
33623f9818 Remove unused can_delete_old parameter. 2022-08-03 21:38:03 +03:00
levlam
b8d97997a6 Remove expected error logging. 2022-08-02 21:41:18 +03:00
levlam
0c9a309746 Ensure that returned number of poll voters isn't less than the number of known voters. 2022-08-02 21:24:53 +03:00
levlam
e3e7368b17 Improve error message. 2022-08-02 21:12:05 +03:00
levlam
898c5c5cf3 Improve error message. 2022-08-02 19:35:35 +03:00
levlam
a817dc8dd0 Fix double increase of total_timeout in NetQueryDelayer and SequenceDispatcher. 2022-08-02 16:51:56 +03:00
levlam
90b04eb3b6 Use WaitFreeVector in FileManager. 2022-08-02 14:45:22 +03:00
levlam
84dc36bea8 Remove expected logging for qts messages. 2022-08-01 20:47:38 +03:00
levlam
bca2a9c78e Add getPremiumStickers. 2022-08-01 19:21:08 +03:00
levlam
0f77d5c871 Use request promise in td_api::searchStickers. 2022-08-01 18:50:08 +03:00
levlam
d4135d59f6 Return trending custom emoji in getStickers. 2022-08-01 16:56:21 +03:00
levlam
235418521f Rename getPremiumStickers to getPremiumStickerExamples. 2022-08-01 15:42:02 +03:00
levlam
a67155a145 Add source to get_message_content. 2022-08-01 14:45:44 +03:00
levlam
2e687480c0 Allow premium emoji in Saved Messages. 2022-08-01 01:53:36 +03:00
levlam
4d6d1def85 Ignore updateServiceNotification by bots. 2022-08-01 01:42:53 +03:00
levlam
3f1e0a9317 Add explicit limit on the number of saved auth notifications. 2022-08-01 01:39:09 +03:00
levlam
d9cfcf88fe Update version to 1.8.5. 2022-07-31 03:19:36 +03:00
levlam
044aabf329 Fix short_name_to_sticker_set_id_ usages. 2022-07-31 03:17:43 +03:00
levlam
e8b2971a42 Add more checks for HashTable keys. 2022-07-31 01:15:23 +03:00
levlam
fc72eeaff7 Skip more types of empty entities. 2022-07-31 00:44:51 +03:00
levlam
2c9e1767dd Ignore empty entities loaded from database. 2022-07-31 00:34:30 +03:00
levlam
3047262889 Print warning about unusable database messages, only if expected database messages weren't deleted. 2022-07-30 13:02:08 +03:00
levlam
2fb59c4d7b Drop last_database_message_id if deleted the only database message. 2022-07-30 12:55:59 +03:00
levlam
e40fbde299 Check currency amounts received from server. 2022-07-30 03:58:46 +03:00
levlam
fb6f478e6b Simplify LabeledPrice conversion. 2022-07-29 20:01:03 +03:00
levlam
77a79a2c75 Add and use check_currency_amount. 2022-07-29 19:42:27 +03:00
levlam
8f81a46ede Allow some new characters in hashtags. 2022-07-29 16:23:05 +03:00
levlam
8072fe673e Switch back to server-side copy for polls. 2022-07-29 14:58:57 +03:00
levlam
ddbca1bb16 Use different resource limit for upload and download connections. 2022-07-28 17:34:29 +03:00
levlam
fac6b73999 Add audio.album_cover. 2022-07-28 17:11:51 +03:00
levlam
90df870adb Support audio thumbnail download. 2022-07-28 16:47:19 +03:00
levlam
3a275827e9 Add FileManager::is_remotely_generated_file and improve some names. 2022-07-28 15:59:57 +03:00
levlam
86acab5250 Support getMessageThread with non-root messages in supergroups. 2022-07-28 15:06:58 +03:00
levlam
c55baf4c61 Ignore empty custom emoji documents. 2022-07-28 12:56:53 +03:00
levlam
a5da79327d Preload and check all custom emoji in secret chats. 2022-07-27 23:47:16 +03:00
levlam
36c6b84ec8 Add remove_premium_custom_emoji_entities. 2022-07-27 23:36:44 +03:00
levlam
e601012e9f Remove known premium emoji from secret chat messages from non-premium users. 2022-07-27 21:52:42 +03:00
levlam
84202b5554 Add limit on the total number of entities in secret chat messages. 2022-07-27 21:28:43 +03:00
levlam
af607bf611 Support spoiler and custom emoji entities in secret chats. 2022-07-27 21:10:18 +03:00
levlam
6383e7f1b1 Improve remove_unallowed_entities. 2022-07-27 20:35:40 +03:00
levlam
e3ae8957bb Support addemoji links. 2022-07-27 19:58:58 +03:00
levlam
99b39069a4 Document limit on the number of identifiers allowed in getCustomEmojiStickers. 2022-07-26 20:05:48 +03:00
levlam
7cdf1a05bb Update custom emoji once a day. 2022-07-26 19:29:37 +03:00
levlam
59a27e3b15 Get from the server only unknown custom emoji. 2022-07-26 18:48:18 +03:00
levlam
e96a1995a2 Load custom emoji from database, 2022-07-25 23:04:53 +03:00
levlam
f20f015caa Save custom emoji to database. 2022-07-25 21:18:43 +03:00
levlam
8331941754 Support multiple saved credentials. 2022-07-25 19:08:50 +03:00
levlam
366fd53a92 Add class td_api::SpeechRecognitionResult. 2022-07-25 13:47:06 +03:00
levlam
d4b59bda87 Add internalLinkTypeRestorePurchases. 2022-07-25 12:06:32 +03:00
levlam
4e9c7ffbf2 Return custom emoji from in-memory cache if possible. 2022-07-24 19:54:15 +03:00
levlam
bcf2580e09 Add discount_percentage. 2022-07-24 16:18:20 +03:00
levlam
8183e062ab Handle installed sticker sets of incorrect type in the database. 2022-07-24 15:03:54 +03:00
levlam
40b5b586e6 Add sticker_type to getStickers. 2022-07-24 14:53:48 +03:00
levlam
99ae4ada88 Access arrays with pre-casted sticker type. 2022-07-24 14:01:58 +03:00
levlam
f26a33b3d3 Implement StickersManager::is_premium_custom_emoji. 2022-07-22 19:06:39 +03:00
levlam
d361d6e8a1 Add StickersManager::get_custom_emoji_id. 2022-07-22 18:27:12 +03:00
levlam
97ab564e07 Prepare for removing premium custom emoji if have no premium. 2022-07-22 18:11:55 +03:00
levlam
680cce2f6d Remove spoiler and custom emoji entities for messages sent to secret chats. 2022-07-22 17:21:58 +03:00
levlam
833dfcc9db Remove spoiler and custom emoji entities from messages forwarded to secret chats. 2022-07-22 16:47:58 +03:00
levlam
03773d01fd Disallow emoji stickers in secret chats. 2022-07-22 16:11:33 +03:00
levlam
813867eb66 Improve special sticker set loading. 2022-07-22 15:40:24 +03:00
levlam
a81740892d Add messageGiftedPremium.sticker. 2022-07-22 15:01:44 +03:00
levlam
61fe5d0df5 Register GiftPremium messages. 2022-07-22 13:30:24 +03:00
levlam
da7d302dec Increase MessageUnsupported version to reload messages with custom emoji. 2022-07-22 12:15:21 +03:00
levlam
06b10526f1 Increase maximum allowed value for mute_for. 2022-07-22 11:35:09 +03:00
levlam
b5468e4cac Move out StickerType from inputSticker. 2022-07-21 17:31:27 +03:00
levlam
342bf8c41f Preload sticker set before adding a sticker to it. 2022-07-21 16:06:58 +03:00
levlam
310c4d1b6a Always try to fetch mask_position. 2022-07-21 15:54:43 +03:00
levlam
52214f37bc Don't warn when server deletes a custom emoji entity. 2022-07-21 14:10:26 +03:00
levlam
d499fa5834 tg_cli: use real custom emoji identifiers. 2022-07-21 13:54:18 +03:00
levlam
1d7af482fe Support additional payment options in payment form. 2022-07-20 20:44:40 +03:00
levlam
7d94cc9aa8 Remove some unneeded logging. 2022-07-20 18:01:26 +03:00
levlam
771b6d3991 Add td_api::getCustomEmojiStickers. 2022-07-19 16:00:04 +03:00
levlam
ba3f24ed8d Rename stickerTypeEmoji to stickerTypeCustomEmoji. 2022-07-19 14:51:29 +03:00
levlam
219d5ecf87 Add sticker.custom_emoji_id. 2022-07-19 14:45:37 +03:00
levlam
eef3fe5932 Support custom emoji in parse_html. 2022-07-19 14:13:37 +03:00
levlam
8e09a83506 Support custom emoji in MarkdownV2. 2022-07-18 23:40:57 +03:00
levlam
585191bb6f Process stickerSetFullCovered. 2022-07-18 21:44:44 +03:00
levlam
903236bf78 Fix wrong value of status.can_be_edited. 2022-07-18 21:14:04 +03:00
levlam
8673d30109 Add gift support in assignGooglePlayTransaction. 2022-07-18 15:17:01 +03:00
levlam
fd6684ab9d Disallow sending, adding to favorite and recent for emoji stickers. 2022-07-18 14:51:37 +03:00
levlam
2064034364 Rename uploadFile/cancelUploadFile for clarity. 2022-07-18 14:07:50 +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
fb0689545d Add textEntityTypeCustomEmoji. 2022-07-18 01:03:58 +03:00
levlam
7cd65d06a1 Support emoji stickers in get_max_sticker_file_size. 2022-07-17 23:49:46 +03:00
levlam
4442293acf Support trending emoji sticker sets. 2022-07-17 22:39:22 +03:00
levlam
1f2e8d7c57 Check voice_messages_forbidden for private chats before sending messages. 2022-07-17 17:15:48 +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
15e0786632 Add userPrivacySettingAllowPrivateVoiceAndVideoNoteMessages. 2022-07-16 21:20:18 +03:00
levlam
32c7bd8bcd Support thumbnail_document_id. 2022-07-16 17:22:30 +03:00
levlam
577d48cba5 Add premiumFeatureCustomEmoji. 2022-07-16 14:33:54 +03:00
levlam
cb33c7b852 Delete min channel in add_channel. 2022-07-15 17:39:23 +03:00
levlam
347e1b81cf Avoid warnings for changes of restricted messages. 2022-07-15 17:04:41 +03:00
levlam
ddb572b830 Add more debug for have_full_history. 2022-07-15 17:03:40 +03:00
levlam
d506c4732a Add getPremiumGiftOptionSticker. 2022-07-15 16:15:59 +03:00
levlam
2c7493978b Remove unneeded td_api::getAllAnimatedEmojis. 2022-07-15 15:29:19 +03:00
levlam
d3b9b3b7c4 Support premium gifts special sticker set. 2022-07-15 15:24:08 +03:00
levlam
a114133854 Add purpose to canPurchasePremium. 2022-07-15 14:09:37 +03:00
levlam
3bfb3cdbb1 Add explicit flag sticker.is_premium. 2022-07-15 13:37:46 +03:00
levlam
ea8f81187e Support documentAttributeCustomEmoji. 2022-07-14 17:11:36 +03:00
levlam
5bdc4e207b Add stickerTypeEmoji. 2022-07-14 16:42:27 +03:00
levlam
c34f5d063b Use StickerType instead of is_masks everywhere. 2022-07-14 16:17:19 +03:00
levlam
b447c32fe9 Add class StickerType. 2022-07-14 15:02:55 +03:00
levlam
a896edcd14 Move mask_position out of stickerTypeMask. 2022-07-14 14:38:25 +03:00
levlam
7d5dc9fd16 Split sticker format and sticker type in API. 2022-07-14 13:58:33 +03:00
levlam
6817f3fc44 Allow to specify password in deleteAccount. 2022-07-01 21:25:34 +03:00
levlam
54c052adce Add td_api::StorePaymentPurpose. 2022-07-01 19:27:59 +03:00
levlam
035f24b8e9 Add userFullInfo.premium_gift_options. 2022-07-01 15:57:38 +03:00
levlam
4f7113395b Add td_api::messageGiftedPremium. 2022-07-01 15:28:22 +03:00
levlam
e38615b71e Update layer to 144. 2022-07-01 14:33:59 +03:00
levlam
262ea91d9a Drop via_bot from forwarded Audio. 2022-07-25 16:28:46 +03:00
levlam
a63642c8bf Avoid broken server copy for some quizes. 2022-07-24 12:54:49 +03:00
levlam
6c98bec686 Ensure that poll is removed from being_closed_polls_ after request is completed. 2022-07-24 12:19:51 +03:00
levlam
3afbce24b3 Disable getStorageStatisticsFast for bots to reduce disk usage in the main thread. 2022-07-23 23:50:28 +03:00
levlam
2729d44f71 Move DownloadManagerImpl::*_impl functions to private section. 2022-07-23 17:19:18 +03:00
levlam
07cc51c1d5 Add check that download manager database isn't loaded recursively. 2022-07-23 17:16:21 +03:00
levlam
698b34709f Make DownloadManager::add_file asynchronous. 2022-07-23 17:11:25 +03:00
levlam
ec19eaad65 Call FileReferenceManager::get_file_search_text through DownloadManagerCallback. 2022-07-23 17:01:27 +03:00
levlam
061aac58db Make DownloadManager interface mostly asynchronous. 2022-07-23 16:41:03 +03:00
levlam
206becbb9f Safely traverse map. 2022-07-23 14:52:42 +03:00
levlam
03de62b29f Check data validness before initing InlineKeyboardButton. 2022-07-23 13:04:25 +03:00
levlam
1ff1059de8 Fix warning. 2022-07-23 12:59:21 +03:00
levlam
ad8693801f Fix another compilation error. 2022-07-23 12:15:54 +03:00
levlam
8efe57fb6b Fix ForwardMessagesLogEvent. 2022-07-23 12:06:14 +03:00
levlam
c6fc1bb98e Fix compilation error with old compilers. 2022-07-23 12:04:15 +03:00
levlam
3506bc94dc Check messageMediaPoll validness for just sent messages. 2022-07-23 11:32:08 +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
3ffe770d57 Fix generated file parsing. 2022-07-21 13:12:25 +03:00
levlam
4ac8be8122 Check local location of files when adding them to download manager. 2022-07-20 16:46:55 +03:00
levlam
0f87447ffc Asynchronously destroy some big data storages. 2022-07-20 13:40:14 +03:00
levlam
061c4f65d5 Drop context for SemaphoreActor before creation of the actor. 2022-07-20 10:56:48 +03:00
levlam
e8b0983d7b Use std::move to restore ActorContext. 2022-07-20 10:28:31 +03:00
levlam
87a5111399 Fix compilation error. 2022-07-19 12:40:34 +03:00
levlam
6898d07793 Make td_api::saveApplicationLogEvent persistent. 2022-07-18 19:21:47 +03:00
levlam
0147c97f9c Ensure that the same notification doesn't added and removed simultaneously. 2022-07-17 14:17:22 +03:00
levlam
c7fe53ecae Add additional checks in DownloadManager. 2022-07-17 14:02:33 +03:00
levlam
75902bb8a7 Improve logging. 2022-07-17 13:31:43 +03:00
levlam
72bc285637 Delete from database information about unlinked files. 2022-07-16 17:25:28 +03:00
levlam
02396be7eb Allow internal links in bio of non-premium users. 2022-07-16 16:10:06 +03:00
levlam
bedec2c9ba Add StickersManager::get_sticker_set_thumbnail_object. 2022-07-16 15:45:30 +03:00
levlam
abc9ed2cd9 Minor fixes. 2022-07-14 18:38:48 +03:00
Arseny Smirnov
bf80c43c05 fix CE 2022-07-14 18:36:46 +04:00
Arseny Smirnov
7ddc3099f6 remove td::this_thread::yield function. usleep_for(1) used instead 2022-07-14 16:15:17 +04:00
levlam
b8bd39dc6f Fix PaymentSuccessful comparison. 2022-07-14 00:13:52 +03:00
levlam
7618c9aa64 Add get_sticker_type function. 2022-07-13 23:02:46 +03:00
levlam
98bfbc9000 Use random_id == 1 in ChangeImportedContacts. 2022-07-12 23:04:01 +03:00
levlam
c01dd0d461 Increase MessageUnsupported version. 2022-07-12 22:50:28 +03:00
levlam
e44418f2b3 Add and use everywhere OptionsManager::get_synchronous_options(). 2022-07-11 15:36:29 +03:00
levlam
ee7011538a Use OptionManager::get_option_synchronously internally. 2022-07-11 14:01:56 +03:00
levlam
17a548292b Allow to get synchronously options "version" and "commit_hash". 2022-07-11 13:33:56 +03:00
levlam
61f7da7215 Add option "commit_hash". 2022-07-11 12:57:42 +03:00
levlam
4300c64a30 Add Td::get_version_option_value_object(). 2022-07-11 12:47:23 +03:00