Commit Graph

5594 Commits

Author SHA1 Message Date
levlam
564521453f Improve sponsoredMessage. 2021-10-08 15:00:13 +03:00
levlam
d0ac845c72 Fix misprint. 2021-10-08 14:12:37 +03:00
levlam
23775700ac Update layer to 134. 2021-10-08 13:45:10 +03:00
levlam
f70498898b Add fileSourceAppConfig. 2021-10-08 13:41:22 +03:00
levlam
dbd3b22f31 Remove wrong CHECK. 2021-10-08 12:18:01 +03:00
levlam
e87bf3a174 Fix some MultiPromise locks. 2021-10-07 18:14:49 +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
c85f993de8 Improve captured actor_id names. 2021-10-07 13:38:49 +03:00
levlam
b34cfef4d0 Replace begin_transaction with begin_read_transaction and begin_write_transaction. 2021-10-07 13:18:00 +03:00
levlam
4c803a1a75 Remove uneeded third try in getWebPageInstantView. 2021-10-07 13:00:41 +03:00
levlam
2f4524a949 Return WebPageId through promise. 2021-10-07 12:49:46 +03:00
Andrea Cavalli
4e70729edb Merge remote-tracking branch 'td/master' 2021-10-07 00:51:58 +02:00
levlam
4b41d620c5 Use send_closure instead of raw call. 2021-10-06 23:33:18 +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
a160241db7 Improve NetQueryCreator constructor. 2021-10-06 18:47:32 +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
9217e9090a Remove useless PSLICE/PSTRING. 2021-10-06 13:48:29 +03:00
levlam
ebae9298a6 Remove unneeded logging. 2021-10-06 13:10:28 +03:00
levlam
c3d898f1e6 Add ConfigManager::reget_app_config. 2021-10-06 01:17:10 +03:00
levlam
6ecba8cb5d Download emoji sounds from main DC. 2021-10-06 00:55:22 +03:00
levlam
038abf5466 Add sound to messageAnimatedEmoji. 2021-10-05 23:20:49 +03:00
levlam
9fb1f1438e Add color replacements to messageAnimatedEmoji. 2021-10-05 18:42:05 +03:00
levlam
aae781295c Improve updating animated emoji stickers. 2021-10-05 18:06:05 +03:00
levlam
eb20f82730 Add disable_animated_emoji option. 2021-10-05 17:17:29 +03:00
levlam
ffe03ecb10 Add messageAnimatedEmoji. 2021-10-05 16:12:04 +03:00
Andrea Cavalli
e5a7f26b7b Merge remote-tracking branch 'td/master' 2021-10-05 12:29:46 +02:00
levlam
bcfc2a7dc1 Fix recent dialog list loading. 2021-10-05 10:44:13 +03:00
levlam
48025d969c Document necessity of TDLib instance closing. 2021-10-05 00:59:35 +03:00
Andrea Cavalli
4e9b159ba4 Merge remote-tracking branch 'td/master' 2021-10-04 15:50:37 +02:00
levlam
77158cd7a5 Register emoji messages. 2021-10-04 16:08:51 +03:00
levlam
f10abb253e Add database consistency checks. 2021-10-04 11:01:49 +03:00
Andrea Cavalli
65f4b8ba57 Merge remote-tracking branch 'td/master' 2021-10-04 00:06:53 +02: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
0455b313b3 Improve testNetwork implementation. 2021-10-02 16:54:01 +03:00
Andrea Cavalli
c01c7a53e9 Merge remote-tracking branch 'td/master' 2021-10-02 15:03:28 +02:00
levlam
d1532ef1f8 Improve result handlers storage. 2021-10-02 14:39:20 +03:00
levlam
bb9bb91c9c URL-decode fragment to find matching anchor. 2021-10-01 21:55:07 +03:00
Andrea Cavalli
e3bd6380b8 Merge remote-tracking branch 'td/master' 2021-10-01 19:17:02 +02:00
levlam
cd9a89fd7d Send updateAnimatedEmojiMessageClicked in non-opened chats. 2021-10-01 20:05:11 +03:00
levlam
13c48e590d Fix profile photo reuploading. 2021-10-01 19:19:14 +03:00
levlam
4a185caa74 Check message_id of loaded from database messages. 2021-10-01 16:43:02 +03:00
Andrea Cavalli
5c2b4fe983 Merge remote-tracking branch 'td/master' 2021-10-01 15:06:14 +02:00
levlam
4d180ff0e1 Add MessageId to MessagesDbMessage. 2021-10-01 15:23:38 +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
37a10fad57 Fix compilation error. 2021-10-01 00:12:28 +03:00
levlam
4f9b35ea72 Use get_contact in importContacts and changeImportedContacts. 2021-09-30 14:18:01 +03:00
levlam
44efa70789 Pass Contact to add_contact. 2021-09-30 13:53:16 +03:00
Andrea Cavalli
5697b05622 Merge remote-tracking branch 'td/master' 2021-09-30 00:20:57 +02:00
levlam
5f19e0267f Add warning if TdDb::check_encryption fails. 2021-09-29 20:59:20 +03:00
levlam
2d9b7a6e93 Run loop after toggled top chats just in case. 2021-09-29 20:23:39 +03:00
levlam
665ae9434e Use error code 400 in Td.cpp. 2021-09-29 19:19:24 +03:00
levlam
0686a0cade Exclude chats from chat list from the local public chats search. 2021-09-29 18:40:36 +03:00
levlam
888bd7988c Add warning on failed to open database. 2021-09-29 17:15:36 +03:00
levlam
7caa3075b8 Add CHECK debug. 2021-09-29 17:13:50 +03:00
levlam
90c0f18507 Send authorizationStateClosing when closing before initialization. 2021-09-29 15:41:53 +03:00
levlam
14c2a990b1 Add get_draft_message function. 2021-09-29 14:06:43 +03:00
Andrea Cavalli
616a40b3b2 Merge remote-tracking branch 'td/master' 2021-09-29 00:33:23 +02:00
levlam
2ce0be4fe7 Remove getChatStatisticsUrl method. 2021-09-28 19:08:36 +03:00
levlam
cdb06da112 Add "; pass null" annotations for expected to be null request parameters. 2021-09-28 17:31:00 +03:00
levlam
26ff41deab Reload message from server after receiving MESSAGE_ID_INVALID for a callback query. 2021-09-28 00:14:57 +03:00
levlam
36cbba4d2c Use request promise in td_api::getCallbackQueryAnswer implementation. 2021-09-27 23:22:10 +03:00
levlam
ad2cc6e534 Use ClientManager instead of Client in ClientDotNet. 2021-09-27 21:43:14 +03:00
Andrea Cavalli
9ca532c6a6 Merge remote-tracking branch 'td/master' 2021-09-26 23:08:36 +02:00
levlam
a04423ad66 Use ClientManager in td_c_client. 2021-09-26 22:17:02 +03:00
levlam
493a9e5457 Erase more keys from binlog after database is deleted. 2021-09-26 21:15:31 +03:00
levlam
bc84bfecab Remove legacy loading of recent inline bots only by username. 2021-09-26 20:23:40 +03:00
levlam
ddd2a223dd Prefer to save chats by ID if there is any database. 2021-09-26 20:03:03 +03:00
levlam
c5a2e9a870 Load only chats with known info in MessagesManager::load_dialogs. 2021-09-26 19:38:27 +03:00
levlam
d882e222a7 Make FileStats fields private. 2021-09-26 12:44:18 +03:00
Andrea Cavalli
45e855f89d Remove most memory related features
I can't maintain anymore this amount of features while keeping the library constantly updated and without bugs. Every merge was taking me multiple hours of revisioning the code. I give up.
From this commit onwards TDLight will only have small useful customizations that are easy to maintain.
Now the people relying on the OptimizeMemory method can restart the session every N hours to free up the memory.
The real way to keep a low memory usage must involve a huge refactoring to allow the unloading of the caches into the sqlite database, similar to what's already happening with messages data. Only Levlam has the ability to implement this without needing to merge the upstream everytime.
2021-09-25 22:11:42 +02:00
levlam
e584aa6520 Remove last get_actor_unsafe usages in TopDialogManager. 2021-09-25 22:33:55 +03:00
levlam
81dca20328 Directly call managers in TopDialogManager. 2021-09-25 22:02:55 +03:00
levlam
76a45c8dc0 Imppement GetTopPeersQuery as ResultHandler. 2021-09-25 21:43:59 +03:00
levlam
d3983571a0 Add TopDialogCategory.cpp. 2021-09-25 21:27:32 +03:00
levlam
53dab67f7b Use ResetTopPeerRatingQuery instead of dispatch_with_callback. 2021-09-25 21:12:36 +03:00
levlam
1849953e78 Implement ToggleTopPeers as ResultHandler. 2021-09-25 20:33:51 +03:00
Andrea Cavalli
897d4af16c Merge remote-tracking branch 'td/master' 2021-09-25 19:24:57 +02:00
levlam
9115ba4aa5 Move topChat methods logic to TopDialogManager. 2021-09-25 11:37:32 +03:00
levlam
5091aa68e3 Allow direct access to TopDialogManager. 2021-09-24 23:17:38 +03:00
levlam
54277497f7 Save chat themes to binlog. 2021-09-24 17:17:32 +03:00
levlam
ef1bfc7c3e Improve field names. 2021-09-24 16:53:42 +03:00
levlam
66170213fc Add store/parse_background. 2021-09-24 16:03:01 +03:00
levlam
61c3a2bcf5 Remove TD_EXPERIMENTAL_WATCH_OS. 2021-09-24 13:41:22 +03:00
levlam
a1d1d2160b Simplify load_special_sticker_set usage. 2021-09-24 13:08:32 +03:00
levlam
f15093deb3 Ignore MessageReplyInfo with channel_id == 777. 2021-09-24 12:31: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
f2908bb7e5 Allow to add non-members as administrators in basic groups using setChatMemberStatus. 2021-09-24 10:20:50 +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
a3c8da47a0 Return void from load_*_full. 2021-09-23 18:52:39 +03:00
levlam
d032ca2ab2 Support adding basic group members through setChatMemberStatus. 2021-09-23 18:39:13 +03:00
levlam
b0b25b53b0 Fix sender_dialog_id in channel push notifications. 2021-09-23 17:40:40 +03:00
levlam
fbd2309b37 Don't remove emoji modifiers in chat action emojis. 2021-09-23 17:16:59 +03:00
levlam
23f585caf0 Unify set SQLite PRAGMAs. 2021-09-23 11:20:42 +03:00
levlam
626caad19a Create database before attaching it. 2021-09-22 20:17:37 +03:00
levlam
a0cc1be3e6 Add allow_creation parameter to SqliteDb::init. 2021-09-22 19:04:56 +03:00
levlam
191c732245 Fix CreateSecretChat parsing. 2021-09-22 10:23:06 +03:00
levlam
b6bde1e4c5 Move remove_emoji_modifiers to emoji.h. 2021-09-21 06:32:34 +03:00
levlam
53f9b0438e Optimize remove_emoji_modifiers usages. 2021-09-20 13:45:49 +03:00
levlam
057cee8674 Improve name of the chatActionWatchingAnimations chat action. 2021-09-19 21:40:07 +03:00
levlam
a7dcbe8c18 Update version to 1.7.8. 2021-09-19 20:55:47 +03:00
levlam
0f2735b6a1 Ignore too often animated emoji clicks. 2021-09-19 20:52:46 +03:00
levlam
22cd853249 Delay responses to clickAnimatedEmojiMessage. 2021-09-19 20:43:47 +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
95d4ec8973 Simplify updateAnimatedEmojiMessageClicked. 2021-09-17 23:36:25 +03:00
levlam
b15244f59d Ensure delay of 0.2 seconds between updateAnimatedEmojiMessageClicked animations. 2021-09-17 19:59:31 +03:00
levlam
4cbf3f6146 Choose another sticker each time if there is more than 1 variant. 2021-09-17 17:59:07 +03:00
levlam
a54b37a8d8 Use sticker for red heart if there is no dedicated sticker for a colored heart. 2021-09-17 17:18:39 +03:00
levlam
6d21161f70 Add get_animated_emoji_stickers. 2021-09-17 16:58:20 +03:00
levlam
055e02f9c0 Send sendMessageEmojiInteraction typings. 2021-09-17 16:16:34 +03:00
levlam
5de53e09eb Add updateAnimatedEmojiMessageClicked. 2021-09-17 15:51:42 +03:00
levlam
f0c2f8f124 Prepare sendMessageEmojiInteraction. 2021-09-16 23:22:34 +03:00
levlam
5fd11e4b7a Add td_api::clickAnimatedEmojiMessage. 2021-09-16 00:41:40 +03:00
levlam
a3fefcd18b Add (disabled) logging on inconsistent update*Participant. 2021-09-15 18:36:45 +03:00
Andrea Cavalli
a7dc52ff86 Fix compilation error 2021-09-15 16:55:35 +02:00
Andrea Cavalli
714591bdd9 Merge remote-tracking branch 'td/master' 2021-09-15 16:18:56 +02:00
levlam
bee2893533 Add missing include. 2021-09-15 17:16:23 +03:00
levlam
499e903c95 Add chatActionEnjoyingAnimations. 2021-09-15 17:11:44 +03:00
Andrea Cavalli
6e1836a024 Merge remote-tracking branch 'td/master' 2021-09-15 16:03:11 +02:00
levlam
dcd8f3bfd0 Add animated_emoji_click_sticker_set_name. 2021-09-15 14:44:11 +03:00
Andrea Cavalli
71c2330749 Merge remote-tracking branch 'td/master' 2021-09-14 23:58:34 +02:00
levlam
02ae56ae8a Improve validness checks for UserId/ChatId/ChannelId. 2021-09-14 17:09:40 +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
f98eeda616 Add flag backgroundTypePattern.is_inverted instead of negative intensity. 2021-09-14 12:53:59 +03:00
levlam
d9a0168bfa Improve logging in G_impl. 2021-09-14 11:54:54 +03:00
levlam
55ad2e5f86 Load recent dialogs in one pass. 2021-09-14 11:31:21 +03:00
levlam
fa65e429eb Return void from RecentDialogList::load_dialogs. 2021-09-14 10:16:20 +03:00
levlam
dc35dea8a3 Use SliceBuilder in RecentDialogList::save_dialogs. 2021-09-13 21:47:11 +03:00
levlam
a68163b94c Simplify and optimize RecentDialogList::load_dialogs. 2021-09-13 21:36:07 +03:00
levlam
4b641df524 Load recent dialogs before adding/removing them. 2021-09-13 21:30:48 +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
c03621d72c Add CHECK debug. 2021-09-13 16:03:21 +03:00
levlam
075d004b9f Replace getChatThemes with updateChatThemes. 2021-09-13 15:55:01 +03:00
levlam
a838fff28f Add operator== for ThemeSettings. 2021-09-12 22:39:52 +03:00
levlam
196128b2f1 Update chat theme cache after receiving telegram_api::updateTheme. 2021-09-12 22:29:40 +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
78baa7977b Don't inherit Td from NetQueryCallback. 2021-09-10 18:58:36 +03:00
levlam
088c3169d4 Minor. 2021-09-10 18:23:23 +03:00
levlam
137543c172 Use send_closure_later in NetQueryDispatcher to break stack chain. 2021-09-10 17:42:24 +03:00
levlam
2062daf9cd Don't wrap updates in NetQuery. 2021-09-10 17:32:39 +03:00
Andrea Cavalli
c06a3d9dcf Merge remote-tracking branch 'td/master' 2021-09-10 15:49:57 +02:00
Andrea Cavalli
37b1d48470 Fix compilation warnings and errors 2021-09-10 15:47:26 +02:00
levlam
edfdcc0170 Remove default on_server_salt_updated implementation. 2021-09-10 16:45:39 +03:00
levlam
55e69f65af Add separate on_update callback. 2021-09-10 16:31:04 +03:00
levlam
5c87fb853e Use int32 as sponsored message ID. 2021-09-10 11:44:50 +03:00
levlam
f63196f9fa Improve URL and email matching. 2021-09-09 17:59:24 +03:00
levlam
9bf5b5343b Prevent partial updateBasicGroupFullInfo. 2021-09-09 15:41:50 +03:00
levlam
1cb76f4c5a Fix include. 2021-09-09 00:05:59 +03:00
levlam
35732dabd6 Add missing includes. 2021-09-08 23:57:10 +03:00
levlam
b8df633f34 Minor include improvements. 2021-09-08 16:50:03 +03:00
levlam
cf452ce7c8 Support MESSAGE_NOTHEME and CHAT_MESSAGE_NOTHEME push notifications. 2021-09-08 14:39:39 +03:00
levlam
1c56e62a6a Add internalLinkTypeVoiceChat.is_live_stream flag. 2021-09-08 13:53:24 +03:00
levlam
015d6cd92d Support videochat/livestream internal links. 2021-09-08 01:50:49 +03:00
levlam
153fb213c0 Add accent color for outgoing messages in theme settings. 2021-09-07 22:04:44 +03:00
levlam
5bb10b4bb3 Cache sponsored messages. 2021-09-07 20:27:04 +03:00
levlam
8117853ea4 Add logging on partial update*FullInfo. 2021-09-07 18:20:34 +03:00
levlam
f59ba4b5e5 Avoid duplicate UserFull updates. 2021-09-07 18:02:03 +03:00
levlam
168399f21d Add source to update_*_full. 2021-09-07 17:41:56 +03:00
levlam
efbb5bde96 Combine getSponsoredMessages queries. 2021-09-07 17:21:18 +03:00
levlam
ae6b79d57b Add SponsoredMessageManager. 2021-09-07 15:49:34 +03:00
levlam
192915c0bf Reload chat themes at most once an hour. 2021-09-07 13:30:51 +03:00
levlam
546898e199 Replace SetGameScoreRequest with promise. 2021-09-07 12:05:44 +03:00
levlam
989b0c26f0 tg_cli: remove unused variable. 2021-09-07 11:40:08 +03:00
levlam
5c59a10418 Move game-related methods to GameManager. 2021-09-07 10:45:01 +03:00
levlam
d395c2496e Add empty GameManager. 2021-09-07 10:02:44 +03:00
levlam
0ec10947d5 Fix some misprints. 2021-09-06 13:58:40 +03:00
levlam
73290dcda8 Reopen closed polls when copying them. 2021-09-05 23:11:25 +03:00
levlam
96ffd57881 Use Promise isntead of RequestOnceActor to get games high scores. 2021-09-05 10:54:20 +03:00
Andrea Cavalli
a20e8b6db3 Merge remote-tracking branch 'td/master' 2021-09-04 16:03:33 +02:00
levlam
b713d945f7 tg_cli: use synchronous TDLib's method instead of Td. 2021-09-04 12:22:26 +03:00
levlam
86de43a048 Remove useless #include comments. 2021-09-03 23:21:44 +03:00
levlam
f197d61c66 Support message viewers-related config options. 2021-09-03 19:06:24 +03:00
levlam
9ebeafbb5b Add get_json_value_bool helper function. 2021-09-03 18:17:11 +03:00
levlam
9a6e8cad9e Add get_json_value_string helper function. 2021-09-03 18:14:15 +03:00
levlam
1d41017d3a Add get_json_value_int helper method. 2021-09-03 17:54:04 +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
74315e2e60 Add mtproto::ConnectionManager. 2021-09-16 19:09:39 +03:00