Fix crashing on user's own tweet threads because of the composer button
This commit is contained in:
parent
0fe65f99d5
commit
12a2dc9744
@ -492,6 +492,10 @@ func (e APIV2Entry) ToTweetTrove() TweetTrove {
|
||||
// "Show More" replies button in a thread on Tweet Detail page
|
||||
continue
|
||||
}
|
||||
if item.Item.ItemContent.ItemType == "TimelineTweetComposer" {
|
||||
// Composer button
|
||||
continue
|
||||
}
|
||||
trove, err := item.Item.ItemContent.TweetResults.ToTweetTrove()
|
||||
if errors.Is(err, ErrorIsTombstone) {
|
||||
// TODO: do something with tombstones in replies to a Tweet Detail
|
||||
|
@ -959,3 +959,16 @@ func TestTweetWithImplicitQuotedTombstone(t *testing.T) {
|
||||
assert.True(t2.IsStub)
|
||||
assert.Equal(t2.TombstoneType, "unavailable")
|
||||
}
|
||||
|
||||
func TestNoFailOnComposerEntry(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
require := require.New(t)
|
||||
data, err := os.ReadFile("test_responses/api_v2/composer_entry_item.json")
|
||||
require.NoError(err)
|
||||
var entry_result APIV2Entry
|
||||
err = json.Unmarshal(data, &entry_result)
|
||||
require.NoError(err)
|
||||
|
||||
trove := entry_result.ToTweetTrove()
|
||||
assert.Len(trove.Tweets, 0)
|
||||
}
|
||||
|
@ -0,0 +1 @@
|
||||
{"entryId":"conversationthread-1725402903517815175","sortIndex":"7497969134259727904","content":{"entryType":"TimelineTimelineModule","__typename":"TimelineTimelineModule","items":[{"entryId":"conversationthread-34534534354535-tweetcomposer--1","item":{"itemContent":{"itemType":"TimelineTweetComposer","__typename":"TimelineTweetComposer","composerDisplayType":"SelfThread","composerButtonText":"Add another post","composerButtonUrl":{"url":"twitter://post?in_reply_to_status_id=34534534354535","urlType":"DeepLink"}}}}],"displayType":"VerticalConversation","clientEventInfo":{"details":{"conversationDetails":{"conversationSection":"HighQuality"}}}}}
|
Loading…
x
Reference in New Issue
Block a user