awcodes/filament-gravatar
A Filament plugin for displaying Gravatar avatars in your admin panel. Add Gravatar support to user tables and profiles with a simple component, letting Filament show globally recognized avatars based on email addresses.
AvatarProvider contract. This package collapses that into a config swap. Scope it as a thin adapter, not an avatar platform.mb_trim() call that v4.2.0 introduced despite declaring PHP ^8.2. The maintainer diagnosed it accurately, named the affected version, and fixed it promptly — a positive responsiveness data point, and the first real evidence of maintenance rather than inference from author reputation. But it also shows a formatter rule changed runtime behavior and shipped, meaning the PHP matrix did not gate the release. Treat v4.2.1 as the floor, not as proof of a hardened pipeline.creativeorange/gravatar, a Gravatar::get() facade, a published config/gravatar.php). The v4.2.1 notes reference a Gravatar::url() method, which widens rather than resolves the ambiguity. Confirm the actual public API, config surface, and Filament version support from the repository before committing to any estimate.Consider adoption when:
secure.gravatar.com is acceptable for the surface in question — typically internal admin.>=4.2.1 and verify your lockfile resolves an adequate symfony/polyfill-mbstring on PHP 8.2/8.3 — the failure mode is lockfile-dependent, so an unrelated composer update can flip it from working to broken.Look elsewhere when:
secure.gravatar.com, and images fail silently.For executives: This is a small, low-cost add-on that makes our Filament admin panel show real, recognizable user avatars by swapping the default avatar provider for a Gravatar-backed one. It delivers a visible polish improvement to internal tools in days rather than weeks, and it deliberately avoids the expensive path — avatar upload, storage, moderation, and CDN delivery — which stays a separate roadmap decision. Frame it accurately: a convenience dependency, not core infrastructure. Single-purpose, MIT-licensed, narrow API, no data storage, and a cheap removal path we should build in from day one. Three caveats to state plainly: (1) it depends on an external service and on hashing user email addresses, which is fine for internal admin surfaces but needs review before any customer-facing or EU-staff use; (2) it is maintained by one author with modest adoption, so treat it as replaceable rather than strategic; (3) the latest release, v4.2.1, is a bugfix only — it removes a PHP 8.4-only call that slipped into a version declaring PHP 8.2 support — with no new features or API changes. Ask for a bounded pilot on one internal panel, not a platform commitment.
For engineering: Adopt >=4.2.1 and pin it exact. Before estimating, re-verify the actual repository metadata — declared Filament version support, composer.json requirements, and the real public API — because our evaluation materials mix in details from a different Gravatar package and should not be relied on as-is. The 4.2.1 patch reverts a Pint-rule-induced mb_trim() in the URL builder that could fatal with Call to undefined function mb_trim() on PHP 8.2/8.3 when an older symfony/polyfill-mbstring resolved transitively. Two things to internalize: the fix closes the symptom, not the mechanism — verify our own Pint ruleset doesn't contain behavior-changing rewrites, and that our CI runs --prefer-lowest on 8.2 and 8.3, not just the newest interpreter; and because zero dependents means nobody else surfaces this class of bug for us, our CI is the only guard. Confine the integration to a Filament panel's avatar-provider seam — a supported extension point, not a vendor patch — keep avatar URL generation behind one binding, snapshot URLs before and after the upgrade to confirm byte-identical output, and confirm there is a documented, cheap revert to the default provider that doesn't touch resource code. Budget half a day including review, and treat the privacy/kill-switch question as a gating item, not a follow-up.
How can I help you explore Laravel packages today?