Commit Graph

9599 Commits

Author SHA1 Message Date
levlam
e5f9e4c400 Decrease UPDATE_APPLY_WARNING_TIME and improve logging. 2024-01-17 16:50:08 +03:00
levlam
14c93b1772 Fix added_message_full_id initialization. 2024-01-16 21:40:25 +03:00
levlam
6d910597e5 Delete message from map after using. 2024-01-16 21:36:24 +03:00
levlam
c2277a1044 Add source to get_user_full_force. 2024-01-15 14:12:00 +03:00
Liru Færs
0f98d76683
Fix DialogActionManager::send_dialog_action in secret chats (#2756)
* Fix DialogActionManager::send_dialog_action in secret chats 

The code in `DialogActionManager::send_dialog_action` made the assumption that since we'd either have early returned or `DialogManager::have_input_peer` would be true, and therefore the else block of the conditional, which intended to set input_peer, should have done so successfully.

However, `DialogManager::have_input_peer` will return true for secret chats when `contacts_manager->have_input_encrypted_peer`
And `DialogManager::get_input_peer` will return a `nullptr` for secret chats by design (I believe this is because they operate using structures that are currently incompatible)

This should fix the root of a crash that happens when typing in or sending messages to secret chats on:
Telegram X 0.26.4.1678-arm64-v8a (99b10675)
TDLib: 1.8.23 (tdlib/td@4bafdc2)

* Move CHECK below SecretChat case instead per feedback
2024-01-15 01:02:56 +03:00
levlam
58c457ab5f Add NotificationManager::parse_push_notification_attach. 2024-01-14 23:05:35 +03:00
levlam
3e8d368ba5 Add NotificationManager::add_push_notification_user. 2024-01-14 22:52:52 +03:00
levlam
ffdb02374e Simplify Manager actor reset. 2024-01-13 02:08:28 +03:00
levlam
916e5de43e Simplify code for manager reset. 2024-01-13 01:28:15 +03:00
levlam
96fee82699 Use separate initialization functions for different Manager types. 2024-01-13 00:59:17 +03:00
levlam
8b97d2e8e4 Move binlog events processing to Td::process_binlog_events. 2024-01-13 00:42:49 +03:00
levlam
0aa8816c28 Don't always treat pins as mentions. 2024-01-12 18:15:19 +03:00
levlam
4bafdc2b71 Fix MessagesManager::drop_dialog_last_pinned_message_id. 2024-01-12 12:16:51 +03:00
levlam
5d7c69d0d1 Remove CallManager::Update typedef. 2024-01-11 13:36:38 +03:00
levlam
d029eff807 Minor improvements. 2024-01-11 00:12:16 +03:00
levlam
21418140bd Fix removal of message reply for failed to send forwarded messages. 2024-01-10 22:01:39 +03:00
levlam
a10f03cde1 Add sanity check. 2024-01-10 21:41:13 +03:00
levlam
5e0301db45 Improve fatal error message on app downgrade. 2024-01-10 21:20:17 +03:00
levlam
17a412a04a Don't delete notifications when initializing last_new_message_id. There should be no old notifications anyway (2). 2024-01-10 21:08:43 +03:00
levlam
bc5b1f4e19 Remove unavailable messages from the list of linked messages. 2024-01-10 20:22:45 +03:00
levlam
509908edda Don't register users/channels in unknown channels. 2024-01-10 20:07:56 +03:00
levlam
7f844b637f Correctly update self speculative channel status while joining it. 2024-01-10 18:03:41 +03:00
levlam
1fa64892e1 Don't count non-member creator in administrator count. 2024-01-10 17:49:17 +03:00
levlam
44eba3d214 Combine JoinChannel queries. 2024-01-10 17:42:14 +03:00
levlam
faee94b680 Apply message auto-delete time from chat creation message. 2024-01-10 17:20:13 +03:00
levlam
4d51b2c875 Move create_new_chat/create_new_channel to ContactsManager. 2024-01-10 17:09:09 +03:00
levlam
a409af0973 Move migrate_dialog_to_megagroup to ContactsManager. 2024-01-10 15:57:19 +03:00
levlam
1bc8e90c10 Move create_new_secret_chat to ContactsManager. 2024-01-10 15:20:16 +03:00
levlam
da031b3faa Allow \r and other empty entities as a separator between MarkdownV2 blockquotes. 2024-01-10 14:36:27 +03:00
levlam
ce8a4b6d21 tg_cli: use preset message_thread_id_ in requests where it is optional. 2024-01-10 13:16:37 +03:00
levlam
c6154c43aa Don't store message interaction info for bots. 2024-01-09 10:59:24 +03:00
levlam
3817f2cb6b Minor improvements. 2024-01-08 19:26:34 +03:00
levlam
7b6ce8b822 Move reload_dialog_info to DialogManager. 2024-01-08 19:20:22 +03:00
levlam
9a90089879 Move check_dialog_username to DialogManager. 2024-01-08 19:14:41 +03:00
levlam
466c841b4e Move send_update_add_chat_members_privacy_forbidden to DialogParticipantManager. 2024-01-08 18:57:44 +03:00
levlam
127b7ad086 Add DialogParticipantManager::speculative_add_channel_user. 2024-01-08 18:50:18 +03:00
levlam
b1d72276a7 Move set_channel_participant_status and similar methods to DialogParticipantManager. 2024-01-08 18:44:13 +03:00
levlam
9660a7f2b1 Move set_dialog_participant_status and similar methods to DialogParticipantManager. 2024-01-08 18:15:21 +03:00
levlam
50b5a6e9bf Move channel participant cache to DialogParticipantManager. 2024-01-08 18:03:04 +03:00
levlam
bba173ea7d Move get_channel_participant to DialogParticipantManager. 2024-01-08 17:45:04 +03:00
levlam
f8565154a1 Move get_dialog_participant to DialogParticipantManager. 2024-01-08 17:35:24 +03:00
levlam
f1a4579e67 Move bot chat member updates to DialogParticipantManager. 2024-01-08 17:27:32 +03:00
levlam
82e59914cd Minor improvements. 2024-01-08 15:42:21 +03:00
levlam
d832d5a70f Move chat administrators to DialogParticipantManager. 2024-01-08 15:23:16 +03:00
levlam
d1251e47a6 Move chat join request processing to DialogParticipantManager. 2024-01-08 14:36:18 +03:00
levlam
b579fcd3e0 Rename DialogOnlineMemberManager to DialogParticipantManager. 2024-01-08 14:22:44 +03:00
levlam
55faa7ad0b Fix parameter name. 2024-01-08 14:15:15 +03:00
levlam
e4c816d33c Move methods for chat invite link management to DialogInviteLinkManager. 2024-01-08 14:09:58 +03:00
levlam
5a1b4b8d71 Move DialogAccessByInviteLink to DialogInviteLinkManager. 2024-01-08 13:40:28 +03:00
levlam
409778b760 Move check/join by chat invite link to DialogInviteLinkManager. 2024-01-08 13:25:31 +03:00
levlam
ebf2f95681 Add DialogInviteLinkManager. 2024-01-08 12:43:31 +03:00
levlam
90b8acff67 Add and use BotCommands::update_all_bot_commands. 2024-01-08 01:44:58 +03:00
levlam
b4ac2653cd Move delete_dialog to DialogManager. 2024-01-08 01:27:49 +03:00
levlam
64c646b9de Use resolve_dialog_username internally. 2024-01-08 00:31:07 +03:00
levlam
a2c6f4aa7c Move resolved usernames to DialogManager. 2024-01-07 23:45:33 +03:00
levlam
dc3929fede Remove is_unsent_animated_emoji_click proxy function. 2024-01-07 01:08:41 +03:00
levlam
b684039566 Move some methods to DialogActionManager. 2024-01-07 00:46:36 +03:00
levlam
4bc9f8d72e Add DialogActionManager. 2024-01-06 22:56:28 +03:00
levlam
bd7f900df8 Move relevant methods to MessageImportManager. 2024-01-06 22:45:27 +03:00
levlam
f5a776b67c Add MessageImportManager. 2024-01-06 22:06:52 +03:00
levlam
cb6c15b9c9 Explicitly check message content before trying to register it for bots. 2024-01-05 18:43:53 +03:00
levlam
cb013c999a Don't keep restriction reasons for bots. 2024-01-05 18:24:35 +03:00
levlam
99a6c04dd3 Move online_member_dialogs out of User. 2024-01-05 12:33:53 +03:00
levlam
884a16f1ed Partly move report_dialog to DialogManager. 2024-01-04 22:46:13 +03:00
levlam
c24bd49cce Move set_dialog_photo to DialogManager. 2024-01-04 20:44:12 +03:00
levlam
e5f0b33508 Move toggle_dialog_has_protected_content to DialogManager. 2024-01-04 20:25:41 +03:00
levlam
17012dff1c Move set_dialog_permissions to DialogManager. 2024-01-04 20:20:18 +03:00
levlam
fd45eb84f5 Move set_dialog_title to DialogManager. 2024-01-04 20:15:29 +03:00
levlam
57f1b32617 Move remove_secret_chat_dialog_ids to DialogId. 2024-01-04 19:55:48 +03:00
levlam
c0a0f7de07 Move on_dialog_info_full_invalidated to DialogManager. 2024-01-04 19:52:31 +03:00
levlam
a719ed42be Simplify conditions for reloading chat full info. 2024-01-04 19:47:27 +03:00
levlam
249598a711 Move get_common_dialogs to CommonDialogManager. 2024-01-04 19:30:58 +03:00
levlam
8d7058109c Add CommonDialogManager. 2024-01-04 19:20:14 +03:00
levlam
2c6917d044 Simplify RecentDialogList::removed_dialog_ids_ implementation. 2024-01-04 19:10:15 +03:00
levlam
f43807ebbf Don't try to remove chat from recent for bots. 2024-01-04 19:06:50 +03:00
levlam
3003679192 Move online member count to DialogOnlineMemberManager. 2024-01-04 18:30:12 +03:00
levlam
211071970e Add DialogOnlineMemberManager. 2024-01-04 18:02:36 +03:00
levlam
52b8e295ca Minor include improvements. 2024-01-04 16:46:53 +03:00
levlam
6d1f6e250f Add DialogManager::is_dialog_removed_from_dialog_list. 2024-01-04 16:32:04 +03:00
levlam
d24a0eda1d Move get_peers_dialog_ids to DialogManager. 2024-01-04 16:24:19 +03:00
levlam
b97fa08e62 Move get_input_dialog_id to DialogManager. 2024-01-04 16:20:15 +03:00
levlam
32898dbe88 Move get_chat_ids_object and get_chats_object to DialogManager. 2024-01-04 16:13:20 +03:00
levlam
ebda6f1364 Use DialogManager::get_my_dialog_id. 2024-01-04 15:49:02 +03:00
levlam
eb5a37e927 Add DialogManager::force_create_dialog. 2024-01-04 15:38:01 +03:00
levlam
978be7206f Use DialogManager::have_dialog_force. 2024-01-04 15:26:42 +03:00
levlam
b2fccc7d9c Move ContactsManager proxy methods to DialogManager. 2024-01-03 23:07:50 +03:00
levlam
36f6a97b58 Fix setting of global DialogFilter manager. 2024-01-02 16:43:09 +03:00
levlam
7897ab1ada Add empty DialogManager. 2024-01-02 16:22:25 +03:00
levlam
2bfe13f832 Set parser error if invalid reaction is stored in database. 2024-01-02 03:03:39 +03:00
levlam
0e2b7eab27 Ensure that messageReaction.total_count isn't less than the number of recent users. 2024-01-02 02:54:57 +03:00
levlam
d963044eb9 Update copyright year. 2024-01-01 03:07:21 +03:00
levlam
6d79dd9ea8 Keep forward info for audios and stories forwarded to saved messages. 2023-12-30 22:14:50 +03:00
Fela
c73222b33b Pass is_pinned while creating event log messages 2023-12-29 13:51:24 +03:00
levlam
27c3eaeb49 Update version to 1.8.23. 2023-12-28 00:36:12 +03:00
levlam
45b6506cbf Ignore user in unclaimed giveaway boost. 2023-12-27 22:38:57 +03:00
levlam
49dc00ade2 Remove unused forward declaration. 2023-12-26 21:56:51 +03:00
levlam
e3a01fddd7 Improve includes. 2023-12-26 21:39:48 +03:00
levlam
571fbd68aa Add td_api::openChatSimilarChat. 2023-12-26 21:24:04 +03:00
levlam
4a45265926 Add td_api::internalLinkTypePremiumGift. 2023-12-26 21:01:33 +03:00
levlam
65903180a4 Add td_api::chatBoostFeatures. 2023-12-26 20:31:53 +03:00
levlam
54bd830f49 Add td_api::getChatBoostLevelFeatures. 2023-12-26 20:20:41 +03:00
levlam
969f4a764f Remove "channel_custom_accent_color_boost_level_min" option. 2023-12-26 19:20:06 +03:00
levlam
e4038723b2 Support internal min boost level options. 2023-12-26 19:12:00 +03:00
levlam
cd27c67beb Pass-through PREMIUM_SUB_ACTIVE_UNTIL_* errors. 2023-12-26 18:41:41 +03:00
levlam
7a2e2c4ee0 Add paymentProviderSmartGlocal.tokenize_url. 2023-12-26 18:33:02 +03:00
levlam
015976e4f1 Fix story area type. 2023-12-26 18:04:31 +03:00
levlam
91013ee921 Add "chat_available_reaction_count_max" option. 2023-12-26 17:11:34 +03:00
levlam
45eca4e8d2 Delete td_api::addApplicationChangelog. 2023-12-26 16:51:58 +03:00
levlam
07bf49d42e Improve logging in need_channel_difference_to_add_message. 2023-12-26 15:54:40 +03:00
levlam
2a685bc9ab Early process received users and chats. 2023-12-26 15:52:17 +03:00
levlam
c3c14ee65e Add td_api::getChatStoryInteractions. 2023-12-26 14:24:42 +03:00
levlam
e83e1ba095 Support telegram_api::StoryReaction. 2023-12-26 13:57:43 +03:00
levlam
8655fbe5d7 Add getStoryInteractions.prefer_forwards. 2023-12-26 13:47:24 +03:00
levlam
b196d38a68 Get channel difference if needed before processing story views list. 2023-12-26 13:11:22 +03:00
levlam
8900038324 Add and use generic MessagesManager::get_channel_differences_if_needed. 2023-12-26 12:02:53 +03:00
levlam
53cf01e7bf Support various types of story interactions. 2023-12-25 22:07:02 +03:00
levlam
be785dd673 Improve StoryViewer constructor. 2023-12-25 17:30:26 +03:00
levlam
05651f587d Add StoryViewer::is_valid. 2023-12-25 16:34:38 +03:00
levlam
964663948d Improve StoryViewer getters. 2023-12-25 16:32:41 +03:00
levlam
a4ed86c44e Update BlockList in StoryViewers::StoryViewers. 2023-12-25 15:52:03 +03:00
levlam
b3d19e51e5 Rename storyViewer to storyInteraction. 2023-12-25 15:34:47 +03:00
levlam
ca2cf0e25c Add storyViewers.total_forward_count. 2023-12-25 15:10:48 +03:00
levlam
c4efc0e2e0 Add td_api::setChatEmojiStatus. 2023-12-25 14:49:22 +03:00
levlam
b1db06d627 Fix update of channel emoji status. 2023-12-25 03:01:45 +03:00
levlam
5979276116 Enable updateChatAvailableReactions for bots. 2023-12-25 02:50:20 +03:00
levlam
aab1bf4fa5 Check for default channel statuses in StickersManager::is_default_emoji_status. 2023-12-24 02:38:17 +03:00
levlam
1494d5fcdf Add td_api::getDisallowedChatEmojiStatuses. 2023-12-24 02:30:49 +03:00
levlam
8090aac1c1 Add stickerSet.is_allowed_as_chat_emoji_status. 2023-12-24 01:23:15 +03:00
levlam
d79114691c Replace td_api::messageUserShared with td_api::messageUsersShared. 2023-12-22 19:17:58 +03:00
levlam
66c6e706ab Replase td_api::shareUserWithBot with td_api::shareUsersWithBot. 2023-12-22 18:47:23 +03:00
levlam
590b3f3c25 Replace td_api::keyboardButtonTypeRequestUser with td_api::keyboardButtonTypeRequestUsers. 2023-12-22 18:06:40 +03:00
levlam
f07d21ac6b Add td_api::getDefaultChatEmojiStatuses. 2023-12-22 12:29:12 +03:00
levlam
e2747b6c76 Add td_api::getThemedChatEmojiStatuses. 2023-12-21 22:44:59 +03:00
levlam
40b585d74f Support channel emoji status. 2023-12-21 21:05:42 +03:00
levlam
7f6bdcd42c Add channel.boost_level. 2023-12-21 20:08:30 +03:00
levlam
5cb6ca27cc Add Chat.emoji_status. 2023-12-21 20:01:26 +03:00
levlam
8e85ef9e40 Don't mark background as inited for channels. 2023-12-21 19:10:05 +03:00
levlam
fabcce43c6 Update channel background from ChannelFull. 2023-12-21 19:08:06 +03:00
levlam
88b2781685 Add min_chat_boost_level to accentColor/profileAccentColor. 2023-12-21 18:48:15 +03:00
levlam
022c227515 Add td_api::suggestedActionGiftPremiumForChristmas. 2023-12-21 18:16:32 +03:00
levlam
b7f5949b98 Add is_supported_reply_message_content. 2023-12-21 17:24:21 +03:00
levlam
14b81a2d48 Always apply background from new message in groups and channels. 2023-12-19 16:24:06 +03:00
levlam
93aa765f44 Add td_api::backgroundTypeChatTheme for boosted chats. 2023-12-19 16:00:50 +03:00
levlam
b3ce27c4ea Add separate deleteDefaultBackground method. 2023-12-19 14:38:37 +03:00
levlam
0fc3b3adc6 Improve names of background-related methods. 2023-12-19 14:33:21 +03:00
levlam
325f56dfe0 Improve name of updateDefaultBackground update. 2023-12-19 14:21:46 +03:00
levlam
855d6bf568 Support getPremiumGiveawayInfo for GiveawayWinners messages. 2023-12-19 13:07:41 +03:00
levlam
fd0135393c Process chats from stories.storyViewsList. 2023-12-19 13:04:21 +03:00
levlam
0b51acefe9 Add td_api::messagePremiumGiveawayWinners. 2023-12-18 21:03:11 +03:00
levlam
299b87c524 Add td_api::chatEventEmojiStatusChanged. 2023-12-18 16:38:40 +03:00
levlam
6b85c09d14 Add td_api::chatEventBackgroundChanged. 2023-12-18 16:30:52 +03:00
levlam
c03650a920 Add td_api::chatEventProfileAccentColorChanged. 2023-12-18 16:03:15 +03:00
levlam
6b0e161fa2 Combine td_api::chatEventAccentColorChanged and td_api::chatEventBackgroundCustomEmojiChanged. 2023-12-18 16:00:01 +03:00
levlam
9171588824 Add class PeerColor. 2023-12-18 15:51:11 +03:00
levlam
67422ffb47 Rename StoryPublicForward to PublicForward. 2023-12-18 14:59:50 +03:00
levlam
5725cf0388 Add td_api::storyAreaTypeMessage. 2023-12-18 14:40:11 +03:00
levlam
895150e649 Add optional currency information to messagePremiumGiftCode. 2023-12-18 13:30:21 +03:00
levlam
1393033fdf Add td_api::setChatProfileAccentColor. 2023-12-17 23:34:58 +03:00
levlam
d6423f60be Remove separate UpdateProfileColorQuery. 2023-12-17 23:12:03 +03:00
levlam
7ceccad807 Support profile color and custom emoji in chat. 2023-12-17 22:54:55 +03:00
levlam
16d0c3c61b Use combined updateChatAccentColors. 2023-12-16 11:49:26 +03:00
levlam
e4e76a7483 Add td_api::setMessageReactions for bots. 2023-12-15 14:51:26 +03:00
levlam
cc37a0c937 Add td_api::updateMessageReactions for bots. 2023-12-14 23:44:31 +03:00
levlam
00aff8f557 Add td_api::updateMessageReaction for bots. 2023-12-14 19:55:53 +03:00
levlam
58e8b7c97e Support creation of giveaways with public list of winners and additional prize description. 2023-12-05 13:45:32 +03:00
levlam
c6ce44815e Update layer to 169. 2023-12-05 12:30:12 +03:00
levlam
15132a398f Remove check in backgrounf parsing. 2023-12-22 16:48:16 +03:00
levlam
3e42417a0f Log results of message deletion. 2023-12-22 16:31:53 +03:00
levlam
5b8fff9643 Allow messagePremiumGiftCode.creator_id == null. 2023-12-22 12:51:58 +03:00
levlam
d60bb8da91 Add MessagesManager::update_replied_by_message_count. 2023-12-21 17:10:09 +03:00
levlam
bd1768954a Add and use MessagesManager::get_message_reply_to_random_id. 2023-12-20 23:25:54 +03:00
levlam
4dbcfce77d Randomly choose session among sessions with the same minimum query count. 2023-12-19 21:01:32 +03:00
levlam
15b8ad5c66 Add MediaArea::get_input_media_areas. 2023-12-18 14:24:07 +03:00
levlam
50f20c8a0c Assign message identifier in create_message_to_send. 2023-12-17 01:06:40 +03:00
levlam
08222894e9 Check link types in alphabetical order. 2023-12-16 23:45:45 +03:00
levlam
a815bd74a1 Pass some parameters as const reference. 2023-12-15 00:11:59 +03:00
levlam
53ee8caf37 Simplify QTS update processing. 2023-12-14 23:27:46 +03:00
levlam
0072ff225b Add static methods for processing of vector<ReactionType>. 2023-12-14 18:46:52 +03:00
levlam
0a53e5ad0e Set bot online timeout right after authorization. 2023-12-14 15:59:16 +03:00
levlam
2bf1dcd6eb Add source to get_channel_difference_if_needed. 2023-12-13 19:48:11 +03:00
levlam
542271a1fd Don't save get_id() to a used-once variable before switch. 2023-12-12 23:20:41 +03:00
levlam
dce778442c Allow 0 as giveaway_message_id in messagePremiumGiveawayCompleted. 2023-12-11 00:44:47 +03:00
levlam
c257615f9a Remove now unused function is_hidden_data_entity. 2023-12-10 13:37:32 +03:00
levlam
745c40855a Exclude installed sticker sets from searchStickerSets response. 2023-12-09 23:14:19 +03:00
levlam
d8eab25e82 Allow to use addChatMembers with one user in basic groups. 2023-12-08 14:30:01 +03:00
levlam
559cbe5de9 Always update premium-dependent options. 2023-12-08 12:57:13 +03:00
levlam
44844e1c19 Improve link preview options comparison. 2023-12-07 21:16:37 +03:00
levlam
f4f46c9a79 Don't try to process stories inside message content by bots. 2023-12-07 13:34:37 +03:00
levlam
a7c81ae21b Always extract web_page_url for bots. 2023-12-07 12:48:33 +03:00
levlam
b210e79f97 Save link preview URL if size of the media is fixed or message text is empty. 2023-12-06 12:57:49 +03:00
levlam
0f4e01bde3 Keep reply content if it has link preview options. 2023-12-06 12:28:37 +03:00
levlam
4ac5708135 Remove redundant is_valid checks before adding an identifier as dependency. 2023-12-04 22:18:08 +03:00
levlam
f08b63268a Support more cases for min-users and min-channels. 2023-12-04 22:13:25 +03:00
levlam
4c052a5efa Don't remove whitespace-only entities. 2023-12-04 18:33:40 +03:00
levlam
9a9e3be8cf Trim quote from the replied message. 2023-12-04 16:27:15 +03:00
levlam
99f9b78819 Support messagePremiumGiveawayCompleted in getRepliedMessage. 2023-12-04 12:34:58 +03:00
levlam
1b42476416 Add sanity checks. 2023-12-04 11:39:48 +03:00
levlam
3f00bebf63 Add missing checks fpr database existence. 2023-12-03 13:18:33 +03:00
levlam
4c1f6d6608 Fix misprint by @AYMENJD. 2023-12-02 22:19:48 +03:00
levlam
24893faf75 Update version to 1.8.22. 2023-12-01 23:19:05 +03:00