fof/discussion-thumbnail

Replace author avatars with the first image in a discussion's starting post

Fund package maintenance!
Website

Installs: 11 158

Dependents: 1

Suggesters: 0

Security: 0

Stars: 6

Watchers: 3

Forks: 3

Open Issues: 0

Type:flarum-extension

pkg:composer/fof/discussion-thumbnail

2.0.0-beta.1 2026-02-25 02:40 UTC

README

License Latest Stable Version OpenCollective

A Flarum extension. Replaces the author avatar in the discussion list with the first image found in the discussion's opening post.

https://cdn.discuss.flarum.org/2026-02-25/1771984263-288896-fof-discussion-thumbnail.mp4

How it works

When the discussion list is rendered, each discussion's author avatar is replaced with a thumbnail of the first <img> found in the HTML of the first post. If the first post contains no image, the normal user avatar is shown instead.

Backend: AddDiscussionThumbnail is registered as an API serializer attribute on BasicDiscussionSerializer. For each discussion it:

  1. Loads the first post and calls formatContent() to render the full HTML
  2. Extracts the src of the first <img> tag via regex
  3. Caches the result forever against the post ID, keyed as fof:discussion-thumbnail:discussion:{id}
  4. Returns the URL as the customThumbnail attribute on the discussion

The cache is invalidated when the post's edited_at timestamp is newer than the cached date, so editing the first post to change its image is reflected on next load.

Frontend: The customThumbnail attribute is read in a contentItems extension on DiscussionListItem. When a thumbnail URL is present, the authorAvatar item is replaced with a DiscussionThumbnail component wrapped in the same Tooltip + Link structure as the normal avatar. The thumbnail is styled with the .Avatar class so it matches core avatar sizing and alignment at all breakpoints.

Settings

Setting Default Description
Link to discussion false When enabled, clicking the thumbnail navigates to the discussion instead of the author's profile

Installation

composer require fof/discussion-thumbnail:"*"

Enable the extension in your Flarum admin panel.

Updating

composer update fof/discussion-thumbnail
php flarum cache:clear

Links

OpenCollective

An extension by FriendsOfFlarum.