IBBoard / cawbird

A fork of the Corebird GTK Twitter client that continues to work with Twitter
https://ibboard.co.uk/cawbird/
GNU General Public License v3.0
310 stars 37 forks source link

sometimes, url's/content simply dont show (screenshots) #449

Closed roryst closed 2 years ago

roryst commented 2 years ago

the best way to explain is to show (in prefs, I have show inline media as 'always show' and "remove media inks" is disabled)...in this example, i'm talking about the tweet from Sky Sports F1. the screenshots compare it with tweetdeck right next to it

Expected behavior show url/preview

Screenshots Screenshot from 2022-03-27 07-12-21 Screenshot from 2022-03-27 07-12-41 System details:

IBBoard commented 2 years ago

That appears to be a "Twitter Says No"/"works as intended" problem.

Here's the JSON that the Twitter v1 API returns for that tweet:

{
  "created_at" : "Sun Mar 27 12:09:05 +0000 2022",
  "id" : 1508053493512298498,
  "id_str" : "1508053493512298498",
  "full_text" : "Saudi Arabian GP: Lewis Hamilton explains SHOCK qualifying exit in 'undriveable' Mercedes car 👀👇",
  "truncated" : false,
  "display_text_range" : [
    0,
    96
  ],
  "entities" : {
    "hashtags" : [],
    "symbols" : [],
    "user_mentions" : [],
    "urls" : []
  },
  "source" : "<a href=\"https://ads-api.twitter.com\" rel=\"nofollow\">Twitter for Advertisers.</a>",
  "in_reply_to_status_id" : null,
  "in_reply_to_status_id_str" : null,
  "in_reply_to_user_id" : null,
  "in_reply_to_user_id_str" : null,
  "in_reply_to_screen_name" : null,
  "user" : {
    "id" : 368276033,
    "id_str" : "368276033",
    "name" : "Sky Sports F1",
    "screen_name" : "SkySportsF1",
    "location" : "UK",
    "description" : "The official Twitter account of Sky Sports F1.",
    "url" : "https://t.co/rveTyLchrj",
    "entities" : {
      "url" : {
        "urls" : [
          {
            "url" : "https://t.co/rveTyLchrj",
            "expanded_url" : "http://www.skysports.com/f1/",
            "display_url" : "skysports.com/f1/",
            "indices" : [
              0,
              23
            ]
          }
        ]
      },
      "description" : {
        "urls" : []
      }
    },
    "protected" : false,
    "followers_count" : 1425200,
    "friends_count" : 127,
    "listed_count" : 12275,
    "created_at" : "Mon Sep 05 11:16:56 +0000 2011",
    "favourites_count" : 8651,
    "utc_offset" : null,
    "time_zone" : null,
    "geo_enabled" : true,
    "verified" : true,
    "statuses_count" : 59717,
    "lang" : null,
    "contributors_enabled" : false,
    "is_translator" : false,
    "is_translation_enabled" : false,
    "profile_background_color" : "6B6B6B",
    "profile_background_image_url" : "http://abs.twimg.com/images/themes/theme1/bg.png",
    "profile_background_image_url_https" : "https://abs.twimg.com/images/themes/theme1/bg.png",
    "profile_background_tile" : false,
    "profile_image_url" : "http://pbs.twimg.com/profile_images/1483400272248463360/VaMKOYH3_normal.jpg",
    "profile_image_url_https" : "https://pbs.twimg.com/profile_images/1483400272248463360/VaMKOYH3_normal.jpg",
    "profile_banner_url" : "https://pbs.twimg.com/profile_banners/368276033/1646131551",
    "profile_image_extensions_alt_text" : null,
    "profile_banner_extensions_alt_text" : null,
    "profile_link_color" : "B30000",
    "profile_sidebar_border_color" : "000000",
    "profile_sidebar_fill_color" : "D9D9D9",
    "profile_text_color" : "333333",
    "profile_use_background_image" : true,
    "has_extended_profile" : false,
    "default_profile" : false,
    "default_profile_image" : false,
    "following" : false,
    "follow_request_sent" : false,
    "notifications" : false,
    "translator_type" : "none",
    "withheld_in_countries" : []
  },
  "geo" : null,
  "coordinates" : null,
  "place" : null,
  "contributors" : null,
  "is_quote_status" : false,
  "retweet_count" : 33,
  "favorite_count" : 756,
  "favorited" : false,
  "retweeted" : false,
  "lang" : "en"
}

The Sky Sports link is nowhere in there. They're presumably using the Cards API or something similar. Unfortunately, if Twitter don't supply the data then we can't display it! Hopefully this will be improved in the v2 API that the rebuild of Cawbird will be using.

This is different Cawbird not showing images and summary text for other sites (like BBC News articles), which we could do if we fetched and checked the <head> tags of every linked page to see if they specified a summary and display image.