fidum/laravel-nova-metrics-polling
Adds configurable polling to Laravel Nova metrics cards, automatically refreshing dashboards at set intervals without manual reloads. A lightweight way to keep metric values current during monitoring, demos, or live operations, with simple setup for Nova users.
Architecture fit. The package is a thin presentation-layer add-on for Laravel Nova: it adds automatic polling/refresh behavior to Nova metric cards (value, trend, partition). It touches no domain logic, no persistence, and no public API of the host application. Structurally that is a good fit — the blast radius is limited to the Nova dashboard surface, and adoption can be opt-in per metric card rather than global.
Integration feasibility. Integration is standard Laravel package ergonomics: composer require, optional config publish, and per-metric opt-in (trait/attribute or a polling()-style call on the metric class). The real constraint is not Laravel — it is Nova. Nova is a paid, closed-source dependency with its own release cadence and its own Vue/asset toolchain, so the effective compatibility matrix is PHP × Laravel × Nova × Node build toolchain, and only one of those four is addressed by this release.
Technical risk. Low, on the evidence available. The 1.0.4 → 1.0.5 delta is described as a single change — Laravel 13 support — which for a package of this shape almost certainly means a widened illuminate/* / laravel/framework constraint in composer.json plus a CI matrix entry. That is a constraint-only change: no runtime API changes, no migration, no config schema change, no asset rebuild implied. Semver is respected (patch bump for a compatibility widening).
The residual risks are:
dev/@beta stability flag, which is not acceptable for a production pin.Key questions.
composer.json diff — is this purely additive, or did the minimum PHP/Laravel/Nova floor move?dev?Stack fit. Targets Laravel applications running Nova with metric-heavy dashboards. It is a convenience/UX package, not infrastructure — it should be classified as a low-criticality dependency and never allowed to block a framework upgrade.
Migration path. From 1.0.4 to 1.0.5 the migration is a composer update fidum/laravel-nova-metrics-polling and nothing else. No code edits, no config changes, no data migration, no asset republish. Teams not on Laravel 13 gain no functional benefit from this release; it is a maintenance pickup only, and there is no reason to rush it beyond staying current.
Compatibility. Validate with composer why-not fidum/laravel-nova-metrics-polling 1.0.5 and a dry-run update against the real application, not a scratch project — the Nova constraint is the one most likely to conflict. Confirm the resolved PHP floor against the oldest runtime still in the fleet.
Sequencing.
composer.json between 1.0.4 and 1.0.5 tags; confirm additive-only and record the declared minimums.composer.lock, promote, and note the Nova version paired with it in the dependency register.If the team is not yet on Laravel 13, this is a low-urgency "keep current" update — schedule it with the next routine dependency sweep rather than as a standalone change.
Maintenance. Very low day-to-day. The package is small, stable, and its churn is driven by upstream framework releases rather than by its own feature roadmap — this release is a textbook example (one PR, framework support only). The genuine maintenance concern is bus factor: this is a single-maintainer community package with no commercial backing. The correct mitigation is not process but contingency: confirm the licence permits forking, and confirm the integration is shallow enough that a fork or a hand-rolled replacement is a days-not-months exercise. It is.
Support. GitHub issues only, best-effort, no SLA. Acceptable because the package is non-critical and the failure mode is degraded dashboard UX, not application downtime. Do not let it become load-bearing for anything user-facing outside Nova.
Scaling. This is the operational risk that actually matters, and it is independent of the version bump. Polling converts a passive dashboard into a repeating query generator. Load scales as (concurrent dashboard viewers) × (polling cards per view) ÷ (polling interval). Nova metric cards frequently sit on top of expensive aggregate queries against transactional tables. A dashboard left open on a wall display or a dozen tabs is a steady, non-decaying background load that will not appear in request-rate dashboards unless it is looked for. Set intervals conservatively (minutes, not seconds) for anything non-trivial, and cap the number of polling cards per dashboard.
Failure modes.
Ramp-up. Low. A mid-level Laravel developer can integrate and tune this in an afternoon; the learning curve is Nova metric internals, not this package. Budget additional time for whoever owns database performance to size polling intervals against real query cost — that is the part that gets skipped and the part that causes incidents.
How can I help you explore Laravel packages today?