joaopaulolndev/filament-world-clock
A Filament plugin that adds a customizable world clock widget to your admin panel. Display current local times across multiple timezones, choose clock styles, and configure labels and layout for a clean, dashboard-ready overview—ideal for distributed teams and global schedules.
Architecture fit. This package is a Filament plugin, not a standalone Laravel library — its public surface is bound to Filament's panel/page lifecycle (Page::routes(), panel registration, route generation). That is a good architectural fit if the product already standardises on Filament for admin/back-office surfaces, but it means the package's compatibility envelope is effectively a strict subset of Filament's. Adopting it is a decision about Filament as much as about this package.
Integration feasibility. Low effort, conditional on Filament version. The change in v3.0.2 is a constraint bump to filament/filament: ^5.3, driven by an upstream signature change in Page::routes() (filamentphp/filament#19225). There is no evidence of a change to this package's own public API in this release, so integration work is dominated by the Filament upgrade rather than plugin wiring. The practical gate is: are we already on Filament ≥ 5.3? If yes, this is a routine composer update. If no, this release is blocked behind a framework upgrade that touches every panel page in the application.
Technical risk.
Page::routes() means depending on an internal-ish Filament contract. Upstream changed its signature in a minor/patch line, and this package responded with a breaking constraint bump. Expect this pattern to repeat; the plugin's release cadence will be dictated by Filament's.^5.3 is correct but unforgiving: any environment held below 5.3 — including ones pinned for unrelated reasons — cannot install this version and must stay on a 2.x line if one exists. Whether a maintained 2.x exists is an open question and materially changes the risk profile.Key questions.
PageConfiguration change any behaviour (default config, route names, URL shape) or is it purely an argument pass-through?Stack fit. Laravel + Filament v5.3+. Composer-only integration; no infrastructure, no runtime services. Fits monolith and modular-monolith deployments equally well.
Migration path.
filament/filament version across all apps/panels that would consume this package.php artisan route:cache, and any custom Page subclasses or overridden routes().^3.0.2 and re-run the same validation.Compatibility. Treat compatibility as a matrix, not a version number: {Filament version} × {this package} × {other Filament plugins}. Filament's plugin ecosystem is where constraint conflicts surface — a second plugin pinning <5.3 will make this unresolvable at the Composer level, and that conflict should be discovered before committing to the upgrade rather than during it.
Sequencing. Filament upgrade → route/page regression tests → this package bump → deploy. Do not attempt to combine this bump with unrelated dependency work; the framework step needs a clean signal. If the app has more than a handful of panels or custom pages, split the Filament upgrade into its own change set with its own rollback point.
Maintenance. The dominant ongoing cost is version-tracking Filament. Budget for a recurring task each Filament minor: check this package, check the release notes, run the upgrade. The ^5.3 floor will ratchet upward over time; teams that lag will accumulate a compound upgrade. Renovate/Dependabot on both filament/filament and this package, grouped, is the cheap mitigation.
Support. Upstream is a third-party open-source plugin whose support window is tied to Filament's. There is no vendor SLA. If this package lags a Filament release, the team is stuck choosing between an unpatched Filament and an incompatible plugin — that fork in the road should be acknowledged in the dependency register rather than discovered mid-incident.
Scaling. No meaningful runtime scaling concern; the package adds panel routing behaviour, not request-path load. The scaling risk here is organisational: every additional Filament plugin added to the stack multiplies the constraint-conflict surface and the upgrade coordination cost.
Failure modes.
Page::routes() signature drift produces incorrect or duplicate page routes; caught only by route-level tests or manual navigation checks.route:cache in production-like config, not in local dev.Ramp-up. Low for engineers already fluent in Filament — the integration surface is small and idiomatic. For engineers without Filament experience, the real ramp-up is Filament's page/resource/panel model, not this package; estimate accordingly and don't attribute that cost to the plugin. Add explicit regression coverage for page route registration before the first bump, so subsequent Filament upgrades are a test run rather than a manual audit.
How can I help you explore Laravel packages today?