Commit Graph

6845 Commits

Author SHA1 Message Date
levlam
b9bd024969 Update message notifications after external changes of message content. 2022-09-19 16:26:56 +03:00
levlam
bb6fc999f8 Add on_message_notification_changed function. 2022-09-19 16:19:59 +03:00
levlam
618bface99 Save voice message to database when it is recognized. 2022-09-19 11:15:13 +03:00
levlam
8d0cb5b82d Return is_content_changed from update_message_content. 2022-09-19 01:12:20 +03:00
levlam
5cf248ae01 Call on_message_changed after send_update_message_content. 2022-09-19 01:05:23 +03:00
levlam
51403c883c Avoid usage of send_update_message_content with dialog_id. 2022-09-19 00:29:31 +03:00
levlam
91c54cc748 Move send_update_message_content out of update_message_content. 2022-09-19 00:24:15 +03:00
levlam
fcdd1e01d5 Destroy SQLite database if wasn't authorized. 2022-09-18 22:09:57 +03:00
levlam
12a8a5dbda Fix error handling in ReadFeaturedStickerSetsQuery. 2022-09-18 21:57:13 +03:00
levlam
297594af7e Use SqliteDb::destroy instead of plain unlink. 2022-09-18 21:35:16 +03:00
levlam
15db91b536 Update version to 1.8.6. 2022-09-16 21:38:09 +03:00
levlam
aeed5107b7 Fix Slice lifetime. 2022-09-16 13:56:56 +03:00
levlam
b76a920db8 Open Telegraph links in instant view. 2022-09-16 13:51:52 +03:00
levlam
47d4101def Add enum LinkType. 2022-09-16 13:20:19 +03:00
levlam
0025c4164b Add internalLinkTypeInstantView. 2022-09-16 01:30:54 +03:00
levlam
d2ad29725d Replace actor in chatEventMessagePinned/chatEventMessageUnpinned. 2022-09-15 21:35:37 +03:00
levlam
ce1292ea32 Allow to always reuse photos from inputMessagePhoto. 2022-09-15 16:08:19 +03:00
levlam
e087521b01 Fix compilation error. 2022-09-14 19:02:49 +03:00
levlam
e5fbb33555 Remove all chosen reactions, exceeding reaction limit. 2022-09-14 17:55:02 +03:00
levlam
cef7ca17f3 Always show all reaction choosers in private chats. 2022-09-14 17:15:12 +03:00
levlam
534f17e784 Randomize delays between failed getChannelDifference. 2022-09-14 16:41:59 +03:00
levlam
c646e43e37 Minor improvements. 2022-09-14 16:31:47 +03:00
levlam
1ac2dfef30 Replace ConcurrentScheduler::init with constructor. 2022-09-14 15:06:52 +03:00
levlam
70e3586626 Allow to specify affinity mask for concurrent scheduler threads. 2022-09-14 14:49:48 +03:00
levlam
124b0dee6c Ensure that custom reactions aren't added twice. 2022-09-13 19:39:35 +03:00
levlam
30b961aebf Sort reactions returned in getMessageAvailableReactions. 2022-09-13 19:19:35 +03:00
levlam
5213561096 Make non-const MessageReaction functions private. 2022-09-13 15:35:18 +03:00
levlam
38fbd00e99 Add and use get_reactions_hash. 2022-09-12 21:55:30 +03:00
levlam
8e5dccbdb5 Fix updating of active reactions in MessagesManager. 2022-09-12 21:39:23 +03:00
levlam
999326d56a Locally add reaction to recent. 2022-09-12 20:17:14 +03:00
levlam
164f5e97fd Support telegram_api::updateRecentReactions. 2022-09-12 19:52:08 +03:00
levlam
f85b79d9bc Add td_api::clearRecentReactions. 2022-09-12 19:37:45 +03:00
levlam
ece581b797 Load recent reactions. 2022-09-12 19:14:02 +03:00
levlam
7b6d0ea6b4 Load top reactions from server. 2022-09-12 17:28:58 +03:00
levlam
de1ed3275f Add td_api::getCustomEmojiReactionAnimations. 2022-09-12 15:44:37 +03:00
levlam
a33eb5233c Add td_api::getEmojiReaction. 2022-09-12 15:03:35 +03:00
levlam
d29d3674ba Replace updateReactions with updateActiveEmojiReactions. 2022-09-12 01:35:47 +03:00
levlam
f119e867df Update chosen reaction order when reactions are added or removed. 2022-09-11 15:10:56 +03:00
levlam
2ee994aed1 Add MessageReactions::get_chosen_reactions. 2022-09-11 14:06:01 +03:00
levlam
e07ab8e71a Save chosen reaction order. 2022-09-11 13:35:25 +03:00
levlam
ce9175a00b Always use "must be non-empty". 2022-09-10 22:48:34 +03:00
levlam
345c930aa7 Explicitly disallow removal of an empty reaction. 2022-09-09 19:42:14 +03:00
levlam
52fbb073fe Fix reaction updating. 2022-09-09 19:42:02 +03:00
levlam
79fcd07956 Add internal options "reactions_user_max_*". 2022-09-09 18:24:42 +03:00
levlam
6fb097dfe0 Return only reactions that can be added in getMessageAvailableReactions. 2022-09-09 18:15:03 +03:00
levlam
28d3d1ab37 Add MessageReactis::add_reaction/remove_reaction. 2022-09-09 17:43:21 +03:00
levlam
e0699944b3 Add is_custom_reaction. 2022-09-09 17:05:27 +03:00
levlam
89a1311c91 Add ChatReactions::is_allowed_reaction. 2022-09-09 16:34:14 +03:00
levlam
a223067cd1 Add availableReactions.allow_custom_emoji. 2022-09-09 16:28:51 +03:00
levlam
55ec944266 Pass all chosen reactions to send_message_reaction. 2022-09-09 16:21:00 +03:00
levlam
6b2f6b4204 Split setMessageReaction to addMessageReaction and removeMessageReaction. 2022-09-09 15:56:45 +03:00
levlam
4ae5b9a533 Consistently use is_active_reaction. 2022-09-08 21:04:23 +03:00
levlam
148f1bf794 Update get_message_available_reactions. 2022-09-08 20:04:32 +03:00
levlam
ac5e8e7eda Remove class AvailableReactionType. 2022-09-08 18:25:12 +03:00
levlam
81159edcd9 Move get_active_reactions to ChatReactions. 2022-09-08 17:56:39 +03:00
levlam
c6d5bbb151 Remove class AvailableReaction. 2022-09-08 17:45:19 +03:00
levlam
d4d746f02a Pass database_encryption_key through a local variable. 2022-09-07 22:31:26 +03:00
levlam
f6a2ecdded Inline tdlibParameters in setTdlibParameters. 2022-09-07 22:19:08 +03:00
levlam
ebb6770935 Combine TdDb::check_parameters and TdDb::open. 2022-09-07 21:50:41 +03:00
levlam
c47da24430 Remove unused is_database_encrypted. 2022-09-07 21:32:40 +03:00
levlam
287cceb162 Remove separate authorizationStateWaitEncryptionKey. 2022-09-07 21:27:23 +03:00
levlam
20767a318b Check for new code types in other phone number verifications. 2022-09-07 21:22:21 +03:00
levlam
9bd566702e Add source to MessagesManager::fix_new_dialog. 2022-09-07 20:02:44 +03:00
levlam
ba547561bb Support resending of email authentication code. 2022-09-07 19:42:21 +03:00
levlam
1b7f24459f Add td_api::checkLoginEmailAddressCode. 2022-09-07 15:18:43 +03:00
levlam
cc8ef1a077 Add td_api::resendLoginEmailAddressCode. 2022-09-07 14:39:33 +03:00
levlam
c373d14777 Add td_api::setLoginEmailAddress. 2022-09-07 13:49:48 +03:00
levlam
cac1f4cd14 Add passwordState.login_email_address_pattern. 2022-09-07 12:53:14 +03:00
levlam
14a9fda4ef Rename premiumStatus to emojiStatus. 2022-09-07 10:25:21 +03:00
levlam
b8438b92ae Add td_api::premiumFeatureEmojiStatus. 2022-09-06 23:47:11 +03:00
levlam
886a6125e9 Add class EmailVerification. 2022-09-06 23:29:57 +03:00
levlam
8f16191182 Add authorizationStateWaitEmailCode.next_phone_number_authorization_date. 2022-09-06 18:15:43 +03:00
levlam
cba73d5bba Support login with email verification. 2022-09-06 17:42:19 +03:00
levlam
3a84a9c226 Add td_api::checkAuthenticationEmailCode. 2022-09-06 17:17:39 +03:00
levlam
5e4a8ea664 Add authorizationStateWaitEmailCode. 2022-09-06 16:08:10 +03:00
levlam
3ad9ecc3a8 Use Promise<SentEmailCode>. 2022-09-06 14:53:19 +03:00
levlam
79be03d071 Add class SentEmailCode. 2022-09-06 14:46:11 +03:00
levlam
45484ce53b Add td_api::setAuthenticationEmailAddress. 2022-09-06 14:04:39 +03:00
levlam
6ac839576c Add authorizationStateWaitEmailAddress. 2022-09-06 12:31:54 +03:00
levlam
4fdac24cc5 Add setMessageReaction.update_recent_reactions. 2022-09-05 22:04:50 +03:00
levlam
51ea826b6c Synchronously load custom emoji from database if they are to be shown as an animated emoji. 2022-09-05 21:04:08 +03:00
levlam
8d6a83433f Use checks to catch wrong custom_emoji_to_sticker_id_ cache. 2022-09-05 20:26:10 +03:00
levlam
41a5e84d1c Remove unused DownloadManager::update_file_deleted. 2022-09-05 18:02:41 +03:00
levlam
cc4194a406 Check completed downloads size only after the database is loaded. 2022-09-05 17:58:15 +03:00
levlam
e843343a22 Add source to remove_file_impl. 2022-09-05 17:54:03 +03:00
levlam
c5040d9fcd Locally move sticker set to top. 2022-09-04 21:35:11 +03:00
levlam
16ba2ebfb8 Add messageSendOptions.update_order_of_installed_sticker_sets. 2022-09-04 01:14:25 +03:00
levlam
284dc4428b Use send_closure to load dialogs to ensure that MessagesManager is inited. 2022-09-03 10:21:04 +03:00
levlam
c662b81a3d Return ChatReactions from MessagesManager::get_message_active_reactions. 2022-09-02 18:59:15 +03:00
levlam
8e5f33e699 Process updateMoveStickerSetToTop update. 2022-09-02 18:35:57 +03:00
levlam
c92f741a83 Add get_sticker_type function. 2022-09-02 18:18:18 +03:00
levlam
e3da366e2b Fix chosen reaction detection. 2022-09-02 17:34:28 +03:00
levlam
20332b5afb Check and fix all received reactions. 2022-09-02 17:30:15 +03:00
levlam
71b7eaa4a5 Improve logging. 2022-09-02 17:04:09 +03:00
levlam
e595730735 Support t.me subdomains. 2022-09-02 16:34:05 +03:00
levlam
03af40bc08 Don't add themed premium statuses to recent. 2022-09-02 15:39:07 +03:00
levlam
2eba57276a Add td_api::getThemedPremiumStatuses. 2022-09-02 15:02:37 +03:00
levlam
899ceecab1 Support new special sticker set types. 2022-09-02 13:59:49 +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
16c50a3463 Add limit on the number of recent emoji statuses. 2022-08-31 19:52:56 +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
6f940b5e9b Support updateRecentEmojiStatuses. 2022-08-31 16:56:40 +03:00
levlam
93d870bfc6 Add td_api::clearRecentPremiumStatuses. 2022-08-31 16:41:13 +03:00
levlam
c627f5987d Add getRecentPremiumStatuses. 2022-08-31 15:47:51 +03:00
levlam
947a92e94c Save default premium statuses to binlog. 2022-08-31 11:59:37 +03:00
levlam
c65af3ac6e Improve field name. 2022-08-31 11:11:37 +03:00
levlam
8c9911c7c6 Fix check for empty chosen reactions. 2022-08-30 18:15:12 +03:00
levlam
31ec06a134 Add td_api::getDefaultPremiumStatuses. 2022-08-30 18:03:57 +03:00
levlam
cefcf9e018 Add EmojiStatus.cpp. 2022-08-30 17:23:46 +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
077eba4ca2 Send auth.logOut even there is no authorization. 2022-08-30 14:32:12 +03:00
levlam
031e2246ec Add logging for too long file GC. 2022-08-30 12:05:38 +03:00
levlam
9fc456f434 Use SafePromise in CallManager. 2022-08-30 12:03:26 +03:00
levlam
0b8e143056 Add class ChatAvailableReactions. 2022-08-30 11:45:27 +03:00
levlam
560dd914b3 Unify names of functions, returning list of td_api objects. 2022-08-30 08:12:14 +03:00
levlam
6fbb4ef09a Use static helpers from InputDialogId. 2022-08-30 02:09:00 +03:00
levlam
408a6a9d74 Remove failed to load chats from chat filters. 2022-08-30 01:18:20 +03:00
levlam
d110b0f5bc Add MessagesManager::load_dialog_filter_dialogs function. 2022-08-29 22:43:36 +03:00
levlam
3c56140995 Ignore error 400 in GetDialogsQuery. 2022-08-29 15:35:37 +03:00
levlam
1e10ece916 Keep dialog object inside channelDifferenceTooLong for following logging. 2022-08-29 07:38:13 +03:00
levlam
9f564e48d4 Improve MessageForwardInfo logging. 2022-08-29 07:10:50 +03:00
levlam
b4b9ff563f Fix applying of postponed pts updates after pts repair. 2022-08-29 01:16:29 +03:00
levlam
1787574262 Avoid expected logging. 2022-08-28 22:57:19 +03:00
levlam
57d7a2b10c Remove unknown pinned secret chats if failed to load them. 2022-08-27 23:12:50 +03:00
levlam
b0f4c45104 Return a 404 error in case of invalid load_dialog_list call. 2022-08-27 22:37:09 +03:00
levlam
ddf51a45db Improve output of DialogListId to log. 2022-08-27 16:59:34 +03:00
levlam
0ed8f95cec Make distribution of dialog unloads uniform instead of normal. 2022-08-27 11:19:00 +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
df238a7034 Allow to specify application name when opening Web App. 2022-08-25 23:15:53 +03:00
levlam
2e31ba5188 Return multiple payment options in premiumState. 2022-08-25 22:51:04 +03:00
levlam
60c7a8a622 Add more cases for reloading content settings. 2022-08-25 20:39:44 +03:00
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