Commit Graph

2427 Commits

Author SHA1 Message Date
levlam
cd458ce522 Improve log message. 2022-05-31 16:10:11 +03:00
levlam
dc8d94383a Call get_message_id once in on_get_history. 2022-05-31 15:56:38 +03:00
levlam
bcea804864 Keep chat position if failed to add last message to it. 2022-05-31 15:39:41 +03:00
levlam
d2c6e7726f Avoid fixing last_new_message_id to yet_unsent message in secret chats. 2022-05-26 18:51:22 +03:00
levlam
c0890a5f8a Improve error message. 2022-05-26 18:35:16 +03:00
levlam
c3f9904052 Don't send typings about copied messages. 2022-05-26 17:44:14 +03:00
levlam
f8951e6154 Improve log message. 2022-05-26 17:01:47 +03:00
levlam
a136ee5caa Locally search for short usernames, beginning with @. 2022-05-26 16:53:32 +03:00
levlam
0c839c8169 Ignore QUERY_TOO_SHORT errors. 2022-05-26 16:38:37 +03:00
levlam
c5dfa59782 Fix MessagesManager::can_delete_dialog. 2022-05-24 17:41:32 +03:00
levlam
9c9a74c52d Workaround GCC 7.4.0 false warning. 2022-05-19 19:50:02 +03:00
levlam
16959e33e4 Use WaitFreeHashMap for message_id_to_dialog_id_. 2022-05-19 19:34:48 +03:00
levlam
1616513c4c Add and use MessagesManager::is_deleted_message. 2022-05-18 12:16:32 +03:00
levlam
e65c0827a4 Drop dangling replies to yet unsent messages. 2022-05-17 16:27:46 +03:00
levlam
0bf2aaf4f2 Resolve identifiers of being added secret messages by their random_id. 2022-05-17 16:19:39 +03:00
levlam
19407656b5 Add more logging and don't set unused message flags. 2022-05-17 15:30:58 +03:00
levlam
f53f750b39 Change replied message ID from yet unsent to persistent after the message is sent. 2022-05-17 15:06:40 +03:00
levlam
bf37753056 Keep reply_to_message_id for forwards to secret chats. 2022-05-16 21:10:18 +03:00
levlam
8f42c97252 Fix CHECK. 2022-05-16 20:00:59 +03:00
levlam
26ceefb2d4 Keep reply_to_message_id for yet unsent messages between restarts. 2022-05-16 19:47:06 +03:00
levlam
190117c839 Add local reply_to_message_id to forwarded by the server messages. 2022-05-16 18:11:49 +03:00
levlam
b6c7da172c Log received messages. 2022-05-15 18:37:55 +03:00
levlam
5a1a64764b Add check that there are no two new chats added simultaneously. 2022-05-15 10:53:06 +03:00
levlam
70050704d2 Remove unimplemented UploadCallback::on_progress. 2022-05-15 01:13:07 +03:00
levlam
de5f047dba Remove all emoji modifiers, including modifiers in the middle. 2022-05-12 18:02:27 +03:00
levlam
3d796860d2 Use server-side forward as copy. 2022-05-08 23:54:04 +03:00
levlam
0a91c2b097 Remove unused argument. 2022-05-05 23:07:42 +03:00
levlam
fb1efdbba8 Return back notification.is_silent. 2022-05-03 16:09:40 +03:00
levlam
4652292037 Use count instead of find if appropriate. 2022-05-01 23:03:06 +03:00
levlam
00aa9f54bd Use ContactsManager::get_dialog_id in on_get_common_dialogs. 2022-04-30 21:22:27 +03:00
levlam
f2dead72ca Use can_delete_dialog in delete_dialog_history. 2022-04-29 14:50:54 +03:00
levlam
ddbfc45925 Add MessagesManager::can_delete_dialog. 2022-04-29 14:33:35 +03:00
levlam
cdd82c67c9 Unify update variable names. 2022-04-28 18:39:05 +03:00
levlam
576c96a83d Reload number of unread reactions after receive new edited message. 2022-04-28 18:31:25 +03:00
levlam
ad65446480 Reget unread reaction count when receive update about unread reaction on unknown message. 2022-04-28 17:43:29 +03:00
levlam
36c2ef9e62 Ensure that the current user is among recent choosers of the chosen reaction. 2022-04-27 22:13:05 +03:00
levlam
ee157920e9 Expect that it is not possible to see added reactions under discussion messages. 2022-04-27 21:47:50 +03:00
levlam
7cabdbc74f Improve flags initialization in do_forward_messages. 2022-04-27 10:02:35 +03:00
levlam
17275fe422 Output the number of objects to be freed on closing. 2022-04-25 20:52:44 +03:00
levlam
13bd8044cf Add source to send_update_chat_unread_reaction_count. 2022-04-23 01:14:51 +03:00
levlam
7fcd92a622 Move is_document_file_type to FileType.cpp. 2022-04-21 21:54:33 +03:00
levlam
1a2efed26d Remove NetQuery::set_chain_ids. 2022-04-17 23:21:56 +03:00
levlam
b9036dda3e Don't call get_history_from_the_end for bots. 2022-04-17 14:33:34 +03:00
levlam
3215bb0242 Replace is_silent with sound_id in notifications. 2022-04-15 18:36:24 +03:00
levlam
163e739302 Add set_promises/fail_promises helper functions. 2022-04-13 17:40:12 +03:00
levlam
2696a4abbb Restore failed to delete messages. 2022-04-12 17:34:08 +03:00
levlam
877452f6ce Add Global::get_retry_after. 2022-04-12 16:12:22 +03:00
levlam
7a2b3abe18 Support new NotificationSound. 2022-04-11 20:01:44 +03:00
levlam
bb8c4ca42c Fix updating of Dialog.available_reactions_generation. 2022-04-11 16:01:30 +03:00
levlam
80d57a493f Move get_input_notify_peer to NotificationSettingsManager. 2022-04-11 13:06:16 +03:00
levlam
9fd72e86d0 Move scope notification settings tp NotificationSettingsManager. 2022-04-11 12:45:52 +03:00
levlam
b3a0c1dcda Fix notifications settings of newly created chats. 2022-04-08 18:08:06 +03:00
levlam
cb5fe8c7cd Move some related to notification settings methods to NotificationSettingsManager. 2022-04-08 17:17:56 +03:00
levlam
161d34fc15 Keep in chat list empty joined basic groups. 2022-04-08 15:35:21 +03:00
levlam
7c4f3c79ef Suppress expected error. 2022-04-04 20:05:34 +03:00
levlam
1f11239255 Use InvokeAfter for some chat-related requests. 2022-04-04 20:01:56 +03:00
levlam
c5d58a8158 Add source to MessagesManager::repair_server_unread_count. 2022-04-04 19:29:03 +03:00
levlam
da3baf09e9 Improve logging. 2022-04-04 19:08:47 +03:00
levlam
1d6488ab09 Add ContactsManager::is_broadcast_channel/is_megagroup_channel helpers. 2022-04-04 15:48:33 +03:00
levlam
a8a343704a Add ChannelType.h. 2022-04-04 15:35:09 +03:00
levlam
7f587c24d9 Replace get_restricted_rights with RestrictedRights constructors. 2022-04-04 14:13:51 +03:00
levlam
df24a2ec90 Add td_api::openWebView. 2022-03-31 15:05:08 +03:00
levlam
3b78712b71 Disable reaction count reloading right after it was set. 2022-03-30 11:36:52 +03:00
levlam
8d35ac0b72 Avoid duplicate source in on_get_users/chats. 2022-03-29 15:54:36 +03:00
levlam
759d02770d Allow to use deleteChatHistory to revoke messages for all members in some channels. 2022-03-29 12:14:21 +03:00
levlam
977ebca580 Allow owner to clear basic group history for everyone. 2022-03-28 21:23:12 +03:00
levlam
0375704460 Use get_input_user instead of have_input_user. 2022-03-28 20:26:28 +03:00
levlam
e8a82f9e70 Add td_api::messageWebViewDataSent/messageWebViewDataReceived. 2022-03-28 10:01:39 +03:00
levlam
479667dd1a Update layer to 140. 2022-03-18 14:46:01 +03:00
levlam
62b99ba52a Allow server to add reply_to_message_id for yet unsent messages. 2022-03-23 21:16:02 +03:00
levlam
358f9bb1ad Pass dialog_id to register_message_reply. 2022-03-23 18:27:17 +03:00
levlam
ff014add18 Reget message from server after failed to get its thread with MSG_ID_INVALID. 2022-03-22 14:59:57 +03:00
levlam
dfe41c9a0d Remove too new messages in on_get_history beforehand just in case. 2022-03-21 20:14:26 +03:00
levlam
ac4e273274 Move logging of expected errors to ERROR. 2022-03-21 19:52:07 +03:00
levlam
a434bad933 Improve error messages for forwards of messages with protected content. 2022-03-16 15:56:01 +03:00
levlam
37123a50ff Don't create vectors using set iterators. 2022-03-12 13:22:07 +03:00
levlam
1f38124861 Use FlatHashSet. 2022-03-11 21:38:48 +03:00
levlam
8b16cf7271 Make all fields in Dependencies class private. 2022-03-11 15:31:28 +03:00
levlam
a136a9d22b Move methods inside Dependencies class. 2022-03-11 15:10:24 +03:00
levlam
88ce431f39 Minor fixes. 2022-03-09 03:27:03 +03:00
levlam
83d26f3335 Add parameter only_preview to sendMessageAlbum. 2022-02-22 22:42:46 +03:00
levlam
679b70efa5 Return message objects from MessagesManager::send_message_group. 2022-02-22 21:51:35 +03:00
levlam
4e1f2cbf8b Add td_api::searchOutgoingDocumentMessages. 2022-02-22 15:58:16 +03:00
levlam
985927fa2a Never fetch reactions for service messages. 2022-03-08 21:05:46 +03:00
levlam
7102117ed4 Send at most one getMessageViews query for a given message. 2022-03-07 20:17:00 +03:00
levlam
ceb966123b Poll message views every 15 seconds. 2022-03-07 15:34:07 +03:00
levlam
a2d7450d55 Update message reactions, only if the user is online. 2022-03-07 15:24:45 +03:00
levlam
8f5bac2fe0 Reload message reactions every 15 seconds. 2022-03-07 15:20:22 +03:00
levlam
c5908619c2 Reload reactions in new viewed messages. 2022-03-07 14:27:42 +03:00
levlam
04aabd8825 Don't allow to add yet unsent messages to downloads. 2022-03-04 15:16:20 +03:00
levlam
fdd218de4a Reset updateFileDownloads after all downloaded messages are viewed. 2022-03-03 13:44:05 +03:00
levlam
4d7afaedbb Improve DownloadManager initialization. 2022-03-01 23:09:40 +03:00
levlam
119999e684 Improve log message. 2022-03-01 22:12:59 +03:00
levlam
a59e6b8ffe Add static_assert that flag in STORE_FLAG/PARSE_FLAG is bool. 2022-03-01 21:39:24 +03:00
levlam
68e1e7c0e8 Don't try to reload yet unreceived messages with unread reactions. 2022-03-01 20:50:28 +03:00
levlam
1f300c50e0 DownloadManager fixes. 2022-02-28 18:25:07 +03:00
levlam
3e4128fc1d Add triggers for file removal from Downloads and search text changes. 2022-02-28 02:43:53 +03:00
levlam
a3cef00551 DownloadManager fixes and improvements. 2022-02-27 18:23:06 +03:00
levlam
4524ba0380 Add FileReferenceManager::get_file_info. 2022-02-26 21:52:14 +03:00
levlam
21a71e6441 Minor improvements. 2022-02-25 16:18:23 +03:00
Arseny Smirnov
97b2d3edd2 Td: proxy queries to DownloadManager 2022-02-25 13:11:30 +01:00
Arseny Smirnov
a59f262b26 AddFileToDownloads method 2022-02-23 20:56:03 +01:00
levlam
7af61c03af Fix get_channel_difference_if_needed for searchCallMessages. 2022-02-22 22:54:00 +03:00
levlam
e618758302 Add message sender to get_message_text source. 2022-02-17 15:48:39 +03:00
levlam
24d2505f5b Improve pts extraction from updates. 2022-02-16 21:18:36 +03:00
levlam
0646eb3f2e Combine reload_message_reactions queries. 2022-02-16 17:09:26 +03:00
levlam
ddf1bdc5c4 Simplify parse_message and on_get_message_from_database. 2022-02-16 01:39:20 +03:00
levlam
644971c314 Always save and update available_reactions_generation. 2022-02-15 23:25:00 +03:00
levlam
b4d5d00f1e Add available_reactions_generation and increase it each time reactions are shown or hidden in the chat. 2022-02-15 17:11:29 +03:00
levlam
ec4069b96a Sync reactions after getMessageAddedReactions if needed. 2022-02-14 11:34:12 +03:00
levlam
0d79671f15 Add MessagesManager::update_message_reactions. 2022-02-12 14:15:14 +03:00
levlam
3d8e5e00e4 Allow arbitrary reaction order in setChatAvailableReactions. 2022-02-10 20:35:42 +03:00
levlam
d5d4f4acf7 Fix remaining FlatHashMap usages. 2022-02-10 18:03:03 +03:00
levlam
c88955a8b7 Load unknown messages to process updateMessageReaction. 2022-02-08 18:48:09 +03:00
levlam
367a0101d2 Send updateChatUnreadReactionCount if can't sent updateMessageUnreadReactions. 2022-02-08 14:56:25 +03:00
levlam
bcc2adeb47 Fix includes and formatting. 2022-02-08 00:04:34 +03:00
Arseny Smirnov
86bceb2972 td: replace most of std::unordered_map usages to td::FlatHashMap 2022-02-07 21:21:31 +01:00
levlam
77060757eb Improve ordering of all message send requests. 2022-02-06 00:56:19 +03:00
levlam
b845766bd1 Add class ChainId. 2022-02-05 23:28:43 +03:00
levlam
17fb8ff6fc Replace SendSecretMessageActor with a function. 2022-02-04 16:25:37 +03:00
levlam
6e82e51243 Remove all NetActorOnce usages. 2022-02-04 00:46:10 +03:00
levlam
649f2b85f5 Rename chains to chain_ids in NetQuery. 2022-02-03 22:32:47 +03:00
levlam
8b92e8f978 Optimize checked insert to std::map. 2022-02-03 16:24:09 +03:00
levlam
877b5fce00 Allow to set again the same big reaction. 2022-02-03 13:47:18 +03:00
levlam
02b99d0fbf Remove includes of SequenceDispatcher.h from headers. 2022-02-01 19:34:14 +03:00
Arseny Smirnov
ad38f712e8 SequenceDispatcher: hide usage into NetQueryDispatcher 2022-02-01 18:51:36 +03:00
levlam
c783115974 Fix warnings. 2022-01-31 22:00:00 +03:00
levlam
ee3c674df1 Fix setChatAvailableReactions. 2022-01-31 18:59:39 +03:00
levlam
b1b945e239 Minor fixes. 2022-01-31 15:56:44 +03:00
levlam
ccd450789b Fix message index mask. 2022-01-31 04:04:20 +03:00
levlam
24f6ba4faf Improve updates order and logging in update_message. 2022-01-31 03:27:29 +03:00
levlam
462797b48a Disable local can_get_added_reactions in private chats. 2022-01-30 13:48:32 +03:00
levlam
fe4232ca79 Add MessageReactions logging. 2022-01-30 13:24:27 +03:00
levlam
abb2c1a105 Ignore reaction updates while setting reaction. 2022-01-30 12:55:27 +03:00
levlam
3150b3d491 Add readAllChatReactions. 2022-01-30 12:37:24 +03:00
levlam
3739c5b92f Replace translateMessage with translateText. 2022-01-29 23:43:57 +03:00
levlam
41a5248169 Read unread reactions. 2022-01-28 20:27:39 +03:00
levlam
1cf2a9e9c9 Check that unread_reaction_count was changed before setting it. 2022-01-28 19:59:18 +03:00
levlam
5098dac338 Add and use has_unread_message_reactions. 2022-01-28 19:57:50 +03:00
levlam
fd8d15e2d2 Add td_api::searchMessagesFilterUnreadReaction. 2022-01-28 19:12:33 +03:00
levlam
71a8abb92d Implement Chat.unread_reaction_count. 2022-01-28 18:39:13 +03:00
levlam
e5084491f6 Add Message.unread_reactions. 2022-01-28 17:10:17 +03:00
Arseny Smirnov
452f60be0b SequenceDispatcher: support multiple chains 2022-01-28 17:06:54 +03:00
Arseny Smirnov
355c2950ad ChainScheduler - new implementation of SequenceDispatcher 2022-01-28 15:50:59 +03:00
levlam
4c98811b03 Reload linked chat full info when a chat is opened. 2022-01-27 18:53:03 +03:00
levlam
c0a2c0de8b Use get_message_active_reactions instead of get_dialog_active_reactions if appropriate. 2022-01-27 18:17:29 +03:00
levlam
e9a155a2a6 Fix MessagesManager::get_message_available_reactions for private chats. 2022-01-27 17:00:44 +03:00
levlam
274d0babb8 Add Message.can_get_added_reactions. 2022-01-27 15:58:20 +03:00
levlam
1fdfd036bb Use get_dialog_active_reactions if appropriate. 2022-01-27 15:25:41 +03:00
levlam
f00e7aae59 Fix empty reaction in setMessageReaction. 2022-01-27 14:19:51 +03:00
levlam
f9c6fb14f6 Relaod message reactions if failed to set reaction. 2022-01-26 18:48:46 +03:00
levlam
262d63564d Fix misprint. 2022-01-26 17:25:55 +03:00
levlam
97e0288363 Check that reaction is among available reactions before set it locally. 2022-01-26 16:51:47 +03:00
levlam
ba5c326ba8 Support sending big reactions. 2022-01-26 16:41:41 +03:00
levlam
1901eafe8a Add td_api::getMessageAvailableReactions. 2022-01-26 15:25:03 +03:00
levlam
6a288e2516 Hide reactions if they are disabled in the chat. 2022-01-26 13:49:17 +03:00
levlam
5edc92dd72 Update recent reaction choosers in setMessageReaction. 2022-01-26 12:50:41 +03:00
levlam
bad018bc32 Sort message reactions by the number of choosers. 2022-01-26 12:01:14 +03:00
levlam
9eb3a9a403 Remove chosen reaction when it is again. 2022-01-26 11:02:20 +03:00
levlam
4c4b609448 Reload full dialog info if failed to set available reactions. 2022-01-24 17:51:39 +03:00
levlam
ce19ad822b Add td_api::setMessageReaction. 2022-01-21 20:39:55 +03:00
levlam
05a069d221 Use MessageSender for recent reaction choosers. 2022-01-21 13:15:27 +03:00
levlam
7c4d333a77 Support updateMessageReactions. 2022-01-21 11:53:18 +03:00
levlam
739d2b292d Add MessageReactions. 2022-01-20 22:54:34 +03:00
levlam
4a2cace483 Keep only active reactions. 2022-01-19 20:35:49 +03:00
levlam
5f14c85a33 Send updateChatAvailableReactions updates when the list of active reactions changes. 2022-01-19 20:04:59 +03:00
levlam
facb8f754a Move list of active reactions to MessagesManager. 2022-01-19 18:59:48 +03:00
levlam
4e657b73ab Return all reactions as available in private chats. 2022-01-19 18:10:16 +03:00
levlam
06a67030a0 Use reload_dialog_info_full instead of get_dialog_info_full to guarantee that the data will be reloaded. 2022-01-19 14:37:07 +03:00
levlam
1441de578b Don't treat messages sent to secret chats as copied, because media files can be needed to be reuploaded anyway. Relative order of forwarded to secret chats media will be kept now, but ordering with forwarded text messages can still be broken. 2022-01-17 16:07:54 +03:00
levlam
8339a5818e Add td_api::translateMessage. 2022-01-14 22:28:28 +03:00
levlam
7974571615 Add more close_flag checks. 2022-01-13 17:28:10 +03:00
levlam
e89b3eeb9b Improve log messages. 2022-01-10 16:18:54 +03:00
levlam
b0ad4e5e62 Add td_api::setChatAvailableReactions. 2022-01-05 16:23:35 +03:00
levlam
3becacf304 Add chat.available_reactions and updateChatAvailableReactions. 2022-01-04 16:33:57 +03:00
KnorpelSenf
789b9c0a55 Fix much typos 2022-01-25 16:07:36 +03:00
levlam
fa8feefed7 Reduce total timeout limit to 2 for messages.setTyping. 2022-01-03 08:57:11 +03:00
levlam
c075ad7b00 Don't keep setTyping query reference for bots. 2022-01-03 08:01:26 +03:00
levlam
8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam
ed766a4d2f Add flag messageSendOptions.protect_content. 2021-12-28 18:19:19 +03:00
levlam
20a460aeb3 Update layer to 136. 2021-12-28 17:19:18 +03:00
levlam
a81ab8abba Remove viewSponsoredMessage in favor of viewMessages. 2021-12-27 18:17:02 +03:00
levlam
aca4cd3b3f Ignore invalid last_database_server_dialog_date_ instead of trying to repair it. 2021-12-25 02:10:06 +03:00
levlam
b24c188ac0 Drop definitely incorrect folder.last_database_server_dialog_date_. 2021-12-24 23:18:40 +03:00
levlam
9cf4851c5b Ignore dialog dates with 0 date. 2021-12-24 22:59:05 +03:00
levlam
e71f9f6d75 Remove unneeded includes. 2021-12-22 21:07:42 +03:00
levlam
9221df532c Move MinChannel and MessageReplyInfo storers to hpp. 2021-12-22 20:29:54 +03:00
levlam
160ab905f1 Fix handling of min-channels in recent repliers. 2021-12-22 20:15:18 +03:00
levlam
7b84f42e87 Ensure that is_channel_post is false for non-broadcast messages. 2021-12-22 14:43:34 +03:00
levlam
d6df315769 Avoid new clang warning bitwise-instead-of-logical. 2021-12-21 16:59:16 +03:00
levlam
cbc6d25a44 Replace user_id with member_id in chatEventLog. 2021-12-21 14:53:22 +03:00
levlam
4e29d0e232 Rename message_ttl_setting to message_ttl. 2021-12-21 14:06:15 +03:00
levlam
81cebe39eb Improve naming of selected message sender in a chat. 2021-12-21 13:49:26 +03:00
levlam
ae91e885a1 Improve logging. 2021-12-21 03:26:07 +03:00
levlam
27a42b88c8 Save need_drop_default_send_message_as_dialog_id between restarts. 2021-12-20 22:54:20 +03:00
levlam
40c74a5d0a Suppress expected warning. 2021-12-20 20:55:47 +03:00
levlam
3f28ce86d6 Postpone drop of default message sender until the chat is opened. 2021-12-20 20:23:26 +03:00
levlam
2b9a5741b2 Ensure that there are at most 3 recent pending join requests. 2021-12-20 15:42:28 +03:00
levlam
0ab05735c0 Silence expected warnings. 2021-12-18 23:15:06 +03:00
levlam
b060536ae3 Return Result<...> from get_input_user. 2021-12-16 22:46:03 +03:00