mortalkiller/filament-complete-user-profile
Filament Complete User Profile adds a ready-made profile page to your Filament panel, letting users manage personal details, avatar, password, and account settings in one place. Simple to install, extend, and customize for Laravel apps.
Architecture fit. mortalkiller/filament-complete-user-profile is a Filament panel plugin that supplies a user-profile surface (profile editing, account navigation, email MFA) on top of Filament's auth stack. The architecturally significant change in v1.2.2 is that the package stopped owning the one-time-code lifecycle and now delegates generation, storage, delivery, and verification to Filament's native MFA provider, retaining only its custom email notification and 60-second resend cooldown. That is the right direction: it removes a parallel implementation of security-sensitive logic and reduces the surface the maintainer must keep correct. The trade-off is that the package is now a thin presentation/notification layer whose behaviour is jointly determined by Filament internals and its own cooldown logic.
Integration feasibility. Low effort in the happy path: a Composer dependency plus plugin registration in the panel provider, with the usual config/migration publishing. Hard constraints are Filament >=5.8.3 <6.0.0, Laravel 13.x only, and PHP 8.3+. The Laravel 13-only floor is the practical gating factor — teams on Laravel 11/12 cannot adopt without a framework upgrade, which is an order of magnitude larger than the package integration itself.
Technical risk. The release itself is evidence of the dominant risk: Filament 5.10 changed OTP storage from session-based to a cache-backed mechanism, and v1.2.1's MFA broke on a minor upstream version. That means (a) the package tracks Filament internal contracts closely, and (b) minor Filament bumps are not safe to take unreviewed. Expect the same class of breakage at 5.11+ and a larger one at Filament 6. Secondary risks: single-maintainer bus factor; a narrow Laravel 13 support window that may lag or lead the ecosystem; and the new operational dependency on the cache backend for OTP state (cache eviction or a non-shared cache in a multi-node deployment now affects MFA directly). Quality signals are genuinely good for a package this size — 171 PHPUnit tests / 705 assertions run against both dependency boundaries (5.8.3 and 5.10.1), 24 Playwright browser tests, PHPStan and style gates.
Key questions.
Stack fit. Appropriate for a Filament 5.x admin/portal panel on Laravel 13 that wants a ready-made account area rather than hand-rolling profile, MFA, and mobile navigation. It is not a fit for teams standardised on Filament 4 or Laravel ≤12, and it should be treated as an application-layer convenience, not infrastructure.
Migration path. From v1.2.1 on Filament 5.10.x, this is a required upgrade — MFA is currently broken and the release restores it. The change is a patch (composer update ... --with-dependencies) with no claimed public API break, but it changes where OTP state lives, so any custom code, tests, or runbooks that assumed session-based codes must be revisited. From Filament 5.8.3–5.9.x, the upgrade is effectively a no-op and can ride a normal maintenance window.
Compatibility. Confirm Laravel 13.x and PHP 8.3+ first; then confirm the exact Filament minor in composer.lock, since the constraint permits anything from 5.8.3 to 5.9.x/5.10.x and behaviour differs across that range.
Sequencing.
5.10.*) rather than floating, and record it as an operational control.Maintenance. Ongoing cost is dominated by upstream surveillance, not by the package's own churn. Each Filament minor is a potential MFA outage and needs a staging verification pass. Budget a recurring review per Filament release and per Laravel minor.
Support. Documentation site and CI workflows were refreshed in this release, and static analysis plus style gates are enforced, which lowers the volume of low-quality defects reaching the team. Residual support risk is the single-maintainer model: if upstream ships a breaking minor and the maintainer is slow, the team is exposed and may need a fork or a local patch.
Scaling. The shift to cache-backed OTP is net positive for horizontal scaling — session affinity is no longer required for MFA — but only if a shared cache (Redis or database) is configured with a TTL that matches user expectations for code expiry. Email is the throughput bottleneck and an external dependency: provider rate limits and deliverability policies become part of your login-critical path.
Failure modes.
link → menuitem accessibility role change — can degrade the account menu silently.Ramp-up. Low. A Laravel/Filament-fluent engineer can integrate and validate in well under a day; the meaningful work is the MFA and cache verification checklist, not the code. Teams unfamiliar with Filament's panel/provider model should add a short orientation to the estimate.
How can I help you explore Laravel packages today?