Commit Graph

3004 Commits

Author SHA1 Message Date
levlam
75e00df016 Ensure ordering between messages.getMessagesReactions and channels.readMessageContents. 2023-06-01 15:53:13 +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
04525f6f6b Completely ignore global drafts in forum chats. 2023-05-31 17:54:31 +03:00
levlam
e599d16fc2 Make DraftMessage fields private and improve their names. 2023-05-31 17:46:06 +03:00
levlam
0b56f92190 Add methods to DraftMessage class. 2023-05-31 17:35:56 +03:00
levlam
978eb97c72 Improve get_draft_message. 2023-05-31 17:19:31 +03:00
levlam
ad5655d359 Add and use add_draft_message_dependencies. 2023-05-31 16:34:12 +03:00
levlam
33cbb2f438 Move ClearAllDraftsQuery to DraftMessage.cpp. 2023-05-31 16:23:23 +03:00
levlam
394ce38278 Move GetAllDraftsQuery to DraftMessage.cpp. 2023-05-31 16:17:20 +03:00
levlam
1aeaaaa733 Move SaveDraftMessageQuery to DraftMessage.cpp. 2023-05-31 15:57:30 +03:00
levlam
ec4d9836ee Add and use need_update_draft_message. 2023-05-31 15:29:37 +03:00
levlam
1ff0e66eb0 Drop ready_size when delete partial remote location. 2023-05-30 12:29:12 +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
0907c4fda5 Improve action order in on_get_history_from_database. 2023-05-28 11:15:15 +03:00
levlam
b64f8260f9 Remove manual load_messages call if receive no new messages from database. 2023-05-28 01:17:32 +03:00
levlam
1cf48ab89b Improve log messages. 2023-05-27 23:02:47 +03:00
levlam
54b34e9180 Add more checks for scheduled messages. 2023-05-25 12:13:47 +03:00
levlam
526b602b61 Fix variable use after move. 2023-05-24 14:53:10 +03:00
levlam
0150094c0f Get chat history if receive a chat in chat list without last message. 2023-05-24 12:53:52 +03:00
levlam
7385ca726b Allow messageEmpty in response to messages.getDialogs. 2023-05-24 01:46:00 +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
9756d174ee Clear contains_mention/contains_unread_mention message flags for bots. 2023-05-22 15:52:51 +03:00
levlam
d65541d45a Use get_message_file_ids if possible. 2023-05-20 00:49:16 +03:00
levlam
88ab425758 Reload marks as unread if there is no message database. 2023-05-15 18:20:24 +03:00
levlam
e626b5f68f Drop binlog events if message database was deleted. 2023-05-15 18:16:55 +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
7d3fea5a70 Improve log messages. 2023-05-15 12:37:49 +03:00
levlam
c7b9d54fdb Fix inputChannelFromMessage support. 2023-05-15 11:47:05 +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
26bacbb787 Don't send updateNewMessage for yet unsent messages to bots. 2023-05-12 16:58:21 +03:00
levlam
da8b0770ec Don't call add_message_to_dialog_message_list for bots. 2023-05-12 16:44:57 +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
83648d58d4 Remove now unneeded has_qts_messages checks. 2023-05-11 21:54:28 +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
2f091e93cc Improve variable names. 2023-05-11 19:54:48 +03:00
levlam
fca143dca8 Pass from_update == true first time when adding failed_to_send messages. 2023-05-11 19:43:30 +03:00
levlam
87b658f2e2 Explicitly attach messages to the next in on_get_history. 2023-05-11 19:21:58 +03:00
levlam
042c75df63 Mark on_get_message parameters as const. 2023-05-11 17:52:53 +03:00
levlam
f1a12e26b2 Early drop unneeded reply_markup_message_id. 2023-05-11 16:54:17 +03:00
levlam
8495dbe580 Always ignore non-personal RemoveKeyboard/ForceReply keyboards. 2023-05-11 16:37:07 +03:00
levlam
492db8032e Immediately call add_scheduled_message_to_dialog for scheduled messages. 2023-05-11 15:46:54 +03:00
levlam
70b3057627 Avoid redundant message_id checks; it has already been checked. 2023-05-11 13:49:22 +03:00
levlam
bbde50ba03 Use "message" for unique_ptr<Message> variables. 2023-05-11 13:26:41 +03:00
levlam
0cc22ca3da Fix saving of are_media_timestamp_entities_found. 2023-05-11 13:20:39 +03:00
levlam
666af51345 Add MessagesManager::fix_new_message. 2023-05-11 13:12:04 +03:00
levlam
1a4e91a207 Don't try to load from database previously failed to load dialogs in add_dialog. 2023-05-11 12:14:25 +03:00
levlam
ed127c1b8d Add MessagesManager::add_dialog_for_new_message. 2023-05-11 12:12:43 +03:00
levlam
7e82f0f860 Move expected logging from ERROR to INFO. 2023-05-11 00:31:15 +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
151291dc50 Remove redundant assignments. 2023-05-10 23:05:34 +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
cc6082c458 Check that last and last_new messages aren't changed by bots. 2023-05-10 20:00:01 +03:00
levlam
d672fa9faa Check that database message ids aren't set for bots. 2023-05-10 19:35:11 +03:00
levlam
04d9879607 Add OrderedMessages::empty(). 2023-05-10 18:57:17 +03:00
levlam
59fcab80a1 Don't send updateMessageContent for yet unsent messages to bots. 2023-05-10 02:00:20 +03:00
levlam
b41bb654e4 Drop via_bot when recending failed to send message. 2023-05-10 01:13:32 +03:00
levlam
ce76e164a9 Update basic group position when it is joined or left. 2023-05-08 17:29:50 +03:00
levlam
ac8c4718d3 Reload information about empty joined chats once to check whether they are still joined. 2023-05-08 17:17:35 +03:00
levlam
a05c86d6ec Improve replies for bots. 2023-05-06 21:47:10 +03:00
levlam
7eb512a0b2 Disable ordered messages for bots. 2023-05-06 02:39:17 +03:00
levlam
22a82c117d Find unloadable messages using LRU. 2023-05-06 02:37:53 +03:00
levlam
b482ffbbeb Check that bots doesn't use suffix load. 2023-05-06 01:56:29 +03:00
levlam
ad20309a1d Don't use last_new_message_id by bots. 2023-05-06 01:46:11 +03:00
levlam
47b225c11f Move limit increase to OrderedMessages::get_history. 2023-05-05 16:31:33 +03:00
levlam
aef0cfe4bc Add OrderedMessages::get_history. 2023-05-05 16:03:03 +03:00
levlam
96979d91b6 Check parameters first in MessagesManager::get_dialog_history. 2023-05-05 15:37:50 +03:00
levlam
a7c963dabb Add OrderedMessage::Iterator::clear. 2023-05-05 12:51:48 +03:00
levlam
53cd6c1a79 Improve includes. 2023-05-03 16:38:49 +03:00
levlam
c47dde6ea9 Don't warn about yet unsent messages with small identifiers for bots. 2023-05-03 16:28:40 +03:00
levlam
f2d11e12f6 Use small identifiers for yet unsent and local messages for bots. 2023-05-03 14:34:06 +03:00
levlam
7507d8e20c Don't restart on message_id overflow. 2023-05-03 14:23:18 +03:00
levlam
d64d3fe258 Ignore last_/first_database_message_id for bots. 2023-05-03 14:08:20 +03:00
levlam
d71d6afe17 Don't use last_message_id for bots. 2023-05-03 13:29:04 +03:00
levlam
71b7487f51 Don't attach messages for bots. 2023-05-03 13:18:05 +03:00
levlam
bba924f6a9 Make remaining OrderedMessage fields private. 2023-05-03 12:59:10 +03:00
levlam
4b048c4bbf Avoid preliminary have_previous_ checks. 2023-05-03 12:54:55 +03:00
levlam
1eb98e9ce5 Improve OrderedMessages::insert. 2023-05-03 12:29:41 +03:00
levlam
4444204874 Minor condition improvements. 2023-05-03 12:22:47 +03:00
levlam
85aedaa8c0 Add more logic to OrderedMessages::insert. 2023-05-03 11:48:06 +03:00
levlam
b8cd0bb597 Improve OrderedMessages::erase. 2023-05-03 01:34:58 +03:00
levlam
28b742e7d3 Improve OrderedMessages::insert. 2023-05-03 00:25:21 +03:00
levlam
e39757b6ec Make OrderedMessage.message_id_ private. 2023-05-02 23:49:59 +03:00
levlam
aa7627108b Improve OrderedMessage field names. 2023-05-02 23:27:37 +03:00
levlam
5ecc3a0968 Use traverse_messages to find minimum message identifier. 2023-05-02 23:11:04 +03:00
levlam
0d1cdc3e60 Add OrderedMessages::auto_attach_message. 2023-05-02 23:00:11 +03:00
levlam
6e4ebc56d1 Move attach_message_to_previous/attach_message_to_next to OrderedMessages. 2023-05-02 22:39:50 +03:00
levlam
4fe8137244 Use ConstIterator to find the last message. 2023-05-02 22:21:37 +03:00
levlam
494a25c19a Fix find_unloadable_messages. 2023-05-02 22:06:08 +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
b9210f852c Simplify attach_message_to_next/attach_message_to_previous usage. 2023-05-02 14:35:42 +03:00
levlam
0191b7bdb7 Initialize message->have_previous/have_next only after message is added to treap. 2023-05-02 14:21:03 +03:00
levlam
2bf7509603 Attach message to next/previous even it is outdated. 2023-05-02 13:35:10 +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
8a72bb7602 Don't use have_previous/have_next in update_message. 2023-05-02 13:12:29 +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
5397fe43e0 Ignore stored Message::have_previous/have_next flags. 2023-05-01 22:43:08 +03:00
levlam
77dbb2bf68 Don't use MessageSearchFilter::Pinned for bots. 2023-05-01 16:55:12 +03:00
levlam
8757f540ac Force postponed updateChatReadInbox before returning the chat. 2023-05-01 16:41:04 +03:00
levlam
0e02512f47 Ensure that bots doesn't access message index counts. 2023-05-01 16:33:32 +03:00
levlam
b40865f81c Do nothing in on_message_deleted_from_database for bots. 2023-05-01 16:03:23 +03:00
levlam
a544fc205f Call on_message_deleted_from_database for failed to add from database messages. 2023-05-01 15:58:01 +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
03e4013c9d Don't resave chat when sending postponed updateChatReadInbox. 2023-05-01 15:17:08 +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
bed72ccf14 Improve variable names. 2023-04-22 23:46:43 +03:00
levlam
15e9a2bc1f Remove old comment. 2023-04-19 18:19:12 +03:00
levlam
ca842596ab Fix read_dialog_inbox. 2023-04-17 12:28:51 +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
cfc46b1893 Load chat with its info if appropriate. 2023-04-13 23:13:38 +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
e85a83ffb7 Don't add muted by admin users to recent speakers. 2023-04-12 11:24:06 +03:00
levlam
e0bee7757b Improve get_message_user_ids and get_message_channel_ids. 2023-04-12 01:33:48 +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
0823c902bd Add td_api::messageChatSetBackground. 2023-04-10 14:12:35 +03:00
levlam
90967ba8cf Improve source in get_channel_full_force. 2023-04-09 23:47:47 +03:00
levlam
aebf904513 Various chat folder fixes. 2023-04-06 23:15:22 +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
6bc7c38e5f Add DialogId::get_chat_ids. 2023-04-01 23:37:36 +03:00
levlam
1ce9f9d27c Minor improvements. 2023-03-24 14:14:37 +03:00
levlam
b718933607 Don't drop is_outgoing message flag. 2023-03-23 16:54:18 +03:00
levlam
cb27d4bd07 Make DialogFilter fields private. 2023-03-22 23:19:32 +03:00
levlam
f10fb4b6b5 Add and use DialogFilter::get_pinned_dialog_ids(). 2023-03-22 23:09:57 +03:00
levlam
7871a4192a Add DialogFilter::is_dialog_pinned. 2023-03-22 23:05:13 +03:00
levlam
d0593a02c1 Add DialogFilter::can_have_archived_dialogs. 2023-03-22 22:35:37 +03:00
levlam
dc18ce7b0e Add and use DialogFilter::is_dialog_included. 2023-03-22 22:30:00 +03:00
levlam
f733e01d76 Add more checks for get_input_channel responses. 2023-03-22 18:35:28 +03:00
levlam
25047c28cf Use TRY_RESULT_PROMISE for get_input_user. 2023-03-22 17:39:56 +03:00
levlam
d1146a46f2 Add more secret chat checks. 2023-03-22 16:44:52 +03:00
levlam
dbf66634cf Add DialogFilter::can_include_dialog. 2023-03-22 14:26:05 +03:00
levlam
4c5651027e Add DialogFilter::set_pinned_dialog_ids. 2023-03-22 14:14:21 +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
f792137692 Add DialogFilter::need_dialog. 2023-03-22 01:17:07 +03:00
levlam
06940b2817 Add DialogFilter::get_chat_filter_object. 2023-03-22 01:00:54 +03:00
levlam
0c22f267c2 Improve log message. 2023-03-22 00:49:51 +03:00
levlam
54a9f1a554 Completely delete DialogFilter if all chats there are inaccessible. 2023-03-22 00:28:18 +03:00
levlam
18b7ee5e62 Add DialogFilter::set_dialog_is_pinned/include_dialog. 2023-03-21 23:21:19 +03:00
levlam
739bc08a31 Add DialogFilter::remove_dialog_id. 2023-03-21 23:20:33 +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
51c4c1368b Add DialogFilter::for_each_dialog. 2023-03-21 16:12:47 +03:00
levlam
c44869f873 Support input*FromMessage. 2023-03-17 18:51:04 +03:00
levlam
5ee4ba2759 Fix warning. 2023-03-17 02:06:45 +03:00
levlam
897319a275 Add more is_bot checks. 2023-03-16 23:38:03 +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
1b23cf0478 Don't use yet_unsent_thread_message_ids_ for bots. 2023-03-15 17:01:38 +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
d132c3e50d Add Global::keep_media_order. 2023-03-14 01:48:32 +03:00
levlam
d6faa001e2 Add Global::use_sqlite_pmc. 2023-03-14 01:41:04 +03:00
levlam
367d3eaa2b Move ignore_background_updates() to Td. 2023-03-13 21:13:59 +03:00