Commit Graph

356 Commits

Author SHA1 Message Date
levlam
b7551dab33 Poll maximum active story identifiers of non-contact users. 2023-07-18 13:53:22 +03:00
levlam
1485f85115 Fix saving empty active stories to database. 2023-07-17 17:43:19 +03:00
levlam
b6179eb4a0 Send updateStoryListChatCount on start. 2023-07-17 16:00:24 +03:00
levlam
6c39eabb09 Load active story lists from database. 2023-07-17 15:50:27 +03:00
levlam
308918f737 Improve field and function names. 2023-07-17 14:40:01 +03:00
levlam
35681157e0 Load active story list states from database. 2023-07-17 14:29:09 +03:00
levlam
784c88d598 Improve error message. 2023-07-17 00:50:12 +03:00
levlam
caaf0ce0dc Improve database method names. 2023-07-16 22:43:42 +03:00
levlam
44c9e458eb Save story list state to database. 2023-07-16 17:52:08 +03:00
levlam
7624311ac6 Don't resave loaded active stories to database if they didn't change. 2023-07-16 16:36:35 +03:00
levlam
956e31810a Add promise to StoryManager::on_get_user_stories. 2023-07-16 15:39:55 +03:00
levlam
99bef75da4 Don't try to load active stories from database multiple times. 2023-07-16 13:35:35 +03:00
levlam
7ac81f85fc Improve log messages. 2023-07-16 12:52:11 +03:00
levlam
2eb8adc0f6 Don't reload the same inaccessible story too often. 2023-07-16 00:52:52 +03:00
levlam
5b00327ee9 Don't try to load the same story from database multiple times. 2023-07-15 23:35:05 +03:00
levlam
bf3337f21c Fix get_story_force. 2023-07-15 03:46:25 +03:00
levlam
74e83d45ce Add and use StoryManager::get_active_stories_force. 2023-07-15 03:36:18 +03:00
levlam
32a867ed8f Add StoryManager::on_get_story_info. 2023-07-15 02:46:50 +03:00
levlam
887dbaf7ff Save full information about active stories to database. 2023-07-15 02:25:01 +03:00
levlam
45da338329 Add StoryManager::StoryInfo. 2023-07-15 02:16:48 +03:00
levlam
ea17b2ca46 Add more logging in StoryManager::parse_story. 2023-07-14 18:26:47 +03:00
levlam
fe2e34d8bc Save active stories to database. 2023-07-14 17:42:59 +03:00
levlam
755e600f0c Add need_save_to_database to update_active_stories_order. 2023-07-14 17:26:09 +03:00
levlam
88832bb2c7 Improve send_update_chat_active_stories. 2023-07-14 16:30:49 +03:00
levlam
fecb4a2d23 Improve get_chat_active_stories_object. 2023-07-14 16:27:03 +03:00
levlam
c2999d8557 Minor improvements. 2023-07-13 19:32:54 +03:00
levlam
5941063b43 Add storyInfo.is_for_close_friends. 2023-07-13 17:56:49 +03:00
levlam
4f62b7693a Add source to reload_stories. 2023-07-13 16:39:19 +03:00
levlam
514f5974d4 Improve logging for stories. 2023-07-13 16:36:42 +03:00
levlam
489337ecd9 Add logging for story timeouts. 2023-07-13 16:29:05 +03:00
levlam
6d4d8ad5f8 Improve logging in on_update_read_stories. 2023-07-13 16:21:43 +03:00
levlam
ae1870a0b7 Add StoryManager::get_story_list. 2023-07-13 15:53:40 +03:00
levlam
a108922b6f Use StoryListId in load_active_stories. 2023-07-13 15:44:26 +03:00
levlam
39b0b53ae9 Simplify update_story_list_sent_total_count usage. 2023-07-13 15:37:11 +03:00
levlam
39eb3fdb0d Improve name of update_story_list_sent_total_count function. 2023-07-13 15:34:53 +03:00
levlam
6b4586da9b Fix deletion of active stories. 2023-07-13 15:34:08 +03:00
levlam
723b2d1fba Send updateStory before returning the story to the app. 2023-07-12 16:28:20 +03:00
levlam
a4e4a20fb4 Add StoryManager::send_update_story. 2023-07-12 16:16:55 +03:00
levlam
4b3de26c0c Add getStory.only_local. 2023-07-11 12:29:10 +03:00
levlam
53ea5b0fa1 Add Story.is_being_edited. 2023-07-11 00:33:25 +03:00
levlam
989432d33e Delete expired stories from database. 2023-07-10 19:43:26 +03:00
levlam
f031ddf102 Store edit generations outside of Story. 2023-07-10 17:45:16 +03:00
levlam
558305046c Use get_story_force if appropriate. 2023-07-10 16:50:01 +03:00
levlam
2805ecaa66 Fix on_update_user_max_read_story_id usage. 2023-07-10 15:58:56 +03:00
levlam
79e09cc757 Ignore deleted stories in StoryManager::parse_story. 2023-07-10 15:47:56 +03:00
levlam
958aab66e6 Add StoryManager::get_story_force. 2023-07-10 14:56:39 +03:00
levlam
b9672dbf97 Don't create stories without content. 2023-07-10 14:14:12 +03:00
levlam
00172347d5 Delete stories from database. 2023-07-10 13:52:42 +03:00
levlam
7f5b42e165 Add stories to database. 2023-07-10 13:39:17 +03:00
levlam
9d4087b101 Ensure that stories are sent in the correct order. 2023-07-09 16:01:14 +03:00
levlam
f8f6a0a5c9 Ensure ordering for StoryManager requests. 2023-07-09 15:24:20 +03:00
levlam
c15a9d2464 Add td_api::updateStoryListChatCount. 2023-07-08 18:50:58 +03:00
levlam
39b84d89ea Improve method setChatActiveStoriesList name. 2023-07-08 16:53:29 +03:00
levlam
a1038bb20c Add class StoryListId. 2023-07-08 15:42:23 +03:00
levlam
186f496a54 Add story.has_expired_viewers. 2023-07-08 09:32:30 +03:00
levlam
3937eb7bdf Add "story_viewers_expiration_delay" option. 2023-07-08 08:42:59 +03:00
levlam
dbed591a01 Improve storyListArchive name. 2023-07-08 02:40:19 +03:00
levlam
c28286d110 Fix get_chat_active_stories_object. 2023-07-07 19:30:31 +03:00
levlam
fdcec41c93 Add and use ContactsManager::on_update_user_max_read_story_id. 2023-07-07 18:35:47 +03:00
levlam
cb8418f840 Improve calls to on_update_user_has_stories. 2023-07-07 18:29:22 +03:00
levlam
f589137af4 Add user.has_unread_active_stories. 2023-07-07 18:25:24 +03:00
levlam
d40ea33796 Store max_active_story_id in User object. 2023-07-07 18:06:14 +03:00
levlam
288666c1fe Load all read stories from time to time. 2023-07-07 17:41:30 +03:00
levlam
987faa7c6a Rename activeStories to chatActiveStories. 2023-07-07 16:52:56 +03:00
levlam
00608a45a3 Return chat_id back to activeStories. 2023-07-07 16:51:14 +03:00
levlam
e323256e65 Add more logging. 2023-07-07 16:22:12 +03:00
levlam
bf3f1c33ae Return updateChatActiveStories in getCurrentState. 2023-07-07 16:18:18 +03:00
levlam
3afa9fb5f5 Improve update name. 2023-07-07 16:13:12 +03:00
levlam
5c3a15e266 Remove chat_id from activeStories. 2023-07-07 16:08:03 +03:00
levlam
e27ded859b Send update when active stories are moved from one list to another. 2023-07-07 16:01:05 +03:00
levlam
7a3604d5b6 Add source to StoryManager::on_dialog_active_stories_order_updated. 2023-07-07 15:52:55 +03:00
levlam
1737fde5a5 Save StoryListId in ActiveStories. 2023-07-07 15:49:46 +03:00
levlam
03b0bc84e9 Fix StoryManager::update_active_stories_order. 2023-07-07 14:31:32 +03:00
levlam
25c73f32f5 Reload active story lists by timeout. 2023-07-06 18:22:20 +03:00
levlam
e3625824f9 Forcely create chat owning story. 2023-07-05 14:48:53 +03:00
levlam
ad193a389c Add FileManager::get_missing_file_parts. 2023-07-05 10:55:16 +03:00
levlam
e5b31eb6bd Improve on_story_replied. 2023-07-04 19:15:33 +03:00
levlam
88f04fe304 Add EditStoryLogEvent. 2023-07-04 18:42:43 +03:00
levlam
4898f42121 Clear more data about deleted stories. 2023-07-04 13:42:03 +03:00
levlam
c19cb9b623 Improve delete_pending_story. 2023-07-03 22:54:42 +03:00
levlam
93149d09fd Add SendStoryLogEvent. 2023-07-03 22:03:29 +03:00
levlam
ce95433d54 Forcely create chats needed for received story. 2023-07-03 21:01:10 +03:00
levlam
13320e5c79 Add storer and parser for PendingStory. 2023-07-03 20:39:42 +03:00
levlam
9345dc2799 Add add_story_dependencies. 2023-07-03 20:03:26 +03:00
levlam
51547fba0e Add StoryManager::delete_pending_story. 2023-07-03 18:01:25 +03:00
levlam
36518625c3 Add storer and parser for Story. 2023-07-03 16:03:28 +03:00
levlam
af9351bdfe Reload viewers of replied stories. 2023-07-02 19:10:40 +03:00
levlam
312006a207 Various fixes. 2023-07-01 19:54:22 +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
a210f47062 Fix update_active_stories_order. 2023-06-30 18:21:15 +03:00
levlam
5a8f8fbe29 Drop unreceived active stories from the list. 2023-06-30 18:04:17 +03:00
levlam
88eadb56fb Maintain ordered lists of all stories. 2023-06-30 17:12:19 +03:00
levlam
1e3aa30ed5 Add source to StoryManager::load_dialog_expiring_stories. 2023-06-30 16:20:09 +03:00
levlam
a6f2a8f9ae Maintain last story date in the list. 2023-06-30 16:05:08 +03:00
levlam
6bd9aea325 Update story order when user.is_premium changes. 2023-06-30 14:41:39 +03:00
levlam
ab04885dc4 Update active stories order. 2023-06-30 14:10:42 +03:00
levlam
6f8fbaebf8 Always show self stories in the main story list. 2023-06-29 16:49:48 +03:00
levlam
2ef550f661 Fix processing of active stories. 2023-06-29 16:43:06 +03:00
levlam
cec0ab47b5 Add Story.is_edited flag. 2023-06-29 15:15:12 +03:00
levlam
b8849a2f81 Add td_api::loadActiveStories. 2023-06-29 14:22:50 +03:00
levlam
40d11e7935 Show changelog stories in story lists. 2023-06-28 18:23:40 +03:00
levlam
a52bdbf79c Add LoadDialogExpiringStoriesLogEvent. 2023-06-28 17:52:33 +03:00
levlam
ce9bce5994 Reload chat active stories when receive a new story. 2023-06-28 17:10:14 +03:00
levlam
ffdebbea1f Hide story list for stories of non-contacts. 2023-06-28 16:56:17 +03:00
levlam
f8c5220aad Improve function name. 2023-06-28 16:38:33 +03:00
levlam
f023646c6d Add class StoryList and activeStories.list. 2023-06-28 16:09:44 +03:00
levlam
d3e0372b14 Use Chat as owner of stories in td_api. 2023-06-27 21:51:36 +03:00
levlam
3854a8b872 Add story.can_be_replied. 2023-06-27 17:29:30 +03:00
levlam
09a30a4b3c Support stories_changelog_user_id option. 2023-06-27 17:26:17 +03:00
levlam
47d30cc7dc Add sendStory.protect_content. 2023-06-27 17:19:10 +03:00
levlam
7571f90a98 Add Story.can_be_forwarded. 2023-06-27 17:16:22 +03:00
levlam
37b7e2421a Pass StoryFullId to on_delete_story. 2023-06-25 00:37:52 +03:00
levlam
6f814dc513 Add Story.is_visible_only_for_self. 2023-06-24 23:15:05 +03:00
levlam
50fdce9ae1 Don't add empty promises to query list. 2023-06-23 13:50:39 +03:00
levlam
04c4e932fe Reload stories from viewed messages once in 5 minutes. 2023-06-23 13:40:59 +03:00
levlam
d901f35d21 Reload opened stories once in a minute. 2023-06-22 22:23:24 +03:00
levlam
5353605f53 Use reload_story to get a story for the first time. 2023-06-22 22:03:56 +03:00
levlam
afe46a6743 Combine reload_story queries. 2023-06-22 21:53:03 +03:00
levlam
0f9f380509 Reload opened stories once a minute. 2023-06-22 21:40:34 +03:00
levlam
f39b906b28 Support STORY_DELETED push notification. 2023-06-22 15:56:34 +03:00
levlam
26c8c0f4fa Add td_api::reportStory. 2023-06-21 23:23:19 +03:00
levlam
0ac33fa9c0 Add comment about returning story viewers from cache. 2023-06-20 16:40:52 +03:00
levlam
11ae003562 Update recent story viewers from the full list. 2023-06-20 16:12:12 +03:00
levlam
4e2e6f6e61 Cache received story viewers. 2023-06-20 15:54:47 +03:00
levlam
f152098b92 Update Story.can_get_viewers by timeout. 2023-06-20 00:05:19 +03:00
levlam
a86b7538a7 Delete story from active stories or delete completely when it expires. 2023-06-19 20:45:58 +03:00
levlam
00494f8dc3 Add global identifiers to stories. 2023-06-19 20:13:44 +03:00
levlam
63495795c5 Return active stories from cache. 2023-06-19 19:55:30 +03:00
levlam
917b4dc1b6 Update active stories when a new active story s received. 2023-06-19 19:52:16 +03:00
levlam
ca8b80d198 Add Story.can_get_viewers. 2023-06-19 19:13:08 +03:00
levlam
2ea17ff61a Add td_api::getStoryViewers. 2023-06-18 23:25:50 +03:00
levlam
8cb17eb1c3 Update max_read_story_id from log events. 2023-06-17 23:27:19 +03:00
levlam
25bfb761d4 Allow to change "archive_all_stories" option. 2023-06-16 17:55:54 +03:00
levlam
799531d506 Improve story active period checks. 2023-06-15 21:48:13 +03:00
levlam
7935fb183c Add userFullInfo.has_pinned_stories. 2023-06-15 20:53:58 +03:00
levlam
087765114a Reload views of opened stories every 10 seconds. 2023-06-15 20:07:40 +03:00
levlam
77379bd20f Update interaction info of opened owned stories. 2023-06-15 19:30:28 +03:00
levlam
e7c8b0cded Add and use StoryId::get_input_story_ids. 2023-06-15 18:57:12 +03:00
levlam
37e5847cc3 Add td_api::closeStory and register opened owned stories. 2023-06-15 18:34:05 +03:00
levlam
541165e21f Always treat sent stories as read. 2023-06-15 15:45:40 +03:00
levlam
2aeeb09b4d Add log event for story reading. 2023-06-15 15:25:32 +03:00
levlam
d3a08e06dc Read opened stories on server. 2023-06-15 14:51:41 +03:00
levlam
0daccb0850 Keep max_read_story_id, even ActiveStories are unknown. 2023-06-15 14:10:48 +03:00
levlam
fc878782b6 Add StoryManager::get_active_stories. 2023-06-15 13:49:23 +03:00
levlam
f4d8fddddd Add td_api::updateActiveStories. 2023-06-15 13:47:48 +03:00
levlam
966eee8a07 Update active stories from UserFull. 2023-06-15 13:22:36 +03:00
levlam
56df91b265 Support updateReadStories. 2023-06-15 13:16:31 +03:00
levlam
e89cc266a0 Remove deleted stories from the list of active stories. 2023-06-15 13:10:02 +03:00
levlam
6af37fc003 Always re-check active stories before updating. 2023-06-15 12:46:26 +03:00
levlam
680bb80bad Add ActiveStories cache. 2023-06-15 12:42:42 +03:00
levlam
2968141507 Add only active stories to the list of active stories. 2023-06-15 12:00:19 +03:00
levlam
c72a2161d1 Process telegram_api::storyItemDeleted everywhere. 2023-06-14 20:17:40 +03:00
levlam
26d8af58cc Support storyItemSkipped. 2023-06-14 20:10:57 +03:00
levlam
eeefafc214 Add td_api::activeStories and return it from getUserActiveStories. 2023-06-14 19:27:08 +03:00
levlam
964471af8b Remove redundant story fields. 2023-06-14 16:37:09 +03:00
levlam
863ee6ac33 Send expired story views to the server. 2023-06-14 16:06:48 +03:00
levlam
e040b63fd8 Add td_api::openStory. 2023-06-14 15:17:24 +03:00
levlam
29a1b7e3d6 Support media timestamps in replies to stories. 2023-06-13 18:20:26 +03:00
levlam
e4382ee206 Update message content when story from web page is changed. 2023-06-13 16:17:01 +03:00
levlam
62e7640701 Add information about Story to web page. 2023-06-13 15:45:10 +03:00
levlam
deee074e2f Support min-stories. 2023-06-13 14:01:30 +03:00
levlam
55d33a8665 Never merge story content files. 2023-06-13 12:46:31 +03:00
levlam
686f0eabe6 Add td_api::messageStory and td_api::inputMessageStory. 2023-06-12 19:23:58 +03:00
levlam
289df57852 Update user.has_active_stories after receiving active stories from server. 2023-06-12 15:07:37 +03:00
levlam
20901b6ac5 Add td_api::getArchivedStories. 2023-06-09 17:21:34 +03:00
levlam
894e246d8f Add sendStory.active_period. 2023-06-09 16:41:40 +03:00
levlam
d51ad4f4e9 Update media timestamps in replied messages when story changes. 2023-06-09 14:16:56 +03:00
levlam
457511dca9 Add StoryManager::is_inaccessible_story. 2023-06-06 16:11:12 +03:00
levlam
f869eca9c4 Add StoryManager::get_story_duration. 2023-06-06 16:07:29 +03:00
levlam
f4a2dbde41 Add StoryManager::have_story. 2023-06-06 15:58:27 +03:00
levlam
b82d711508 Ignore STORY_NOT_MODIFIED errors for regular users. 2023-06-05 18:28:21 +03:00
levlam
2fcdb02c39 Add td_api::getStory. 2023-06-05 16:55:06 +03:00
levlam
11c353dc7f Add td_api::toggleUserStoriesAreArchived. 2023-06-05 16:07:44 +03:00
levlam
3adf6294dc Fix chat info checks. 2023-06-05 15:30:56 +03:00
levlam
dfeeaf8f87 Avoid restoring of deleted stories. 2023-06-02 16:46:10 +03:00
levlam
ede8911f05 Improve updateStpry updates during story edit. 2023-06-02 16:12:18 +03:00
levlam
3501529a95 Add updateStoryDeleted, 2023-06-01 18:25:59 +03:00
levlam
7ca2061848 Add DeleteStoryOnServerLogEvent. 2023-06-01 17:41:46 +03:00
levlam
d929790bad Add td_api::deleteStory. 2023-06-01 17:28:49 +03:00
levlam
eec9826dec Process telegram_api::updateStory updates. 2023-06-01 16:27:00 +03:00
levlam
7bea5721bf Add updateStory. 2023-06-01 13:55:11 +03:00
levlam
0e2fcdde77 Destroy big StoryManager fields asynchronously. 2023-05-30 14:44:30 +03:00
levlam
3a6494dd65 Add td_api::editStory. 2023-05-30 14:41:36 +03:00
levlam
a0fd771da8 Add StoryId::is_server(). 2023-05-29 21:43:03 +03:00
levlam
77ab0f45c1 Add td_api::toggleStoryIsPinned. 2023-05-26 14:21:36 +03:00
levlam
936c27577e Check that input content is non-empty inside corresponding functions. 2023-05-25 21:25:16 +03:00
levlam
2684df5f01 Support story reupload in sendStory. 2023-05-25 21:21:10 +03:00
levlam
dab66ef541 Pass PendingStory to do_send_story. 2023-05-25 21:09:31 +03:00
levlam
eb1581a233 Add td_api::setStoryPrivacyRules. 2023-05-25 18:18:28 +03:00
levlam
173ba06d62 Support FILE_PART_MISSING errors for stories. 2023-05-25 15:46:04 +03:00
levlam
04764cbc2e Delete partial remote location of uploaded stories. 2023-05-25 15:21:43 +03:00
levlam
c73ae5c781 Add td_api::sendStory. 2023-05-25 15:03:29 +03:00
levlam
41da14fd17 Add and use get_story_content_duration. 2023-05-24 16:23:05 +03:00
levlam
a049076797 Add td_api::getUserExpiringStories. 2023-05-21 12:39:53 +03:00
levlam
e763cb2803 Add td_api::getUserPinnedStories. 2023-05-20 23:24:36 +03:00
levlam
a247dd60ba Support file reference repair for stories. 2023-05-20 01:23:33 +03:00
levlam
963091c0cf Add StoryManager::reload_story. 2023-05-19 23:34:08 +03:00
levlam
0b8c71419f Add StoryManager::on_get_stories. 2023-05-19 23:25:52 +03:00
levlam
8c9bf81359 Add StoryManager::delete_story_files. 2023-05-19 17:00:33 +03:00