Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Bug: Profile images 404 due to Twitter/X avatar URL suffix/hash changes

Open
#201 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

  • #223 by @highoncomputers — closed without merging

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
react, typescript
Domain
api, frontend

Research direction

No file or test is named. Start by locating the default avatar component and the code that consumes Twitter's syndication response, then reproduce the stale profile_image_url 404 described here. Done means past-tweet embeds continue displaying the account's latest avatar after Twitter rotates the asset.

Written by the indexing model from the issue text.

Description

Profile images 404 due to Twitter/X avatar URL suffix/hash changes

Note: This only affects past tweets. Tweets posted after an avatar update will use the new image and render correctly. Old tweets using the old profile_image_url will never automatically update.

Description
When embedding tweets, profile images can return a 404 because the profile_image_url from Twitter’s syndication API points to a stale asset.

react-tweet currently renders the URL directly from the syndication response, so once the old asset is purged, the embed shows a broken avatar.

Example

// Old URL Being Returned (404s)
https://pbs.twimg.com/profile_images/xxxxxxxxxxxxxx/xxxxxxx_normal.jpg

// New URL **NOT** Being Returned  (works)
https://pbs.twimg.com/profile_images/xxxxxxxxxxxxxx/xxxxxxx_400x400.jpg

Steps to Reproduce

  1. Pick a personal / non-gold-check account and embed one of its tweets using react-tweet.
  2. Confirm the profile image renders correctly.
  3. Upgrade the account to a verified business / gold-check account.
  4. After the gold check is applied, reload the embed.
  5. Observe that the old profile_image_url now returns a 404 and the avatar is broken.

Expected Behavior

  • Avatars should always render, even if Twitter rotates the asset hash or updates the profile image.
  • The component should ensure the latest avatar is displayed for past tweets, not just the version at the time of posting.

Actual Behavior

  • Avatar requests fail with 404 for old suffix/hash.
  • The tweet embed shows a broken profile image.
  • Using URL suffix manipulations would only load the avatar that existed when the tweet was posted, not the latest profile image.
Current Workaround / Fallback

Currently, we bypass this issue by overriding the default avatar component in react-tweet.
Our custom component (SafeProfileImage) renders the original profile image URL, and if it 404s, it falls back to a known working image for the account.

Limitations:

  • Without a dynamic latest-avatar fetch, past tweets still risk pointing to stale images if the account updates its avatar again.
  • Manual updates to the fallback image are currently required to ensure the latest avatar is displayed.
Dominant language
TypeScript
Stars
1.9k
Forks
119
Avg merge
6m
Merged PRs (30d)
1

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from vercel/react-tweet

All issues in vercel/react-tweet

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.