Commit Graph

2105 Commits

Author SHA1 Message Date
levlam
1915dec1ae Add MessagesManager::generate_new_random_id. 2021-10-20 01:36:00 +03:00
levlam
1e49f6dc13 Use auto as variable type if it is initialized with a cast. 2021-10-20 01:27:02 +03:00
levlam
db7aa28bdf A lot more minor improvements. 2021-10-19 18:11:16 +03:00
levlam
9b7957c9c6 Minor warning fixes. 2021-10-17 13:07:20 +03:00
levlam
ea97e2cb88 Early check access rights in searchChatMessages. 2021-10-16 22:20:39 +03:00
levlam
49e68ad456 Don't repair active group call ID for bots. 2021-10-11 10:20:43 +03:00
levlam
dbc7ffcca5 Force unread count recalculation after each loaded chat list slice. 2021-10-11 10:03:34 +03:00
levlam
4d8abe394e Fix continuation of chat list loading. 2021-10-11 01:23:17 +03:00
levlam
a0ad0ee2f8 Repair server_dialog_total_count only if it is unknown. 2021-10-10 22:00:17 +03:00
levlam
f925aca76e Add more chat list loading logging. 2021-10-10 21:17:34 +03:00
levlam
f8d1134ca2 Improve logging. 2021-10-10 00:01:37 +03:00
levlam
628a490e2a Use request promise in getBlockedMessageSenders. 2021-10-09 22:05:23 +03:00
levlam
328c5b57d2 Add Global::request_aborted_error. 2021-10-07 16:36:21 +03:00
levlam
3b794126d8 Avoid G usage in lambda promises. 2021-10-07 15:28:52 +03:00
levlam
b34cfef4d0 Replace begin_transaction with begin_read_transaction and begin_write_transaction. 2021-10-07 13:18:00 +03:00
levlam
e18901953a Don't capture td in lambda Promise in MessagesManager. 2021-10-06 23:10:57 +03:00
levlam
9e1147bc89 Fix SleepActor usages. 2021-10-06 20:22:50 +03:00
levlam
223e620653 Ensure that notification.date > 0. 2021-10-06 15:46:10 +03:00
levlam
fed1bf5ef3 Don't read automatically messages sent to support bots. 2021-10-06 14:48:05 +03:00
levlam
88886f3676 Check close_flag just before accessing Td pointer. 2021-10-06 14:39:01 +03:00
levlam
557c5d1d4c Use request promise in searchChatRecentLocationMessages. 2021-10-06 14:22:42 +03:00
levlam
f10abb253e Add database consistency checks. 2021-10-04 11:01:49 +03:00
levlam
b6d9252279 Update message_count_by_index even there is no message database. 2021-10-03 15:12:56 +03:00
levlam
11af0a058d Add source to get_message_object. 2021-10-03 14:54:40 +03:00
levlam
e2bbd02d8c Check that server returns messages in the correct chat in event log. 2021-10-03 14:20:52 +03:00
levlam
49ab7cd53a Use messages.getSearchCounters. 2021-10-03 13:47:50 +03:00
levlam
cd9a89fd7d Send updateAnimatedEmojiMessageClicked in non-opened chats. 2021-10-01 20:05:11 +03:00
levlam
4a185caa74 Check message_id of loaded from database messages. 2021-10-01 16:43:02 +03:00
levlam
ad3b9c822d Use struct MessagesDbDialogMessage to return messages in a known chat from database. 2021-10-01 12:55:12 +03:00
levlam
813e32a265 Simplify on_get_message_from_database usage. 2021-10-01 11:36:32 +03:00
levlam
314035a129 Use MessagesDbMessage instead of std::pair. 2021-10-01 11:22:56 +03:00
levlam
0686a0cade Exclude chats from chat list from the local public chats search. 2021-09-29 18:40:36 +03:00
levlam
14c2a990b1 Add get_draft_message function. 2021-09-29 14:06:43 +03:00
levlam
2ce0be4fe7 Remove getChatStatisticsUrl method. 2021-09-28 19:08:36 +03:00
levlam
c5a2e9a870 Load only chats with known info in MessagesManager::load_dialogs. 2021-09-26 19:38:27 +03:00
levlam
95d60959b1 Remove redundant checks for is_bot. 2021-09-24 11:07:12 +03:00
levlam
d6f3d9f08a Use error code 400 instead of small error codes. 2021-09-24 10:59:51 +03:00
levlam
2ec2e4d78f Use "set"/"toogle" instead of "change". 2021-09-24 10:42:39 +03:00
levlam
e212d1293d Send stats.getMessagePublicForwards to the correct DC. 2021-09-24 09:07:38 +03:00
levlam
bc4058b8be Add and use MessagesManager::get_channel_differences_if_needed. 2021-09-23 23:34:55 +03:00
levlam
910f60c145 Use Promise instead of RequestActor in getMessagePublicForwards. 2021-09-23 22:56:38 +03:00
levlam
fbd2309b37 Don't remove emoji modifiers in chat action emojis. 2021-09-23 17:16:59 +03:00
levlam
d04aed1146 Fix CHECK. 2021-09-19 20:20:58 +03:00
levlam
3883ffcc75 Check emoji in incoming chatActionEnjoyingAnimations. 2021-09-19 01:52:56 +03:00
levlam
db18baa503 Unify include order. 2021-09-19 00:47:05 +03:00
levlam
551103a084 Send updateAnimatedEmojiMessageClicked only in opened chats. 2021-09-18 21:26:22 +03:00
levlam
5de53e09eb Add updateAnimatedEmojiMessageClicked. 2021-09-17 15:51:42 +03:00
levlam
5fd11e4b7a Add td_api::clickAnimatedEmojiMessage. 2021-09-16 00:41:40 +03:00
levlam
02ae56ae8a Improve validness checks for UserId/ChatId/ChannelId. 2021-09-14 17:09:40 +03:00
levlam
f197d61c66 Support message viewers-related config options. 2021-09-03 19:06:24 +03:00
levlam
623633bb35 Add flag message.can_get_viewers. 2021-09-03 16:45:28 +03:00
levlam
a4f66c69cb Add td_api::getMessageViewers. 2021-09-03 16:14:03 +03:00
levlam
41c391f140 Update layer to 133. 2021-09-03 12:27:59 +03:00
levlam
d3e8029533 Delete unneded refs from set_typing_query_. 2021-09-17 12:33:59 +03:00
levlam
3cd1489eab Simplify discussed message preloading. 2021-09-16 17:32:51 +03:00
levlam
48f623f132 Simpler and faster have_message_force. 2021-09-16 17:28:33 +03:00
levlam
418db412c4 Add CHECK debug. 2021-09-16 15:39:44 +03:00
levlam
96a9fb5f66 Fix delete_sent_message_from_server. 2021-09-16 15:18:31 +03:00
levlam
ded0b57905 Add td_api::getRecentlyOpenedChats. 2021-09-14 14:18:37 +03:00
levlam
27d4810cb1 Add check that message isn't nullptr. 2021-09-14 13:44:26 +03:00
levlam
77c8eb9617 Add promise to RecentDialogList::get_dialogs. 2021-09-13 20:52:17 +03:00
levlam
5bec536803 Add class RecentDialogList. 2021-09-13 20:34:57 +03:00
levlam
488e5699b7 Send updateDeleteMessages for failed to add just sent messages. 2021-09-12 21:55:03 +03:00
levlam
b274c7dc85 Fix input_peer checks in toggle_message_sender_is_blocked. 2021-09-12 20:48:35 +03:00
levlam
5dfd9ac9af Disallow changing chat themes in group chats. 2021-09-11 23:24:46 +03:00
levlam
5c59a10418 Move game-related methods to GameManager. 2021-09-07 10:45:01 +03:00
levlam
0ec10947d5 Fix some misprints. 2021-09-06 13:58:40 +03:00
levlam
96ffd57881 Use Promise isntead of RequestOnceActor to get games high scores. 2021-09-05 10:54:20 +03:00
levlam
db4f963a68 Fix via_bot_user_id in game messages forwarded by the bot itself. 2021-09-02 22:21:26 +03:00
levlam
5a56ecea2a Remove pessimizing std::move. 2021-09-02 11:28:50 +03:00
levlam
b1db807868 Add forwardMessages.only_preview. 2021-08-31 23:37:21 +03:00
levlam
23a4c2c8a8 Return Message objects from send_message/forward_messages. 2021-08-31 22:34:46 +03:00
levlam
548ab8d7ee Add MessagesManager::get_forwarded_messages. 2021-08-31 20:39:32 +03:00
levlam
70a9d555a0 Split copied and forwarded new_media_album_ids just in case. 2021-08-31 20:09:00 +03:00
levlam
87e003916c Add MessagesManager::fix_forwarded_message. 2021-08-31 19:42:37 +03:00
levlam
52d605ed4d Add MessagesManager::create_message_forward_info. 2021-08-31 19:12:24 +03:00
levlam
dec26260d3 Add const MessagesManager::create_message_to_send. 2021-08-31 17:26:51 +03:00
levlam
f6fc10ab22 Add updateChatTheme. 2021-08-27 20:36:40 +03:00
levlam
abcfe46275 Fix MessageContentType::ChatSetTheme support. 2021-08-27 19:29:58 +03:00
levlam
c20fd1dd91 Add td_api::setChatTheme. 2021-08-27 19:23:22 +03:00
levlam
021474e8be Add chatEventThemeChanged. 2021-08-27 11:53:50 +03:00
levlam
5cfabdd589 Add chat.theme_name. 2021-08-23 18:47:32 +03:00
levlam
b4dc516b44 Add unread_count to MessageThreadInfo. 2021-08-13 18:24:00 +03:00
levlam
84be6f4485 Update layer to 132. 2021-08-12 21:15:08 +03:00
levlam
43d837df4e Call MessagesManager::on_load_folder_dialog_list_fail only once. 2021-08-12 16:33:39 +03:00
levlam
d9aa50e1be Use get_dialogs_from_list instead of get_dialogs. 2021-08-12 15:16:13 +03:00
levlam
307344da1c Remove promise from load_folder_dialog_list. 2021-08-11 16:32:00 +03:00
levlam
d49fdf3261 Remove offset from getChats and respect app-specified limit. 2021-08-11 15:59:09 +03:00
levlam
c35321b98e Add loadChats method. 2021-08-10 17:52:31 +03:00
levlam
fcfbb38f63 Fix MessageId::is_valid_scheduled. 2021-08-25 11:29:57 +03:00
levlam
8559392f6f Fix Dialog pts in run_after_channel_difference. 2021-08-25 11:21:17 +03:00
levlam
628648cd6c Use set_dialog_last_pinned_message_id instead of on_update_dialog_last_pinned_message_id. 2021-08-25 11:09:24 +03:00
levlam
dbdf69d076 Simplify on_update_dialog_last_pinned_message_id. 2021-08-25 11:03:07 +03:00
levlam
0f50f7a0f4 Ensure that channel Dialog exists before setting retry timeout. 2021-08-19 08:57:01 +03:00
levlam
d161323858 Add delay before reading history on server in non-joined channels with wrong server_unread_count. 2021-08-15 14:46:19 +03:00
levlam
9a5872fe27 Use update receive time to calculate proper gap time. 2021-08-15 12:46:38 +03:00
levlam
e62655efdf Add message.has_timestamped_media. 2021-08-13 14:49:24 +03:00
levlam
1885d232a9 Add parameter is_message_in_dialog to update_message. 2021-08-13 13:36:07 +03:00
levlam
4b06cb9f08 Avoid reply and bot commands registration for messages not in Dialog. 2021-08-13 13:19:58 +03:00
levlam
bff8f7550f Return MessageThreadInfo from GetDiscussionMessageQuery. 2021-08-13 12:26:47 +03:00
levlam
394e3450de Send updateMessageContent only for message known to the app. 2021-08-10 16:18:08 +03:00
levlam
bed3448fe1 Don't store server-generated message links. 2021-08-10 15:58:39 +03:00
levlam
db9db0eff1 Improve for_group flag in media timestamp links. 2021-08-09 20:47:03 +03:00
levlam
4b631b16bf Find MediaTimestamp entities in old messages. 2021-08-09 19:37:47 +03:00
levlam
0c3a9aebd8 Fix CHECK. 2021-08-09 17:48:57 +03:00
levlam
eee773901c Update max_reply_media_timestamp in replies when needed. 2021-08-06 05:55:43 +03:00
levlam
40d953ba20 Init max media timestamps for scheduled messages. 2021-08-05 10:41:13 +03:00
levlam
0e6584db87 Send updateChatLastMessage if content of the last yyet unsent message changes. 2021-08-05 10:13:06 +03:00
levlam
4ae305d8c4 Update max_media_timestamp when message content is changed. 2021-08-05 09:59:43 +03:00
levlam
9653cc9e3e Add separate get_message_content_media_duration. 2021-08-05 02:09:04 +03:00
levlam
da3b8f93a0 Hide too big media timestamps. 2021-08-04 09:28:53 +03:00
levlam
304280df69 Add message.can_get_media_timestamp_links. 2021-08-04 07:57:27 +03:00
levlam
389e92f1f4 Add skip_media_timestamps parameter to get_formatted_text. 2021-07-26 22:48:33 +03:00
levlam
3c7cf84216 Don't call ExportChannelMessageLinkQuery for bots. 2021-08-07 09:10:28 +03:00
levlam
5a8f8fbe82 Support awaited updates with promise in process_get_channel_difference_updates. 2021-08-06 07:07:03 +03:00
levlam
2f5020ad02 Improve logging. 2021-08-06 06:54:44 +03:00
levlam
0dc42e4410 Add source to get_message_sender_object. 2021-08-03 01:58:02 +03:00
levlam
9e7bce1b06 Don't warn about sent message ID decrease after message ID overflow. 2021-08-02 07:21:36 +03:00
levlam
d1b985430c Add source to ContactsManager::load_user_full. 2021-08-02 06:14:59 +03:00
levlam
34e9dc11d6 Init message_ttl_setting in all writable chats. 2021-08-02 06:07:38 +03:00
levlam
6ef446c642 Postpone updates in unknown channels with running getDifference. 2021-08-02 05:52:47 +03:00
levlam
3156492c2f Add source to ContactsManager::load_channel_full. 2021-08-02 05:50:52 +03:00
levlam
1299bc67d4 Load at most 10 messages from the server to repair last message ID if there is no database. 2021-08-02 04:19:19 +03:00
levlam
b02c9a3627 Get history after channelDifference, only if this is still needed after processing postponed responses. 2021-08-02 04:04:32 +03:00
levlam
1223c72741 Add class EncryptedFile. 2021-08-01 06:17:51 +03:00
levlam
966e8b1311 Simpler empty class creation. 2021-07-31 09:52:23 +03:00
levlam
cbb496675d Check that new messages received in the correct order in channelDifference. 2021-07-31 08:18:19 +03:00
levlam
09cab2b846 Apply awaited sent messages before they are deleted. 2021-07-31 08:07:26 +03:00
levlam
3e2d900e29 Check validness of updates in channelDifference. 2021-07-31 05:18:59 +03:00
levlam
11c3a16353 Check update type once in process_get_channel_difference_updates. 2021-07-31 04:55:05 +03:00
levlam
5171d793d0 Don't set have_next to true if all next messages were deleted. 2021-07-30 17:50:28 +03:00
levlam
93ac629a74 Save is_channel_difference_finished for uncreated dialogs. 2021-07-30 06:04:31 +03:00
levlam
77c20cd82f Run channelDifference before messages can be added to the chat. 2021-07-30 05:58:24 +03:00
levlam
fba5f2fa04 Simplify on_get_history using that d != nullptr since 31 Aug 2016. 2021-07-30 05:40:13 +03:00
levlam
ed15c1078b Apply postponed channel updates even Dialog wasn't created. 2021-07-30 04:56:39 +03:00
levlam
50052f63ef Don't update message if edit_date decreased. 2021-07-30 04:49:04 +03:00
levlam
c2028aed4f Add limit on maximum videoNote size. 2021-07-29 23:39:07 +03:00
levlam
f0333aa578 Postpone updates in unknown channel instead of dropping. 2021-07-29 21:43:03 +03:00
levlam
bc8544299b Repeat getHistory request if some new server messages aren't received. 2021-07-29 06:07:11 +03:00
levlam
c1d69fcc32 Ensure that if Dialog is_empty, than we have_full_history. 2021-07-29 03:39:05 +03:00
levlam
c07562ed52 Repair last message after getChannelDifference if it is still unknown. 2021-07-29 03:32:08 +03:00
levlam
be53ea2e1c Move retry_get_difference_timeout out of Dialog to allow retries for unknown dialogs. 2021-07-29 02:52:59 +03:00
levlam
d5a19f0a82 Don't add last new message in on_get_dialog if it is supposed to be added through get_channel_difference. 2021-07-29 02:42:53 +03:00
levlam
645973c0a3 Avoid channel dialog creation by new updates, which can't be applied anyway. 2021-07-29 02:04:28 +03:00
levlam
91f8bb48ac Improve condition for channelDifference. 2021-07-27 01:46:22 +03:00
levlam
bc5efb771d Improve can_message_content_have_media_timestamp. 2021-07-26 04:50:08 +03:00
levlam
20a98ad7c9 Support media_timestamp in getMessageLink. 2021-07-26 04:01:10 +03:00
levlam
bfa0973dec Support media timestamp in message links. 2021-07-26 02:40:36 +03:00
levlam
8a745b3480 Add logging when identifier of being sent message decreases. 2021-07-25 05:05:48 +03:00
levlam
ecd92fa501 Fix removing from chat list empty chat. 2021-07-22 20:19:16 +03:00
levlam
562af8b4f6 Add more logging in unload_dialog. 2021-07-22 18:43:34 +03:00
levlam
4e27f67cd0 Ensure that ttl_expires_in is in a valid range. 2021-07-22 17:52:49 +03:00
levlam
aa71db8da1 Update message content when has_bots is changed. 2021-07-22 06:54:43 +03:00
levlam
ca480ecaf1 Simplify MessagesManager::send_update_message_content. 2021-07-22 05:53:39 +03:00
levlam
e0c9efc26b Skip bot command entities if needed. 2021-07-22 05:39:16 +03:00
levlam
cf579c761a Add Dialog.has_bots flag. 2021-07-22 04:10:40 +03:00
levlam
a393bc5f71 Don't send message history requests to database if no returned messages can be added. 2021-07-21 06:24:02 +03:00
levlam
bd9a03d7e8 Don't send message histor requests to database if have no first_database_message_id. 2021-07-21 06:16:30 +03:00
levlam
bf1c94ee0d Reget message history from database if it is outdated. 2021-07-19 21:38:04 +03:00
levlam
3d84afbea8 Add get_history methods, which with Dialog as parameter. 2021-07-19 20:56:30 +03:00
levlam
4caf74a86f Don't repair last message by getHistory in a chat created by new message. 2021-07-18 06:16:08 +03:00
levlam
345b4d3ba1 Improve error message. 2021-07-18 03:20:52 +03:00
levlam
576724f234 Don't fill gaps in non-joined never opened channels. 2021-07-14 22:53:30 +03:00
levlam
e74cdb3de6 Add logging when a chat isn't marked as empty, despite having no server messages. 2021-07-14 22:18:27 +03:00
levlam
ae01af88c3 Continue to get history from the database or drop last_database_message_id if it seems to be wrong. 2021-07-14 22:13:28 +03:00
levlam
8f8e260521 Use last received message ID to adjust last_database_message_id, if there were no messages added. 2021-07-14 21:49:35 +03:00
levlam
69072e1a8f If last received from database message is first_database_message, but it fails to be added, then drop database message IDs anyway. 2021-07-14 21:31:53 +03:00
levlam
4f37b10783 Postpone loading history from database after the last message is deleted to process deletions of other messages first. 2021-07-14 21:24:15 +03:00
levlam
7e2554d9ac Don't reload all messages with web pages from the server. 2021-07-08 17:37:23 +03:00
levlam
0dc4b5a469 Add source to get_messages_from_server. 2021-07-08 17:09:16 +03:00
levlam
1af1836e8f Remove action bar after unarchiving group chats. 2021-07-07 20:04:18 +03:00
levlam
b18b5309b6 Minor improvements. 2021-07-05 19:28:39 +03:00
levlam
40c5d47717 Make inherited classes final if possible. 2021-07-04 05:58:54 +03:00
levlam
edfa5d1d98 Use final instead of override. 2021-07-03 23:51:36 +03:00
levlam
50a8e66965 Improve error messages. 2021-06-26 04:20:59 +03:00
levlam
50d2d0ff00 Don't init last_new_message_id with max_unavailable_message_id.
The message with last_new_message_id must be the latest existing server message,
after which all messages will be received through updates.
2021-06-25 03:26:59 +03:00
levlam
4c49acc440 Explicitly use mentioned function instead of a comment. 2021-06-24 23:17:13 +03:00
levlam
5c622801f6 Expect no access to message sender chat. 2021-06-24 22:13:57 +03:00
levlam
df12ea836b Create sender_dialog_id if possible. 2021-06-23 13:11:05 +03:00
levlam
9940dd74db Remove botInfo class from API. 2021-06-21 04:14:29 +03:00
levlam
9440925711 Move some classes inside corresponding managers. 2021-06-18 03:06:20 +03:00
levlam
d069de6a8b Drop channel pts in inaccessible channels. 2021-06-16 02:54:17 +03:00
levlam
197992da2c Add logging on failed check. 2021-06-09 00:56:08 +03:00
levlam
d80b613b55 Remove support for secret chat layers before 73. 2021-06-08 18:31:29 +03:00
levlam
4b2c948a99 Minor. 2021-06-04 02:18:57 +03:00
levlam
a96bf1531a Use FullMessageId in get_login_button_url. 2021-06-03 23:37:56 +03:00
levlam
126a20c318 Reload voice chat when user opens a voice chat link. 2021-06-03 20:16:14 +03:00
levlam
9cecc116f3 Prefer US spelling of "canceled". 2021-05-31 21:51:48 +03:00
levlam
374b7eeaec Disable notifications about messages sent before authorization just in case. 2021-05-29 23:08:08 +03:00
levlam
5832a59ee5 Move get_message_link_info to LinkManager. 2021-05-27 20:47:04 +03:00
levlam
2d534e48d6 Move get_dialog_invite_link_hash to LinkManager. 2021-05-27 20:31:06 +03:00
levlam
d6e3a56ab8 Use LinkManager::get_link_info in get_message_link_info. 2021-05-25 17:16:50 +03:00
levlam
acd6caae9b Add class td_api::InternalLinkType and parse some intenal links. 2021-05-25 17:06:27 +03:00
levlam
62db52a23e Move LoginUrl-related methods to LinkManager. 2021-05-25 02:39:29 +03:00
levlam
a6a4eb6616 Don't include SliceBuilder.h in logging.h. 2021-05-17 15:21:11 +03:00
levlam
8a7a3f403b Try to create secret chat dialog when receive new message in it. 2021-05-16 02:11:37 +03:00
levlam
eecb0476b5 Unify error messages for private and secret chats. 2021-05-10 19:36:18 +03:00
levlam
260eee8bff Avoid upgrade of read transaction to a write transaction. 2021-05-10 01:59:35 +03:00
levlam
9176381cff Add debug for failed CHECK. 2021-05-09 18:43:39 +03:00
levlam
6baf923f07 Fix handling of left dialogs, which are still pinned in filters. 2021-05-09 00:31:43 +03:00