Commit Graph

7089 Commits

Author SHA1 Message Date
levlam
4e6046b9ec Treat all emoji reactions as non-premium. 2022-08-24 23:31:15 +03:00
levlam
663389f19d Support improved updateStickerSets. 2022-08-23 18:24:21 +03:00
levlam
ce845b0753 Process updateUserEmojiStatus. 2022-08-23 18:14:46 +03:00
levlam
b359a09464 Add message.can_report_reactions. 2022-08-23 16:44:20 +03:00
levlam
43f91a9de5 Add td_api::reportMessageReactions. 2022-08-23 14:39:10 +03:00
levlam
d1cc119b9d Use invokeAfter for self-edit queries. 2022-08-22 22:12:00 +03:00
levlam
c0f1a9850d Disallow emoji starting with # as reactions. 2022-08-22 21:51:55 +03:00
levlam
fa07382e5b Explicitly pass default_reaction to send_update_default_reaction_type. 2022-08-22 21:29:09 +03:00
levlam
ef4f0989b1 Update default reaction from other apps. 2022-08-22 15:44:38 +03:00
levlam
c2a62dbc09 Add updateDefaultReactionType. 2022-08-22 15:23:17 +03:00
levlam
2a2787b7ed Add td_api::setDefaultReactionType. 2022-08-16 23:08:36 +03:00
levlam
b14708f0f5 Support reactions with custom emoji. 2022-08-16 22:42:29 +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
96fc91e239 Disable custom animated emoji for bots. 2022-08-22 09:20:37 +03:00
levlam
551d42b9cf Fix compilation error. 2022-08-21 19:57:43 +03:00
levlam
1a8dbf8e4f Improve error logging. 2022-08-21 19:53:50 +03:00
levlam
869e9bd422 Avoid warning about wrong chat order for bots. 2022-08-21 12:46:06 +03:00
levlam
8c5833b009 Delete yet unsent message if receive messageEmpty for the sent message. 2022-08-21 10:08:09 +03:00
levlam
fe714b805b Drop all postponed updates before restoring PTS. 2022-08-21 08:22:58 +03:00
levlam
acbc2cebf4 Process request result in MessagesManager actor context. 2022-08-21 07:24:53 +03:00
levlam
092499a7c6 Use WaitFreeHashSet where appropriate. 2022-08-21 00:20:57 +03:00
levlam
e72d59ea78 Add warning for slow applying of postponed PTS updates. 2022-08-20 15:25:29 +03:00
levlam
4543c485a7 Optimize fix_url. 2022-08-20 13:44:55 +03:00
levlam
0649b7e2fa Add allocation-free fast path to is_common_tld. 2022-08-20 12:56:52 +03:00
levlam
fc9e878539 Optimize is_email_address. 2022-08-20 12:44:22 +03:00
levlam
4206246b0c Simplify match_url code. 2022-08-20 11:34:21 +03:00
levlam
0d2ddc2d56 Allow only domain symbols in user data after first dot to improve performance. 2022-08-19 21:01:39 +03:00
levlam
96cca84a60 Remove source from next_utf8_unsafe. 2022-08-19 16:37:44 +03:00
levlam
a8b3573a00 Always pass non-null pointer to next_utf8_unsafe. 2022-08-19 16:19:58 +03:00
levlam
73f945bd8b Support setting "is_location_visible" option before authorization. 2022-08-19 14:16:53 +03:00
levlam
f99327ca50 Add more CHECK logging. 2022-08-19 00:00:32 +03:00
levlam
515a9cfb48 Minor improvements. 2022-08-18 23:31:14 +03:00
levlam
939f4fa9fd Rename shared_config variables. 2022-08-18 21:51:29 +03:00
levlam
c5b258f097 Explicitly pass options to get_simple_config_*. 2022-08-18 21:45:29 +03:00
levlam
db5ad187d0 Add debug for "Lost promise" errors. 2022-08-18 21:32:36 +03:00
levlam
26bd2c71b3 Remove my_id from Global. 2022-08-18 20:21:40 +03:00
levlam
3de61c80f2 Postpone some getOption requests until initialization. 2022-08-18 19:54:04 +03:00
levlam
266e5d4b16 Fix setting "is_location_visible" option before authorization. 2022-08-18 19:38:30 +03:00
levlam
29b35f3698 Call on_option_updated only after Td is fully inited. 2022-08-18 19:12:15 +03:00
levlam
bece21cc38 Make OptionManager a plain class. 2022-08-18 18:52:59 +03:00
levlam
04b98aa385 Use OptionManager directly if possible. 2022-08-18 17:00:18 +03:00
levlam
fef6ef3c2a Remove conversion from legacy language pack option. 2022-08-18 16:03:58 +03:00
levlam
b772579af1 Fix "utc_time_offset" option updating on launch. 2022-08-18 15:59:32 +03:00
levlam
149d505781 Move option-related functions to OptionManager. 2022-08-18 14:54:57 +03:00
levlam
424e632f9f Combine reload_attach_menu_bots queries. 2022-08-18 13:39:24 +03:00
levlam
4ba7bf4a92 Use send_closure for some request processing. 2022-08-18 13:29:51 +03:00
levlam
552bde9fda Use query_promise in GetContactSignUpNotificationQuery. 2022-08-18 12:55:55 +03:00
levlam
0225f0cab7 Ensure that option values are fetched on launch. 2022-08-18 00:37:19 +03:00
levlam
12abea736f Init base LanguagePackManager fields in constuctor. 2022-08-17 22:49:05 +03:00
levlam
e897298527 Load animation search options on start and remove redundant fields. 2022-08-17 22:16:16 +03:00
levlam
3fe53c7d1d Remove saved_animations_limit binlog option. 2022-08-17 22:00:55 +03:00
levlam
9fddbf4ee8 Remove redundant parameters. 2022-08-17 21:40:03 +03:00
levlam
f9161dccc3 Remove "auth" internal option. 2022-08-17 20:01:03 +03:00
levlam
2ebeca31ca Don't use shared_config directly in Global.cpp. 2022-08-17 19:43:00 +03:00
levlam
3318ffdb20 Proxy all option-related requests through G. 2022-08-17 16:11:13 +03:00
levlam
9f2a6b5fd4 Improve includes. 2022-08-16 09:43:32 +03:00
levlam
febf458091 Move set_default_reaction to MessageReaction.h. 2022-08-15 22:47:02 +03:00
levlam
bbac7baed0 Add setUserSupportInfo. 2022-08-15 16:58:28 +03:00
levlam
f0a89c3dbe Remove process_input_caption in favor of get_formatted_text. 2022-08-15 16:26:51 +03:00
levlam
8b61255387 Add additional parameters to get_formatted_text. 2022-08-15 16:16:50 +03:00
levlam
61fb071b25 Use get_formatted_text in get_web_page_preview. 2022-08-15 15:59:16 +03:00
levlam
b1e43bfbd5 Pass FormattedText to get_first_url. 2022-08-15 15:55:48 +03:00
levlam
47c0f387de Add get_formatted_text function. 2022-08-15 15:37:17 +03:00
levlam
5af4fcc35e Add td_api::getUserSupportInfo. 2022-08-15 14:32:35 +03:00
levlam
383359d767 Do not check local location when cancel file upload. 2022-08-15 13:13:23 +03:00
levlam
8f433070df Minor fixes. 2022-08-14 15:04:08 +03:00
levlam
9a469eef31 Minor fixes. 2022-08-12 18:39:36 +03:00
levlam
e7fa6741aa Support file reference repair for files of attachment menu bots. 2022-08-10 21:12:05 +03:00
levlam
9c7bdb2810 Fix payment form and web view color value sent to the server. 2022-08-10 19:32:07 +03:00
levlam
4754f36808 Fix warning. 2022-08-10 18:38:30 +03:00
levlam
148ded0620 Disable ConfigRecoverer if there are a lot of pending auth keys. 2022-08-10 17:03:38 +03:00
levlam
17a18e8def Always use send_closure_later to keep relative message order. 2022-08-10 16:25:17 +03:00
levlam
9f520f7db2 Asynchronously load reactions on start up. 2022-08-10 15:39:33 +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
2865be8dd7 Store link to parent in FileReferenceManager. 2022-08-09 17:00:36 +03:00
levlam
491e50ac4b Remove outdated note in the documentation. 2022-08-09 13:10:10 +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
286e8b521b Fix storePaymentPurposeGiftedPremium.amount type. 2022-07-29 19:25:49 +03:00
levlam
04613e8d48 Improve password fields documentation. 2022-07-29 16:37:36 +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