Commit Graph

3142 Commits

Author SHA1 Message Date
levlam
4455255d9b Add class NotificationObjectId. 2023-08-25 02:04:44 +03:00
levlam
a85d3663bf Add MessagesManager::reload_dialog_notification_settings. 2023-08-24 17:29:22 +03:00
levlam
1e6970e3fe Add NotificationGroupFromDatabase struct. 2023-08-23 19:38:06 +03:00
levlam
fbc74dc8f4 Add and use NotificationManager::have_group_force. 2023-08-23 19:16:57 +03:00
levlam
2fc806785f Use CHECK in MessagesManager::get_dialog_notification_group_id. 2023-08-23 18:54:03 +03:00
levlam
d8472358dc Add MessagesManager::get_story_notification_settings. 2023-08-22 18:55:59 +03:00
levlam
15c14e4983 Use object_id instead of message_id in NotificationGroupInfo. 2023-08-22 16:32:40 +03:00
levlam
ce1fdf097c Add NotificationGroupInfo.has_group_id. 2023-08-22 02:34:26 +03:00
levlam
5144656f2b Add MessagesManager::is_dialog_notification_group_id. 2023-08-22 02:31:47 +03:00
levlam
1289a62c16 Make the rest NotificationGroupInfo fields private. 2023-08-22 00:01:29 +03:00
levlam
db9ca1a847 Add NotificationGroupInfo::is_valid(). 2023-08-21 23:03:55 +03:00
levlam
a93322ae32 Always remove unneeded last_notification_id_. 2023-08-21 22:40:17 +03:00
levlam
8116952371 Make NotificationGroupInfo.last_notification_date_ private. 2023-08-21 22:21:06 +03:00
levlam
5450d2e53d Make NotificationGroupInfo.::max_removed_notification_id_ private. 2023-08-21 22:13:19 +03:00
levlam
4e031ed7fd Make NotificationGroupInfo.max_removed_message_id_ private. 2023-08-21 21:43:26 +03:00
levlam
c40b2b95d2 Add NotificationGroupInfo::is_removed_notification. 2023-08-21 21:37:52 +03:00
levlam
f933f5a25f Add NotificationGroupInfo::set_max_removed_notification_id. 2023-08-21 20:12:30 +03:00
levlam
d22fbcaba6 Add NotificationGroupInfo constructors. 2023-08-21 19:54:12 +03:00
levlam
174f0ca5f5 Add MessagesManager::set_dialog_last_notification_checked. 2023-08-21 19:50:24 +03:00
levlam
e667e45985 Add NotificationGroupInfo::set_last_notification. 2023-08-21 19:46:09 +03:00
levlam
05b1bec6a9 Improve names of NotificationGroupInfo fields. 2023-08-21 19:36:43 +03:00
levlam
6c4545fb3f Make NotificationGroupInfo::try_reuse_ private. 2023-08-21 19:28:05 +03:00
levlam
d2cf780a1f Move class NotificationGroupInfo to a separate header. 2023-08-21 18:52:56 +03:00
levlam
74f0d49f8e Support only Main and Archive folder identifiers. 2023-08-18 17:51:31 +03:00
levlam
c8cbef60cb Save correct chat order even we aren't sure about chat folder. 2023-08-18 16:19:22 +03:00
levlam
770837bcd9 Update chat action bar only if folder_id is changed. 2023-08-18 15:56:12 +03:00
levlam
8d0627b014 Disallow story areas editing without content edit. 2023-08-15 19:39:59 +03:00
levlam
5a60e62892 Add more checks. 2023-08-15 17:55:12 +03:00
levlam
ba527b7e5d Create channel chat to apply an update, even the update will be ignored. 2023-08-15 15:03:13 +03:00
levlam
4f2ad215d3 Initialize PTS in channels from the first received update. 2023-08-15 14:53:14 +03:00
levlam
b12ade01f6 Add more checks for server StoryId. 2023-08-10 20:22:12 +03:00
levlam
6c0878e738 Simplify condition. 2023-08-09 14:56:28 +03:00
levlam
ec6c36e578 Add getBlockedMessageSenders.block_list. 2023-07-28 17:52:44 +03:00
levlam
3794e65b76 Add td_api::BlockList. 2023-07-28 17:33:47 +03:00
levlam
f0e59da1ff Process blocked_my_stories_from flags. 2023-07-28 16:19:05 +03:00
levlam
1022cc6439 Update layer to 161. 2023-07-21 15:41:44 +03:00
levlam
441482c0c4 Remove now unneeded proxies to ReactionManager. 2023-08-09 13:10:06 +03:00
levlam
9dcfd9d66d Add ReactionManager and move there all reaction-related methods from StickersManager. 2023-08-09 12:59:48 +03:00
levlam
d2add02ac9 Move get_sorted_available_reactions to StickersManager. 2023-08-09 12:07:13 +03:00
levlam
39103e07db Add ChatReactions.hpp. 2023-08-06 02:32:09 +03:00
levlam
3fa863e98e Fix misprint. 2023-08-06 01:57:08 +03:00
levlam
830da27abf Minor improvements. 2023-08-05 15:31:42 +03:00
levlam
5558825d61 Add class ReactionType. 2023-08-04 18:39:07 +03:00
levlam
50a0c551cd Remove duplicate check. 2023-08-03 15:06:44 +03:00
levlam
ff3a8e446e Add MessagesManager::load_last_dialog_message instead of get_history_from_the_end. 2023-07-28 14:33:54 +03:00
levlam
58a1ae8e8d Directly call get_history_impl if appropriate. 2023-07-28 14:19:43 +03:00
levlam
f5a066f7ed Support loading of history from the end in get_history_impl. 2023-07-28 14:12:22 +03:00
levlam
73d5b2dcbb Simplify calls to load_messages. 2023-07-28 13:50:02 +03:00
levlam
c071678be1 Add source to MessagesManager::get_history_impl. 2023-07-28 13:32:07 +03:00
levlam
2dba29669f Delete unused MessagesManager::get_history. 2023-07-28 13:22:52 +03:00
levlam
16183df0aa Adjust offset and limit in get_history_impl. 2023-07-28 13:22:07 +03:00
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
5c8b12b105 Simplify limit initialization in get_history_from_the_end_impl. 2023-07-27 18:19:10 +03:00
levlam
1fbbecca9b Don't register message users/channels for bots. 2023-07-27 13:16:48 +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
5110a188b2 Improve MessageReplyInfo logging and updating. 2023-07-24 15:56:03 +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
451c559539 Add various checks. 2023-07-23 01:41:59 +03:00
levlam
2f4b8ba8b3 Don't allow replies to supergroup creation message. 2023-07-22 23:07:51 +03:00
levlam
102222e64f Add source to on_update_channel_max_unavailable_message_id. 2023-07-22 22:40:26 +03:00
levlam
7498aad742 Improve handling of message reading up to unknown message. 2023-07-22 20:03:35 +03:00
levlam
ea848ff2e4 Fix MessagesManager::can_delete_dialog. 2023-07-22 19:58:26 +03:00
levlam
9bebe6dff6 Skip updateChannelTooLong in unknown chats. 2023-07-22 19:17:55 +03:00
levlam
ad8e887aae Keep error logging for invalid unread count only if the counters are recalculated. 2023-07-22 18:58:01 +03:00
levlam
02456042d6 Avoid expected error logging. 2023-07-22 16:38:56 +03:00
levlam
4984307f36 Improve logging. 2023-07-22 14:16:49 +03:00
levlam
240fbe5f36 Fix via_bot_user_id. 2023-07-21 14:49:12 +03:00
levlam
a3e277f7c0 Add source to get_user_force. 2023-07-20 20:38:25 +03:00
levlam
999aaaf610 Update username cache with usernames loaded from database. 2023-07-20 20:09:46 +03:00
levlam
b7551dab33 Poll maximum active story identifiers of non-contact users. 2023-07-18 13:53:22 +03:00
levlam
1b3d14a3f9 Add source to reload_user_full and reload_chat_full. 2023-07-17 18:22:41 +03:00
levlam
fc6ef9d590 Avoid expected error logging. 2023-07-13 21:55:53 +03:00
levlam
b9473decc2 Always list actor_id first in lambda capture. 2023-07-11 17:53:43 +03:00
levlam
3b28485a3f Always apply awaited sent messages. 2023-07-11 17:14:02 +03:00
levlam
bd6e6f28bc Fix handling of RegetDialogLogEvent. 2023-07-07 16:44:08 +03:00
levlam
0f8de6c91d Fix warnings. 2023-07-06 20:55:02 +03:00
levlam
aff810db0d Return back manual load_messages call if receive no messages from database to repair last message with a server-side request. 2023-07-06 01:20:34 +03:00
levlam
6ded199729 Load last chat messages if there are no known messages in the chat. 2023-07-06 01:09:32 +03:00
levlam
ad193a389c Add FileManager::get_missing_file_parts. 2023-07-05 10:55:16 +03:00
levlam
6b010c0207 Add more checks for chat existence before scheduling channel difference. 2023-07-04 15:52:06 +03:00
levlam
8d7ba4da1b Add source to schedule_get_channel_difference. 2023-07-04 15:23:39 +03:00
levlam
8bc4d800bb Forcely create all chats needed for a message before adding it. 2023-07-03 14:09:17 +03:00
levlam
9da2c92ff0 Fix source in add_message_to_dialog_message_list. 2023-07-03 13:47:08 +03:00
levlam
af9351bdfe Reload viewers of replied stories. 2023-07-02 19:10:40 +03:00
levlam
2bf47d0809 Minor fixes. 2023-07-01 16:22:01 +03:00
levlam
bcf9ff7d43 Explicitly include telegram_api.h in cpp files. 2023-07-01 14:53:04 +03:00
levlam
00f88f65f6 Repair channel unread counts if the app wasn't launched for long time. 2023-06-30 15:16:04 +03:00
levlam
c157ffbfb5 Ensure that user_ids are valid in MessageViewers. 2023-06-28 21:40:15 +03:00
levlam
26a0d109c2 Make MessageViewers fields private. 2023-06-28 21:35:59 +03:00
levlam
d3e0372b14 Use Chat as owner of stories in td_api. 2023-06-27 21:51:36 +03:00
levlam
34161cd627 Support more story chat notification settings. 2023-06-27 19:09:43 +03:00
levlam
fca432eb43 Don't reload message reactions for messages with being read reactions. 2023-06-23 14:39:07 +03:00
levlam
04c4e932fe Reload stories from viewed messages once in 5 minutes. 2023-06-23 13:40:59 +03:00
levlam
26c8c0f4fa Add td_api::reportStory. 2023-06-21 23:23:19 +03:00
levlam
d3a08e06dc Read opened stories on server. 2023-06-15 14:51:41 +03:00
levlam
f182e105eb Register web page story sender users for UserFromMessage. 2023-06-13 17:14:19 +03:00
levlam
62e7640701 Add information about Story to web page. 2023-06-13 15:45:10 +03:00
levlam
64badee6f2 Add get_message_content_min_user_ids and register story sender. 2023-06-13 13:46:12 +03:00
levlam
b46d311130 Forward stories without header. 2023-06-12 20:11:41 +03:00
levlam
4b146ee33a Add chatNotificationSettings.mute_stories/use_default_mute_stories. 2023-06-12 20:09:23 +03:00
levlam
686f0eabe6 Add td_api::messageStory and td_api::inputMessageStory. 2023-06-12 19:23:58 +03:00
levlam
0b842dec1e Register media timestamp replies to stories. 2023-06-09 14:08:16 +03:00
levlam
7c386ca353 Support media timestamps in message that a replies to stories. 2023-06-09 13:25:52 +03:00
levlam
48f97c3216 Support dropping of the replied story. 2023-06-08 20:32:57 +03:00
levlam
607ffad07f Ignore is_pinned flag for scheduled messages. 2023-06-08 19:13:53 +03:00
levlam
fa94abaccb Allow to reply stories. 2023-06-08 17:27:24 +03:00
levlam
6116573a3b Add td_api::MessageReplyTo. 2023-06-07 20:32:52 +03:00
levlam
b19b4a3e4f Improve handling of expired messages. 2023-06-07 17:00:37 +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
e7ca635db9 Improve MessageReplyHeader field names. 2023-06-05 19:45:05 +03:00
levlam
3a6494dd65 Add td_api::editStory. 2023-05-30 14:41:36 +03:00
levlam
936c27577e Check that input content is non-empty inside corresponding functions. 2023-05-25 21:25:16 +03:00
levlam
030e440757 Update layer to 160. 2023-05-01 21:07:01 +03:00
levlam
6e011cb212 Add and use full_message_id variable. 2023-06-01 15:46:57 +03:00
levlam
24d012bc73 Add td_api::searchRecentlyFoundChat. 2023-05-16 21:41:19 +03:00
levlam
f733cb56ce Fix my_recent_chooser when removing reaction. 2023-05-01 18:28:06 +03:00
levlam
e4a15cc0ef Fix MessageReaction::set_my_recent_chooser_dialog_id. 2023-05-01 18:09:27 +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
1f8129e94f Invalidate authentication codes from copied messages. 2023-04-28 16:36:07 +03:00
levlam
340312e3da Add messageSourceScreenshot and notify about screenshotted codes. 2023-04-28 14:44:35 +03:00
levlam
601a216078 Add reactions on behalf of channels. 2023-04-27 19:31:31 +03:00
levlam
e528c85550 Remove now unneeded parameters from MessageReactions::remove_reaction. 2023-04-27 16:42:38 +03:00
levlam
2d0fa11624 Support my_recent_chooser_dialog_id. 2023-04-27 16:20:54 +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
bc618b855e Replace all message reply-related fields simultaneously. 2023-06-08 20:09:42 +03:00
levlam
6f082a40d2 Improve MessagesManager::create_message_to_send. 2023-06-08 13:39:36 +03:00
levlam
e8ee1c5149 Don't force getChatHistory response for only_local requests. 2023-06-07 15:23:09 +03:00
levlam
7d83f2e15a Remove redundant check, existing also in get_history_impl. 2023-06-07 15:14:45 +03:00
levlam
ea217b10c1 Add MessagesManager::set_message_reply. 2023-06-07 00:57:27 +03:00
levlam
771771a2c7 Check reply_in_dialog_id in relevant places. 2023-06-06 14:32:56 +03:00
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