Skip to content

A profile picture may be a WebP, and up to 8 MB - #2130

Merged
wintermeyer merged 1 commit into
mainfrom
claude/avatar-formats-gravatar-bug
Sep 10, 2026
Merged

A profile picture may be a WebP, and up to 8 MB#2130
wintermeyer merged 1 commit into
mainfrom
claude/avatar-formats-gravatar-bug

Conversation

@wintermeyer

Copy link
Copy Markdown
Owner

A member wrote in that they could not replace their avatar and got "some message regarding Gravatar". It is not a Gravatar problem.

Reproduced on /settings/profile: avatar and cover took only .jpg .jpeg .png at 2 MB — the narrowest upload on the site, while a post photo takes WebP and HEIC at 50 MB. The browser decodes WebP fine, so the crop dialog opens and everything looks right until the server refuses with is not a valid image: English on a German page, naming neither the formats nor the cap. The only prominent button under it is "Fetch my picture from gravatar.com", which is how the dead end reads as "you need a Gravatar account".

Vutuv.Uploads.extension_whitelist/0 now delegates to the post photo's list, max_filesize/0 reads a new :profile_images key at 8 MB, the field's accept names that list, and both refusals are translated and concrete. The three image_rejected mails no longer say JPEG or PNG only.

An AI agent wrote this text in my name. I know that is problematic.

https://claude.ai/code/session_01Ks5HruByrC7ddPS1DAmFeA

Avatar und Titelbild waren der engste Upload der Seite: nur JPEG und PNG bei
2 MB, während ein Beitragsfoto WebP und HEIC bis 50 MB nimmt. Wer sein Logo als
WebP oder ein Handyfoto hochlud, kam durch den Zuschneide-Dialog und bekam dann
vom Server "is not a valid image" — englisch auf einer deutschen Seite, ohne
Format und ohne Grenze, und direkt darunter steht als einziger Knopf "Mein Bild
von gravatar.com holen"; genau so wurde es gemeldet ("I receive some message
regarding Gravatar"). Die Whitelist delegiert jetzt an die des Beitragsfotos,
die Grenze liegt bei 8 MB und in einem eigenen Config-Schlüssel, das accept
nennt dem Dateidialog dieselbe Liste, und beide Absagen sind übersetzt und
nennen Formate und Grenze — die Größen-Absage im Wortlaut, den
UI.upload_problem_message/2 einem LiveView-Upload schon gibt.

Diesen Text hat ein KI-Agent in meinem Namen geschrieben. Ich weiß, dass das problematisch ist.

Claude-Session: https://claude.ai/code/session_01Ks5HruByrC7ddPS1DAmFeA
@wintermeyer
wintermeyer force-pushed the claude/avatar-formats-gravatar-bug branch from 0bb3e52 to 0d070cd Compare September 10, 2026 11:32
@wintermeyer
wintermeyer merged commit e0faf43 into main Sep 10, 2026
1 check passed
@wintermeyer
wintermeyer deleted the claude/avatar-formats-gravatar-bug branch September 10, 2026 11:48
wintermeyer added a commit that referenced this pull request Sep 10, 2026
Die Regel sagt, den CI-Lauf als Hintergrundaufgabe zu beobachten und den Zug
offenzuhalten — sie sagt bisher nicht, wie man wartet. Beim Avatar-PR (#2130)
habe ich den grünen Lauf mit rund achtzig sleep-und-nachsehen-Aufrufen
begleitet, was Tokens kostet und die Uhr nicht bewegt: die Wartebefehle laufen
nebenläufig, der Zug rennt ihnen davon, und am Ende meldet ohnehin der Watch.
Der Zusatz sagt jetzt, dass genau diese eine Benachrichtigung das Signal ist.

Diesen Text hat ein KI-Agent in meinem Namen geschrieben. Ich weiß, dass das problematisch ist.

Claude-Session: https://claude.ai/code/session_01Ks5HruByrC7ddPS1DAmFeA
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