Skip to content

fix(slack): force non-webp persona avatars so Slack renders them - #9

Open
debuggingfuture wants to merge 2 commits into
mainfrom
fix/avatar-format-original
Open

fix(slack): force non-webp persona avatars so Slack renders them#9
debuggingfuture wants to merge 2 commits into
mainfrom
fix/avatar-format-original

Conversation

@debuggingfuture

@debuggingfuture debuggingfuture commented Jun 10, 2026

Copy link
Copy Markdown
Member

Persona intros in Slack showed the default app icon instead of each persona's face. Fixed and validated live — re-seeded #pied-piper and Slack now ingests/re-hosts every avatar (its tell for a successfully processed icon).

Root cause: Slack's icon_url renders only jpeg/png/gif and silently drops webp — and fandom's CDN content-negotiates every image to webp by default. The format=original convention was already documented in PERSONAS.md prose but the 8 avatar_url values had drifted from it.

  • Append format=original to all 8 persona avatar_urls (now image/jpeg/image/png).
  • Tighten validateAvatar to accept only jpeg/png/gif so a webp avatar fails loudly at seed time instead of silently rendering the default icon.
  • Harden --replace: tolerate cant_delete_message (intros posted by a previous app install are a different bot identity — workspace-level vs org-level installs don't share one) with a warning instead of aborting.

Slack's icon_url accepts only jpeg/png/gif and silently drops webp,
which fandom's CDN serves by default — so seeded intros showed the
default app icon instead of the persona's face. Append the
format=original param PERSONAS.md already documents to all 8 avatar
URLs, and tighten validateAvatar to reject non-jpeg/png/gif so this
fails loudly next time.
Workspace-level and org-level installs of the same app are distinct bot
identities; intros posted by a previous install can't be deleted by the
current one. Warn and continue instead of aborting the re-seed.
@debuggingfuture
debuggingfuture marked this pull request as ready for review June 10, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant