fetch_tweet_detail('1770047976964035067') has missing parent ids immediately after empty timeline elements, likely corresponding to deleted user @Wahrscheinlich7
the JSON response for TweetDetails here is below. note that it's littered with TimelineItems who have "tweet_results":{}, and that the tweet after that in the timeline has no parent despite being in the conversation (and having the same conversation_id_str).
i think the fix for this is either:
see if fetch_tweet_detail creates objects for the empty tweets, make it create dummies like tombstones and fake the REST ids; OR
detect tweets that have missing parents, save them off at the top of fetch_tweet_context before the for loop, and retroactively re-parent them to an existing parent tweet once one shows up later in the loop
{"data":{"threaded_conversation_with_injections_v2":{"instructions":[{"type":"TimelineAddEntries","entries":[{"entryId":"tweet-1769886849433280882","sortIndex":"7453485187421494925","content":{"entryType":"TimelineTimelineItem","__typename":"TimelineTimelineItem","itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{"result":{"__typename":"Tweet","rest_id":"1769886849433280882","has_birdwatch_notes":false,"core":{"user_results":{"result":{"__typename":"User","id":"VXNlcjo4ODExOTI1MzMwNTY4MjczOTI=","rest_id":"881192533056827392","affiliates_highlighted_label":{},"has_graduated_access":true,"is_blue_verified":true,"profile_image_shape":"Circle","legacy":{"following":false,"can_dm":true,"can_media_tag":false,"created_at":"Sat Jul 01 16:47:26 +0000 2017","default_profile":false,"default_profile_image":false,"description":"you and me baby ain't nothing but mammals so let's eat dog treats from petco \uD83D\uDC8E ayn rand apologist ⚔️ (they/it but dont fucking tread on me)","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"goblinodds.com","expanded_url":"https://goblinodds.com/","url":"https://t.co/e5A97tNDRq","indices":[0,23]}]}},"fast_followers_count":0,"favourites_count":620338,"followers_count":20053,"friends_count":2047,"has_custom_timelines":false,"is_translator":false,"listed_count":143,"location":"Los Angeles, CA","media_count":12702,"name":"goblin","normal_followers_count":20053,"pinned_tweet_ids_str":["1856457826261938537"],"possibly_sensitive":false,"profile_banner_url":"https://pbs.twimg.com/profile_banners/881192533056827392/1642994499","profile_image_url_https":"https://pbs.twimg.com/profile_images/1850359621740797952/8Id2FTYQ_normal.png","profile_interstitial_type":"","screen_name":"goblinodds","statuses_count":226748,"translator_type":"none","url":"https://t.co/e5A97tNDRq","verified":false,"want_retweets":false,"withheld_in_countries":[]},"tipjar_settings":{"is_enabled":true,"venmo_handle":"goblinodds"}}}},"unmention_data":{},"edit_control":{"edit_tweet_ids":["1769886849433280882"],"editable_until_msecs":"1710812482000","is_edit_eligible":true,"edits_remaining":"5"},"is_translatable":false,"views":{"count":"1881","state":"EnabledWithCount"},"source":"<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>","legacy":{"bookmark_count":5,"bookmarked":false,"created_at":"Tue Mar 19 00:41:22 +0000 2024","conversation_id_str":"1769886849433280882","display_text_range":[0,218],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[]},"favorite_count":49,"favorited":false,"full_text":"need to remember to tweet something coherent when i'm not sleepy about how rejecting people feels extra burdensome when you feel responsible for their emotions and this is a big part of what makes dating hard for women","is_quote_status":false,"lang":"en","quote_count":0,"reply_count":3,"retweet_count":3,"retweeted":false,"user_id_str":"881192533056827392","id_str":"1769886849433280882"},"quick_promote_eligibility":{"eligibility":"IneligibleNotProfessional"}}},"tweetDisplayType":"Tweet","hasModeratedReplies":false}}},{"entryId":"tweet-1769897154452336942","sortIndex":"7453474882402438865","content":{"entryType":"TimelineTimelineItem","__typename":"TimelineTimelineItem","itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{"result":{"__typename":"Tweet","rest_id":"1769897154452336942","has_birdwatch_notes":false,"core":{"user_results":{"result":{"__typename":"User","id":"VXNlcjo2MDM1OTgy","rest_id":"6035982","affiliates_highlighted_label":{},"has_graduated_access":true,"is_blue_verified":true,"profile_image_shape":"Circle","legacy":{"following":false,"can_dm":true,"can_media_tag":true,"created_at":"Mon May 14 15:37:14 +0000 2007","default_profile":false,"default_profile_image":false,"description":"data wrangler, mischief maker","entities":{"description":{"urls":[]}},"fast_followers_count":0,"favourites_count":27712,"followers_count":661,"friends_count":484,"has_custom_timelines":true,"is_translator":false,"listed_count":25,"location":"Pacific NW and Kentuckiana","media_count":259,"name":"Loki Coyote","normal_followers_count":661,"pinned_tweet_ids_str":[],"possibly_sensitive":false,"profile_image_url_https":"https://pbs.twimg.com/profile_images/1717557346250203136/2fQak6h7_normal.jpg","profile_interstitial_type":"","screen_name":"lokkju","statuses_count":9866,"translator_type":"none","verified":false,"want_retweets":false,"withheld_in_countries":[]},"professional":{"rest_id":"1684460409754198016","professional_type":"Creator","category":[{"id":1067,"name":"Researcher","icon_name":"IconBriefcaseStroke"}]},"tipjar_settings":{"is_enabled":true,"venmo_handle":"lokkju"}}}},"unmention_data":{},"edit_control":{"edit_tweet_ids":["1769897154452336942"],"editable_until_msecs":"1710814939000","is_edit_eligible":false,"edits_remaining":"5"},"is_translatable":false,"views":{"count":"123","state":"EnabledWithCount"},"source":"<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>","legacy":{"bookmark_count":0,"bookmarked":false,"created_at":"Tue Mar 19 01:22:19 +0000 2024","conversation_id_str":"1769886849433280882","display_text_range":[12,89],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"881192533056827392","name":"goblin","screen_name":"goblinodds","indices":[0,11]}]},"favorite_count":1,"favorited":false,"full_text":"@goblinodds are you implying men don't have that problem to the same, or greater, degree?","in_reply_to_screen_name":"goblinodds","in_reply_to_status_id_str":"1769886849433280882","in_reply_to_user_id_str":"881192533056827392","is_quote_status":false,"lang":"en","quote_count":0,"reply_count":1,"retweet_count":0,"retweeted":false,"user_id_str":"6035982","id_str":"1769897154452336942"},"quick_promote_eligibility":{"eligibility":"IneligibleNotProfessional"}}},"tweetDisplayType":"Tweet"}}},{"entryId":"tweet-1769898872980312256","sortIndex":"7453473163874463551","content":{"entryType":"TimelineTimelineItem","__typename":"TimelineTimelineItem","itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{"result":{"__typename":"Tweet","rest_id":"1769898872980312256","has_birdwatch_notes":false,"core":{"user_results":{"result":{"__typename":"User","id":"VXNlcjo4ODExOTI1MzMwNTY4MjczOTI=","rest_id":"881192533056827392","affiliates_highlighted_label":{},"has_graduated_access":true,"is_blue_verified":true,"profile_image_shape":"Circle","legacy":{"following":false,"can_dm":true,"can_media_tag":false,"created_at":"Sat Jul 01 16:47:26 +0000 2017","default_profile":false,"default_profile_image":false,"description":"you and me baby ain't nothing but mammals so let's eat dog treats from petco \uD83D\uDC8E ayn rand apologist ⚔️ (they/it but dont fucking tread on me)","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"goblinodds.com","expanded_url":"https://goblinodds.com/","url":"https://t.co/e5A97tNDRq","indices":[0,23]}]}},"fast_followers_count":0,"favourites_count":620338,"followers_count":20053,"friends_count":2047,"has_custom_timelines":false,"is_translator":false,"listed_count":143,"location":"Los Angeles, CA","media_count":12702,"name":"goblin","normal_followers_count":20053,"pinned_tweet_ids_str":["1856457826261938537"],"possibly_sensitive":false,"profile_banner_url":"https://pbs.twimg.com/profile_banners/881192533056827392/1642994499","profile_image_url_https":"https://pbs.twimg.com/profile_images/1850359621740797952/8Id2FTYQ_normal.png","profile_interstitial_type":"","screen_name":"goblinodds","statuses_count":226748,"translator_type":"none","url":"https://t.co/e5A97tNDRq","verified":false,"want_retweets":false,"withheld_in_countries":[]},"tipjar_settings":{"is_enabled":true,"venmo_handle":"goblinodds"}}}},"unmention_data":{},"edit_control":{"edit_tweet_ids":["1769898872980312256"],"editable_until_msecs":"1710815349000","is_edit_eligible":false,"edits_remaining":"5"},"is_translatable":false,"views":{"count":"149","state":"EnabledWithCount"},"source":"<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>","legacy":{"bookmark_count":0,"bookmarked":false,"created_at":"Tue Mar 19 01:29:09 +0000 2024","conversation_id_str":"1769886849433280882","display_text_range":[8,257],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"6035982","name":"Loki Coyote","screen_name":"lokkju","indices":[0,7]}]},"favorite_count":3,"favorited":false,"full_text":"@lokkju yeah my sense is that it's much less common for men to:\n- feel like they have to manage other people's feelings\n- actually be expected to have to manage other people's feelings\nwhich in turns seems to make having to reject someone less, hmm, fraught","in_reply_to_screen_name":"lokkju","in_reply_to_status_id_str":"1769897154452336942","in_reply_to_user_id_str":"6035982","is_quote_status":false,"lang":"en","quote_count":0,"reply_count":4,"retweet_count":0,"retweeted":false,"user_id_str":"881192533056827392","id_str":"1769898872980312256"},"quick_promote_eligibility":{"eligibility":"IneligibleNotProfessional"}}},"tweetDisplayType":"Tweet"}}},{"entryId":"tweet-1769992503673938203","sortIndex":"7453379533180837604","content":{"entryType":"TimelineTimelineItem","__typename":"TimelineTimelineItem","itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{},"tweetDisplayType":"Tweet"}}},
{"entryId":"tweet-1769994635450134802","sortIndex":"7453377401404641005","content":{"entryType":"TimelineTimelineItem","__typename":"TimelineTimelineItem","itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{"result":{"__typename":"Tweet","rest_id":"1769994635450134802","has_birdwatch_notes":false,"core":{"user_results":{"result":{"__typename":"User","id":"VXNlcjo4ODExOTI1MzMwNTY4MjczOTI=","rest_id":"881192533056827392","affiliates_highlighted_label":{},"has_graduated_access":true,"is_blue_verified":true,"profile_image_shape":"Circle","legacy":{"following":false,"can_dm":true,"can_media_tag":false,"created_at":"Sat Jul 01 16:47:26 +0000 2017","default_profile":false,"default_profile_image":false,"description":"you and me baby ain't nothing but mammals so let's eat dog treats from petco \uD83D\uDC8E ayn rand apologist ⚔️ (they/it but dont fucking tread on me)","entities":{"description":{"urls":[]},"url":{"urls":[{"display_url":"goblinodds.com","expanded_url":"https://goblinodds.com/","url":"https://t.co/e5A97tNDRq","indices":[0,23]}]}},"fast_followers_count":0,"favourites_count":620338,"followers_count":20053,"friends_count":2047,"has_custom_timelines":false,"is_translator":false,"listed_count":143,"location":"Los Angeles, CA","media_count":12702,"name":"goblin","normal_followers_count":20053,"pinned_tweet_ids_str":["1856457826261938537"],"possibly_sensitive":false,"profile_banner_url":"https://pbs.twimg.com/profile_banners/881192533056827392/1642994499","profile_image_url_https":"https://pbs.twimg.com/profile_images/1850359621740797952/8Id2FTYQ_normal.png","profile_interstitial_type":"","screen_name":"goblinodds","statuses_count":226748,"translator_type":"none","url":"https://t.co/e5A97tNDRq","verified":false,"want_retweets":false,"withheld_in_countries":[]},"tipjar_settings":{"is_enabled":true,"venmo_handle":"goblinodds"}}}},"unmention_data":{},"edit_control":{"edit_tweet_ids":["1769994635450134802"],"editable_until_msecs":"1710838180000","is_edit_eligible":false,"edits_remaining":"5"},"is_translatable":false,"views":{"count":"59","state":"EnabledWithCount"},"source":"<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>","legacy":{"bookmark_count":0,"bookmarked":false,"created_at":"Tue Mar 19 07:49:40 +0000 2024","conversation_id_str":"1769886849433280882","display_text_range":[25,124],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"6035982","name":"Loki Coyote","screen_name":"lokkju","indices":[17,24]}]},"favorite_count":2,"favorited":false,"full_text":"@Wahrscheinlich7 @lokkju big difference between \"caring about\" and \"feeling like you have to manage\" someone else's feelings","is_quote_status":false,"lang":"en","quote_count":0,"reply_count":1,"retweet_count":0,"retweeted":false,"user_id_str":"881192533056827392","id_str":"1769994635450134802"},"quick_promote_eligibility":{"eligibility":"IneligibleNotProfessional"}}},"tweetDisplayType":"Tweet"}}},
{"entryId":"tweet-1770005922217132422","sortIndex":"7453366114637643385","content":{"entryType":"TimelineTimelineItem","__typename":"TimelineTimelineItem","itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{},"tweetDisplayType":"Tweet"}}},
{"entryId":"tweet-1770047976964035067","sortIndex":"7453324059890740740","content":{"entryType":"TimelineTimelineItem","__typename":"TimelineTimelineItem","itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{"result":{"__typename":"Tweet","rest_id":"1770047976964035067","has_birdwatch_notes":false,"core":{"user_results":{"result":{"__typename":"User","id":"VXNlcjoxNTIzMTA0NzA1NDgzODgyNDk2","rest_id":"1523104705483882496","affiliates_highlighted_label":{},"has_graduated_access":true,"is_blue_verified":false,"profile_image_shape":"Circle","legacy":{"followed_by":true,"following":true,"can_dm":true,"can_media_tag":false,"created_at":"Sun May 08 00:57:27 +0000 2022","default_profile":true,"default_profile_image":false,"description":"death to dead fish / swampier @swampofswamp","entities":{"description":{"urls":[]}},"fast_followers_count":0,"favourites_count":7544,"followers_count":201,"friends_count":232,"has_custom_timelines":false,"is_translator":false,"listed_count":1,"location":"","media_count":265,"name":"swamp","normal_followers_count":201,"pinned_tweet_ids_str":["1659517028812587008"],"possibly_sensitive":false,"profile_banner_url":"https://pbs.twimg.com/profile_banners/1523104705483882496/1717865523","profile_image_url_https":"https://pbs.twimg.com/profile_images/1836361154660085760/5v0UA3Ca_normal.jpg","profile_interstitial_type":"","screen_name":"swampentity","statuses_count":3970,"translator_type":"none","verified":false,"want_retweets":true,"withheld_in_countries":[]},"tipjar_settings":{}}}},"unmention_data":{},"edit_control":{"edit_tweet_ids":["1770047976964035067"],"editable_until_msecs":"1710850898000","is_edit_eligible":false,"edits_remaining":"5"},"is_translatable":false,"views":{"count":"34","state":"EnabledWithCount"},"source":"<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>","legacy":{"bookmark_count":0,"bookmarked":false,"created_at":"Tue Mar 19 11:21:38 +0000 2024","conversation_id_str":"1769886849433280882","display_text_range":[37,317],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"881192533056827392","name":"goblin","screen_name":"goblinodds","indices":[17,28]},{"id_str":"6035982","name":"Loki Coyote","screen_name":"lokkju","indices":[29,36]}]},"favorite_count":2,"favorited":false,"full_text":"@Wahrscheinlich7 @goblinodds @lokkju imo both men and women are expected to not make the other gender feel a certain way (which in a broad sense is managing feelings); I’d suspect the reason one might be thought of as “managing” while the other isn’t comes down to the kind of feeling you’re supposed to avoid causing","is_quote_status":false,"lang":"en","quote_count":0,"reply_count":1,"retweet_count":0,"retweeted":false,"user_id_str":"1523104705483882496","id_str":"1770047976964035067"},"quick_promote_eligibility":{"eligibility":"IneligibleNotProfessional"}}},"tweetDisplayType":"Tweet"}}},{"entryId":"conversationthread-1770048088079507845","sortIndex":"7453324059890740730","content":{"entryType":"TimelineTimelineModule","__typename":"TimelineTimelineModule","items":[{"entryId":"conversationthread-1770048088079507845-tweet-1770048088079507845","item":{"itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{"result":{"__typename":"Tweet","rest_id":"1770048088079507845","has_birdwatch_notes":false,"core":{"user_results":{"result":{"__typename":"User","id":"VXNlcjoxNTIzMTA0NzA1NDgzODgyNDk2","rest_id":"1523104705483882496","affiliates_highlighted_label":{},"has_graduated_access":true,"is_blue_verified":false,"profile_image_shape":"Circle","legacy":{"followed_by":true,"following":true,"can_dm":true,"can_media_tag":false,"created_at":"Sun May 08 00:57:27 +0000 2022","default_profile":true,"default_profile_image":false,"description":"death to dead fish / swampier @swampofswamp","entities":{"description":{"urls":[]}},"fast_followers_count":0,"favourites_count":7544,"followers_count":201,"friends_count":232,"has_custom_timelines":false,"is_translator":false,"listed_count":1,"location":"","media_count":265,"name":"swamp","normal_followers_count":201,"pinned_tweet_ids_str":["1659517028812587008"],"possibly_sensitive":false,"profile_banner_url":"https://pbs.twimg.com/profile_banners/1523104705483882496/1717865523","profile_image_url_https":"https://pbs.twimg.com/profile_images/1836361154660085760/5v0UA3Ca_normal.jpg","profile_interstitial_type":"","screen_name":"swampentity","statuses_count":3970,"translator_type":"none","verified":false,"want_retweets":true,"withheld_in_countries":[]},"tipjar_settings":{}}}},"unmention_data":{},"edit_control":{"edit_tweet_ids":["1770048088079507845"],"editable_until_msecs":"1710850924000","is_edit_eligible":false,"edits_remaining":"5"},"is_translatable":false,"views":{"count":"48","state":"EnabledWithCount"},"source":"<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>","legacy":{"bookmark_count":0,"bookmarked":false,"created_at":"Tue Mar 19 11:22:04 +0000 2024","conversation_id_str":"1769886849433280882","display_text_range":[37,316],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"881192533056827392","name":"goblin","screen_name":"goblinodds","indices":[17,28]},{"id_str":"6035982","name":"Loki Coyote","screen_name":"lokkju","indices":[29,36]}]},"favorite_count":3,"favorited":false,"full_text":"@Wahrscheinlich7 @goblinodds @lokkju perhaps for men it's ~\"don't make women feel threatened\"; for women it's ~\"don't make men feel rejected (unwanted?)\"? And the latter is much more commonly understood to be \"managing feelings\" because rejecting someone's advances is by default going to cause them to feel rejected","in_reply_to_screen_name":"swampentity","in_reply_to_status_id_str":"1770047976964035067","in_reply_to_user_id_str":"1523104705483882496","is_quote_status":false,"lang":"en","quote_count":1,"reply_count":1,"retweet_count":0,"retweeted":false,"user_id_str":"1523104705483882496","id_str":"1770048088079507845"},"quick_promote_eligibility":{"eligibility":"IneligibleNotProfessional"}}},"tweetDisplayType":"Tweet"},"clientEventInfo":{"details":{"conversationDetails":{"conversationSection":"HighQuality"},"timelinesDetails":{"controllerData":"DAACDAAEDAABCgABDSACCGAEgKEKAAIAAAAACACgCAAAAAA="}}}}},{"entryId":"conversationthread-1770048088079507845-tweet-1770048605090394459","item":{"itemContent":{"itemType":"TimelineTweet","__typename":"TimelineTweet","tweet_results":{"result":{"__typename":"Tweet","rest_id":"1770048605090394459","has_birdwatch_notes":false,"core":{"user_results":{"result":{"__typename":"User","id":"VXNlcjoxNTIzMTA0NzA1NDgzODgyNDk2","rest_id":"1523104705483882496","affiliates_highlighted_label":{},"has_graduated_access":true,"is_blue_verified":false,"profile_image_shape":"Circle","legacy":{"followed_by":true,"following":true,"can_dm":true,"can_media_tag":false,"created_at":"Sun May 08 00:57:27 +0000 2022","default_profile":true,"default_profile_image":false,"description":"death to dead fish / swampier @swampofswamp","entities":{"description":{"urls":[]}},"fast_followers_count":0,"favourites_count":7544,"followers_count":201,"friends_count":232,"has_custom_timelines":false,"is_translator":false,"listed_count":1,"location":"","media_count":265,"name":"swamp","normal_followers_count":201,"pinned_tweet_ids_str":["1659517028812587008"],"possibly_sensitive":false,"profile_banner_url":"https://pbs.twimg.com/profile_banners/1523104705483882496/1717865523","profile_image_url_https":"https://pbs.twimg.com/profile_images/1836361154660085760/5v0UA3Ca_normal.jpg","profile_interstitial_type":"","screen_name":"swampentity","statuses_count":3970,"translator_type":"none","verified":false,"want_retweets":true,"withheld_in_countries":[]},"tipjar_settings":{}}}},"unmention_data":{},"edit_control":{"edit_tweet_ids":["1770048605090394459"],"editable_until_msecs":"1710851048000","is_edit_eligible":false,"edits_remaining":"5"},"is_translatable":false,"views":{"count":"37","state":"EnabledWithCount"},"source":"<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>","legacy":{"bookmark_count":0,"bookmarked":false,"created_at":"Tue Mar 19 11:24:08 +0000 2024","conversation_id_str":"1769886849433280882","display_text_range":[37,114],"entities":{"hashtags":[],"symbols":[],"timestamps":[],"urls":[],"user_mentions":[{"id_str":"881192533056827392","name":"goblin","screen_name":"goblinodds","indices":[17,28]},{"id_str":"6035982","name":"Loki Coyote","screen_name":"lokkju","indices":[29,36]}]},"favorite_count":2,"favorited":false,"full_text":"@Wahrscheinlich7 @goblinodds @lokkju i.e. you basically always need skill + tact to minimise feelings of rejection","in_reply_to_screen_name":"swampentity","in_reply_to_status_id_str":"1770048088079507845","in_reply_to_user_id_str":"1523104705483882496","is_quote_status":false,"lang":"en","quote_count":0,"reply_count":1,"retweet_count":0,"retweeted":false,"user_id_str":"1523104705483882496","id_str":"1770048605090394459"},"quick_promote_eligibility":{"eligibility":"IneligibleNotProfessional"}}},"tweetDisplayType":"Tweet"},"clientEventInfo":{"details":{"conversationDetails":{"conversationSection":"HighQuality"},"timelinesDetails":{"controllerData":"DAACDAAEDAABCgABDSACEKIAgKEKAAIAAAAACACgCAAAAAA="}}}}},{"entryId":"conversationthread-1770048088079507845-cursor-showmore-5142622885435031802","item":{"itemContent":{"itemType":"TimelineTimelineCursor","__typename":"TimelineTimelineCursor","value":"PAAAAPAtPBwcFrbFtdmA9byQMRUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNzcwMDQ4MDg4MDc5NTA3ODQ1IgAA","cursorType":"ShowMore","displayTreatment":{"actionText":"Show replies"}},"clientEventInfo":{"details":{"conversationDetails":{"conversationSection":"HighQuality"}}}}}],"displayType":"VerticalConversation","clientEventInfo":{"details":{"conversationDetails":{"conversationSection":"HighQuality"}}}}}]},{"type":"TimelineTerminateTimeline","direction":"Top"}]}}}
fetch_tweet_detail('1770047976964035067')
has missing parent ids immediately after empty timeline elements, likely corresponding to deleted user@Wahrscheinlich7
the JSON response for TweetDetails here is below. note that it's littered with TimelineItems who have
"tweet_results":{}
, and that the tweet after that in the timeline has no parent despite being in the conversation (and having the sameconversation_id_str
).i think the fix for this is either:
fetch_tweet_detail
creates objects for the empty tweets, make it create dummies like tombstones and fake the REST ids; ORfetch_tweet_context
before the for loop, and retroactively re-parent them to an existing parent tweet once one shows up later in the loop