Commit Graph

1368 Commits

Author SHA1 Message Date
levlam
bd0ca2d6fc Combine all getChatHistory queries. 2023-07-28 03:36:21 +03:00
levlam
9618d58732 Combine get_history_from_the_end queries. 2023-07-27 20:40:56 +03:00
levlam
5bc2634d12 Use FlatHashMap for random_id_to_message_id. 2023-07-26 13:38:10 +03:00
levlam
0edd5b1651 Support "CHANNEL_INVALID" errors in response to channels.getDifference. 2023-07-25 14:12:58 +03:00
levlam
8893dc808f Ignore getDifference responses with invalid polls. 2023-07-24 19:42:09 +03:00
levlam
62677720fc Immediately unload messages in closed chats after updates.channelDifferenceTooLong. 2023-07-24 15:42:38 +03:00
levlam
1f6342c88e Retry loading of channel difference later if receive invalid poll in a message. 2023-07-23 20:42:30 +03:00
levlam
102222e64f Add source to on_update_channel_max_unavailable_message_id. 2023-07-22 22:40:26 +03:00
levlam
999aaaf610 Update username cache with usernames loaded from database. 2023-07-20 20:09:46 +03:00
levlam
3b28485a3f Always apply awaited sent messages. 2023-07-11 17:14:02 +03:00
levlam
0f8de6c91d Fix warnings. 2023-07-06 20:55:02 +03:00
levlam
ad193a389c Add FileManager::get_missing_file_parts. 2023-07-05 10:55:16 +03:00
levlam
8d7ba4da1b Add source to schedule_get_channel_difference. 2023-07-04 15:23:39 +03:00
levlam
26c8c0f4fa Add td_api::reportStory. 2023-06-21 23:23:19 +03:00
levlam
f182e105eb Register web page story sender users for UserFromMessage. 2023-06-13 17:14:19 +03:00
levlam
0b842dec1e Register media timestamp replies to stories. 2023-06-09 14:08:16 +03:00
levlam
fa94abaccb Allow to reply stories. 2023-06-08 17:27:24 +03:00
levlam
3a20137c03 Use StoryFullId for replied story. 2023-06-07 15:10:46 +03:00
levlam
114c92f365 Store replied story sender as DialogId. 2023-06-06 15:56:09 +03:00
levlam
56314c5c79 Add Message.replied_story_sender_user_id/replied_story_id. 2023-06-05 20:45:28 +03:00
levlam
030e440757 Update layer to 160. 2023-05-01 21:07:01 +03:00
levlam
24d012bc73 Add td_api::searchRecentlyFoundChat. 2023-05-16 21:41:19 +03:00
levlam
ac81a35283 Add td_api::getChatFolderChatCount. 2023-05-01 14:57:16 +03:00
levlam
29c0004bfd Automatically send screenshot notification messages. 2023-04-30 16:00:20 +03:00
levlam
340312e3da Add messageSourceScreenshot and notify about screenshotted codes. 2023-04-28 14:44:35 +03:00
levlam
38efb6d673 Support MessageSenders as poll voters. 2023-04-25 16:41:04 +03:00
levlam
8096cf0439 Register replies to messages in different chats. 2023-06-09 13:44:15 +03:00
levlam
1886bcf850 Make update_message_max_reply_media_timestamp const. 2023-06-08 20:14:38 +03:00
levlam
ea217b10c1 Add MessagesManager::set_message_reply. 2023-06-07 00:57:27 +03:00
levlam
6b342e9b0d Ignore reaction changes while there is a pending request to read unread reactions. 2023-06-01 15:31:05 +03:00
levlam
978eb97c72 Improve get_draft_message. 2023-05-31 17:19:31 +03:00
levlam
716481ca73 Don't allow message date change for server messages after sending. 2023-05-28 23:07:39 +03:00
levlam
8cc992e15e Add MessagesManager::on_get_messages_from_database. 2023-05-28 22:44:27 +03:00
levlam
54e967861c Fail sending of messages from yet_unsent_media_queues_ on restart. 2023-05-23 17:01:51 +03:00
levlam
d01f1ab20a Limit the number of concurrent getChannelDifference requests. 2023-05-23 14:57:04 +03:00
levlam
1aa1185185 Fix misprint. 2023-05-22 19:21:42 +03:00
levlam
7bc891aa0b Repeat channels.getDifference if expected PTS/message_id wasn't reached. 2023-05-22 19:19:36 +03:00
levlam
398fbeadf1 Add MessagesManager::schedule_get_channel_difference function. 2023-05-22 18:23:40 +03:00
levlam
348a209ab7 Fix includes. 2023-05-18 14:33:00 +03:00
levlam
18646d6d49 Load expired messages from database in small batches. 2023-05-15 13:28:23 +03:00
levlam
a14a07c33d Remove lower bound check for ttl_expires_at. 2023-05-15 13:04:03 +03:00
levlam
f61b5900dd Pass Dialog to read_history_outbox. 2023-05-13 03:51:27 +03:00
levlam
57d3928a50 Pass Dialog to read_history_inbox. 2023-05-13 03:46:43 +03:00
levlam
7dffab5a92 Add MessagesManager::clear_dialog_message_list. 2023-05-13 03:37:35 +03:00
levlam
484bd135d1 Add MessagesManager::add_message_to_dialog_message_list. 2023-05-12 16:29:21 +03:00
levlam
f265a154b9 Refactor reply markup removal. 2023-05-12 14:25:00 +03:00
levlam
432ee4c2c4 Remove now redundant parameters have_previous/have_next from add_message_to_dialog. 2023-05-11 20:27:00 +03:00
levlam
042c75df63 Mark on_get_message parameters as const. 2023-05-11 17:52:53 +03:00
levlam
bbde50ba03 Use "message" for unique_ptr<Message> variables. 2023-05-11 13:26:41 +03:00
levlam
666af51345 Add MessagesManager::fix_new_message. 2023-05-11 13:12:04 +03:00
levlam
ed127c1b8d Add MessagesManager::add_dialog_for_new_message. 2023-05-11 12:12:43 +03:00
levlam
372509e838 Always call on_message_deleted_from_database from delete_message_from_database. 2023-05-10 23:26:50 +03:00
levlam
c612ef6764 Explicitly create Dialog before adding a message to it. 2023-05-10 20:56:33 +03:00
levlam
11210427a4 Explicitly pass from_database to add_message_to_dialog. 2023-05-10 20:41:02 +03:00
levlam
ce76e164a9 Update basic group position when it is joined or left. 2023-05-08 17:29:50 +03:00
levlam
22a82c117d Find unloadable messages using LRU. 2023-05-06 02:37:53 +03:00
levlam
c0911577f7 Use empty name for unused move constructor/assignment parameter. 2023-05-05 13:51:19 +03:00
levlam
53cd6c1a79 Improve includes. 2023-05-03 16:38:49 +03:00
levlam
f2d11e12f6 Use small identifiers for yet unsent and local messages for bots. 2023-05-03 14:34:06 +03:00
levlam
6e4ebc56d1 Move attach_message_to_previous/attach_message_to_next to OrderedMessages. 2023-05-02 22:39:50 +03:00
levlam
e9ee762f60 Implement find_unloadable_messages with traverse_messages. 2023-05-02 21:54:11 +03:00
levlam
233984f1e3 Move iterators to class OrderedMessages. 2023-05-02 19:07:02 +03:00
levlam
0a3ecfd03c Add OrderedMessages::find_message_by_date. 2023-05-02 18:47:20 +03:00
levlam
f92d108319 Add OrderedMessages::find_messages_by_date. 2023-05-02 18:40:22 +03:00
levlam
961c9802af Add OrderedMessages::find_newer_messages. 2023-05-02 18:17:06 +03:00
levlam
2e0cba4eea Add OrderedMessages::find_older_messages. 2023-05-02 18:11:37 +03:00
levlam
2ff3233115 Add class OrderedMessages. 2023-05-02 18:04:54 +03:00
levlam
5ef84c5c65 Move class OrderedMessage out of MessagesManager. 2023-05-02 17:38:55 +03:00
levlam
df626f266e Inline create_ordered_message. 2023-05-02 17:30:12 +03:00
levlam
316ba04a47 Inline treap_find_message. 2023-05-02 17:25:15 +03:00
levlam
453a53c953 Remove return value from treap_delete_message. 2023-05-02 17:18:05 +03:00
levlam
16873cad78 Ignore message order in find_messages. 2023-05-02 16:54:52 +03:00
levlam
0af40e53ac Inline delete_all_dialog_messages_from_database. 2023-05-02 16:46:37 +03:00
levlam
fe20d43694 Remove MessagesManager::set_message_id. 2023-05-02 16:18:48 +03:00
levlam
7832c5d78c Store message order separately from messages themselves. 2023-05-02 16:07:01 +03:00
levlam
36fede32c6 Reuse message iterator in MessagesManager::do_delete_message. 2023-05-02 14:59:20 +03:00
levlam
aace2a6465 Explicitly pass have_previous and have_next to add_message_to_dialog. 2023-05-02 13:22:13 +03:00
levlam
e2b0c750c1 Remove MessagesIteratorBase template parameter. 2023-05-02 00:57:37 +03:00
levlam
aa6e85404a Store scheduled messages in a HashTable. 2023-05-02 00:52:23 +03:00
levlam
713b1f086e Add MessagesManager::have_dialog_scheduled_messages_in_memory helper. 2023-05-01 23:15:54 +03:00
levlam
8757f540ac Force postponed updateChatReadInbox before returning the chat. 2023-05-01 16:41:04 +03:00
levlam
730dac8dfe Add MessagesManager::on_message_deleted_from_database. 2023-05-01 15:48:35 +03:00
levlam
3c2e08633b Delay updateChatReadInbox updates in opened chats. 2023-05-01 15:33:51 +03:00
levlam
5aff4aa27b Hide global draft for forum chats. 2023-04-29 21:58:39 +03:00
levlam
868d894779 Don't autostart blocked bots. 2023-04-24 16:03:08 +03:00
levlam
cfe57dbd60 Add td_api::readChatList. 2023-04-14 15:17:25 +03:00
levlam
d302dbd241 Add MessagesManager::read_dialog_inbox. 2023-04-14 14:55:59 +03:00
levlam
598ba5422f Add MessagesManager::get_chat_ids_object. 2023-04-14 13:38:25 +03:00
levlam
e1eff4a06a Add MessagesManager::get_chat_id_object for checking chat_id before returning it. 2023-04-13 22:41:22 +03:00
levlam
00ed2f85b8 Support dark_theme_brightness for chat backgrounds. 2023-04-10 18:45:26 +03:00
levlam
13d0536db1 Add chat.background. 2023-04-10 17:23:21 +03:00
levlam
b4676dc57a Various fixes. 2023-04-07 16:02:31 +03:00
levlam
aebf904513 Various chat folder fixes. 2023-04-06 23:15:22 +03:00
levlam
d47bd927fe Add td_api::checkChatFilterInviteLink. 2023-03-31 15:50:49 +03:00
levlam
f12fedd4d6 Add class DialogFilterDialogInfo. 2023-03-27 18:34:25 +03:00
levlam
f4daa4b61a Move dialog filter list to DialogFilterManager. 2023-03-27 17:44:13 +03:00
levlam
9259728d16 Use do_edit_dialog_filter. 2023-03-27 14:16:02 +03:00
levlam
2ef970307b Move get_chat_filter_object and load_dialog_filter to DialogFilterManager. 2023-03-27 14:09:55 +03:00
levlam
0ff733edad Move recommended filters to DialogFilterManager. 2023-03-27 11:50:40 +03:00
levlam
1ce9f9d27c Minor improvements. 2023-03-24 14:14:37 +03:00
levlam
b5df19ae34 Improve DialogFilter variable names. 2023-03-22 13:36:28 +03:00
levlam
ecc57d7b93 Move set_dialog_filters_order to DialogFilter. 2023-03-22 01:24:14 +03:00
levlam
06940b2817 Add DialogFilter::get_chat_filter_object. 2023-03-22 01:00:54 +03:00
levlam
c5c06a8523 Move get_dialog_filter_ids to DialogFilter. 2023-03-21 22:35:00 +03:00
levlam
bfc0361b02 Move get_dialog_filter_folder_ids to DialogFilter. 2023-03-21 17:02:09 +03:00
levlam
d8a7114a2b Move create_dialog_filter to DialogFilter. 2023-03-21 16:55:07 +03:00
levlam
9acf785389 Move sort_input_dialog_ids to class DialogFilter. 2023-03-21 16:26:06 +03:00
levlam
c44869f873 Support input*FromMessage. 2023-03-17 18:51:04 +03:00
levlam
f282e2b6ac Pass NotificationInfo to get_next_notification_id. 2023-03-16 23:11:08 +03:00
levlam
ad08cc1775 PAss NotificationInfo to *notification_id_to_message_id_correspondence. 2023-03-16 23:07:12 +03:00
levlam
7406361444 Improve NotificationInfo field names. 2023-03-16 22:57:14 +03:00
levlam
ea2567f5d0 Move max_notification_message_id to NotificationInfo. 2023-03-16 22:54:03 +03:00
levlam
b01ee666e9 Add struct NotificationInfo. 2023-03-16 22:38:29 +03:00
levlam
96981eed53 Add get_notification_group_info helper. 2023-03-16 20:39:00 +03:00
levlam
b19a1f5ba4 Move scheduled message info into a class. 2023-03-16 20:10:54 +03:00
levlam
c9a1d5bee6 Move read_history_log_event_ids out of Dialog. 2023-03-16 18:21:51 +03:00
levlam
a9e70dcafc Move updated_read_history_message_ids out of Dialog. 2023-03-16 18:05:36 +03:00
levlam
3a1aaa1148 Move suffix load out of Dialog. 2023-03-16 17:54:33 +03:00
levlam
97fa882a8f Move pending_viewed_live_locations out of Dialog. 2023-03-16 16:15:54 +03:00
levlam
365c639c22 Move pending message views out of Dialog. 2023-03-15 23:45:30 +03:00
levlam
7d99fc50ed Move yet_unsent_thread_message_ids out of Dialog. 2023-03-15 16:59:23 +03:00
levlam
78d5146188 Move yet_unsent_message_id_to_persistent_message_id out of each Dialog. 2023-03-15 16:50:56 +03:00
levlam
5ee1c751f9 Remove debug_message_op. 2023-03-15 16:26:22 +03:00
levlam
8847638d28 Autostart bots with non-empty message history. 2023-03-11 23:18:24 +03:00
levlam
e7242b1188 Fix includes. 2023-03-06 20:36:56 +03:00
levlam
1f32ae3dfd Add sending_id to messageSendOptions. 2023-02-23 17:05:43 +03:00
levlam
439dd7c2ca Add td_api::messageViewers. 2023-02-23 15:15:10 +03:00
levlam
91a13ea705 Allow multiple open/close for the same chat. 2023-02-07 21:45:03 +03:00
levlam
fbea859a11 Add MessageSource to viewMessages. 2023-02-07 21:08:54 +03:00
levlam
c4b7100ad8 Repair unread mention count in channels when a mention is read. 2023-02-22 13:09:24 +03:00
levlam
b067159d78 Improve chat type check. 2023-02-01 02:10:03 +03:00
levlam
a347eb4da3 Add ability to check shared with bot user/chat. 2023-01-31 16:52:05 +03:00
levlam
0469ac0147 Add inputChatPhotoSticker. 2023-01-30 00:35:14 +03:00
levlam
57548741c4 Send updateNewMessage after file upload has started. 2023-01-25 13:03:57 +03:00
levlam
0feb0f15ce Improve names of methods and message contents related to sharing user/chat with a bot. 2023-01-23 18:19:35 +03:00
levlam
136a50d0ae Add translateMessageText. 2023-01-23 15:46:26 +03:00
levlam
a7e4c54f63 Support stickers in setChatPhoto. 2023-01-23 13:53:23 +03:00
levlam
8137572794 Send updateChatIsTranslatable when premium is switched on or off. 2023-01-20 12:57:06 +03:00
levlam
337aef5c02 Support chat.is_translatable, toggleChatIsTranslatable and updateChatIsTranslatable. 2023-01-20 12:38:25 +03:00
levlam
8c43a7c0bb Add TranslationManager. 2023-01-18 14:47:31 +03:00
levlam
91ab399946 Improve repair of unread reaction count. 2023-01-16 20:30:52 +03:00
levlam
97cc57a25c Add td_api::sendChosenChat. 2023-01-13 17:16:16 +03:00
levlam
0b54e28467 Add td_api::sendChosenUser. 2023-01-13 17:03:35 +03:00
levlam
f0d0ac6b78 Allow to create forum supergroups. 2023-01-09 21:43:51 +03:00
levlam
ad8f0c4146 Improve some spelling. 2023-01-16 12:59:43 +03:00
levlam
cf1984844b Update copyright year. 2023-01-01 00:28:08 +03:00
levlam
90b6403e86 Improve message_auto_delete_time field and class names. 2022-12-28 21:46:16 +03:00
levlam
6aa4558850 Improve return value of searchCallMessages. 2022-12-28 19:17:25 +03:00
levlam
9663dc98b5 Improve return type of searchChatMessages. 2022-12-28 18:42:11 +03:00
levlam
1ff40ce132 Rename message TTL to auto-delete timer when appropriate. 2022-12-28 17:02:41 +03:00
levlam
5c89fe749a Separately create admin log message ogjects. 2022-12-26 20:30:44 +03:00
levlam
f694687e47 Improve next_offset in getMessagePublicForwards. 2022-12-25 22:59:57 +03:00
levlam
fc2ab0a7ab Use next_rate in searchMessages. 2022-12-25 22:43:37 +03:00
levlam
3080f64273 Simplify searchMessages usage. 2022-12-25 22:28:05 +03:00
levlam
d810a73a4f Hide can_get_message_thread for non-root messages. 2022-12-21 19:10:36 +03:00
levlam
86d5f12e6e Don't try to load the same chat many times from the database. 2022-12-23 14:28:03 +03:00
levlam
f1eedfaa47 Simplify some usages of optional TL fields. 2022-12-18 22:15:57 +03:00
levlam
f97c103e2b Update last read inbox/outbox message identifiers in topics. 2022-12-14 14:25:04 +03:00
levlam
0e33195953 Move static get_message_id/get_message_dialog_id to corresponding classes. 2022-12-12 21:43:49 +03:00
levlam
b634948c15 Move static MessageId helpers to MessageId class. 2022-12-10 22:57:41 +03:00
levlam
6cbe1825ef Delete left dialogs from filters. 2022-12-08 13:14:50 +03:00
levlam
a32bb3e7ef Move get_messages_info to MessagesInfo.cpp. 2022-12-07 19:38:42 +03:00
levlam
75453b542f Add separate header for MessagesInfo. 2022-12-07 19:28:27 +03:00
levlam
1db1532591 Add is_forum_channel. 2022-12-07 17:21:36 +03:00
levlam
70cfbab277 Extract only relevant random_id from updates. 2022-12-02 12:36:31 +03:00
levlam
f8a5f42886 Improve return value of UpdatesManager::get_new_messages. 2022-12-02 12:11:07 +03:00
levlam
2844156dfc Allow to specify message_ttl during creation of basic group and channel chats. 2022-11-29 15:44:12 +03:00
levlam
8b11ef9aa3 Apply message_ttl from telegram_api::dialog. 2022-11-29 13:08:06 +03:00
levlam
0f357cdb95 Apply information about forum topics from messages.channelMessages. 2022-11-15 16:00:19 +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
0455f8cfbb Skip too old channel difference for bots. 2022-11-23 13:21:46 +03:00
levlam
68627a0c3f Add source to cancel_upload_file. 2022-11-21 14:33:19 +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
b2b59b02be Add draft of history generation for better gap handling. 2022-11-14 20:12:23 +03:00
levlam
f670d646c9 Unload at most 5000 messages at a time. 2022-11-11 16:06:05 +03:00
levlam
8e32de133a Rename MessagesDb to MessageDb. 2022-11-09 20:35:22 +03:00
levlam
ef5107fcc4 Remove unused from_cache parameter in send_update_delete_messages. 2022-11-08 13:43:46 +03:00
levlam
36686c29a6 Remove unused Status responses in MessagesDb. 2022-11-07 22:19:44 +03:00
levlam
7df7dfcd62 Output main chat list position along with all folder identifiers. 2022-11-04 17:40:44 +03:00
levlam
ce09421718 Update main chat list position after adding or deleting chat lists. 2022-11-04 17:26:41 +03:00
levlam
ff0c205fe9 Generate new links for topic messages. 2022-11-04 15:56:16 +03:00
levlam
8f9275858f Fix warning. 2022-11-04 13:20:22 +03:00
levlam
f8783063f3 Improve parameter name. 2022-11-03 19:37:07 +03:00
levlam
e8d1c7deae Remove from_updates parameter from delete_dialog_messages. 2022-11-03 19:26:22 +03:00
levlam
df45195cc6 Split delete_dialog_messages in two functions. 2022-11-03 19:14:35 +03:00
levlam
17bc097d12 Destroy deleted messages on another thread. 2022-11-03 18:10:51 +03:00
levlam
69f03d8376 Improve message reply header handling. 2022-11-02 06:28:35 +03:00
levlam
342f446631 Support unpinning of all messages in a message thread. 2022-10-31 19:44:01 +03:00
levlam
43deaf4502 Add td_api::deleteForumTopic. 2022-10-30 00:35:37 +03:00
levlam
6acdfbdf9e Keep information about dropped MessageReplyInfo. 2022-10-29 20:18:49 +03:00
levlam
ff43a82359 Improve topic message detection. 2022-10-29 02:05:31 +03:00
levlam
4c7e9ad8a6 Add Message.is_topic_message. 2022-10-28 12:43:51 +03:00
levlam
8f0d216601 Don't update channel pts if failed to process updateEditChannelMessage. 2022-10-26 14:52:51 +03:00
levlam
75739dd0ea Allow to pass message thread identifier to readAllChatReactions. 2022-10-24 17:04:05 +03:00
levlam
df561b7822 Allow to pass message thread identifier to readAllChatMentions. 2022-10-24 16:57:26 +03:00
levlam
62bcac0198 Support forwarding of messages to message threads. 2022-10-21 18:02:39 +03:00
levlam
c941f488a0 Proxy speech recognition methods through MessagesManager. 2022-10-19 17:56:18 +03:00
levlam
177b5f1e89 Pass top_thread_message_id to server methods for message sending. 2022-10-18 14:23:46 +03:00
levlam
4067ba66d3 Improve backward compatibility. 2022-10-17 15:44:30 +03:00
levlam
897032e0fd Add support for multiple usernames. 2022-10-12 21:04:18 +03:00