Skip to content

Site icon federates as the post icon and shows up as an extra image on Misskey #3705

Description

@pfefferle

Quick summary

Posts without a featured image federate with the site icon in the icon property. Misskey renders that as an extra low-resolution image on the post, so the site logo shows up under every post that has no image of its own.

Reported here: https://wordpress.org/support/topic/misskey-posts-include-additional-lo-res-images/

An example, a Note with an empty attachment array but an icon:

{
  "type": "Note",
  "attachment": [],
  "icon": {
    "type": "Image",
    "mediaType": "image/jpeg",
    "url": "https://dorkboy.ca/wp-content/uploads/2026/08/cropped-cropped-Robot-3-1-150x150.jpg"
  }
}

Why it happens

Nothing asks for an icon on a Note. Transformer\Base::to_object() walks every property the object supports and calls the matching getter if the transformer has one:

$getter = 'get_' . $var;

if ( \method_exists( $this, $getter ) ) {
	$value = \call_user_func( array( $this, $getter ) );

Base_Object has an icon property and Transformer\Post has get_icon(), so every post gets one. get_icon() uses the featured image and falls back to get_option( 'site_icon' ) at thumbnail size, which is where the 150x150 crop comes from.

Mastodon ignores icon on a Note, Misskey shows it, and both are defensible: AS2 describes icon as a small image representing the object.

get_icon() has a second, wanted use as the poster fallback for video attachments in Transformer\Base, so the method should stay either way.

Options

  1. Drop the site_icon fallback from Transformer\Post::get_icon(). No featured image, no icon. Fixes the report and keeps a real thumbnail where there is one.
  2. Stop mapping icon onto the object and keep get_icon() only for the video poster. A Note then never carries icon, on the grounds that attachment already carries the images.
  3. Leave it. It is spec-legal and only one implementation surfaces it.

Option 1 looks like the smallest fix that addresses what was reported, since the complaint is specifically about the site logo appearing on posts that have no image. Option 2 is the stronger argument if we think a post should not advertise an icon at all.

Site owner impact

Fewer than 20% of the total website/platform users

Severity

Low

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions