Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Expiration Notice Laravel Package

marcelweidum/filament-expiration-notice

Filament plugin that adds configurable expiration notices to your Laravel admin panels, alerting admins before records expire or after they lapse. Display expiry-aware banners and badges on resources and tables with minimal setup.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature/UX polish decision for Filament admin panels. Livewire's default "Page expired" experience is a jarring browser-level dialog that looks broken. This package replaces it with a native Filament modal — a small, visible quality signal in an area users judge as "is this tool well-made?"
  • Support-cost reduction. Session/CSRF expiry is a recurring, low-value ticket source ("the app logged me out and I lost my form"). A clear, branded, localized modal with a clear recovery action measurably reduces confused-user contacts vs. a bare "Page expired" alert.
  • Build vs. buy (buy, decisively). The alternative is a custom Livewire hook + Filament notification inside our own codebase. That's maybe 1–3 engineer-days plus ongoing ownership. An MIT package at zero cost wins unless we have a specific reason to own it.
  • Roadmap prioritization. This belongs in the "low-effort admin quality-of-life" bucket, not a headline initiative. It is a good filler item for a sprint with spare capacity, or a bundled upgrade alongside a Filament major-version bump.
  • Localization/branding decisions. If the package exposes copy and action-label configuration, it becomes a lever for multi-language admin panels and for aligning error messaging with our support/help-desk language — decide whether the modal explains the expiry or offers a recovery path (e.g., "Reload and re-enter" vs. "Open in new tab and sign in again").
  • Explicit non-decision to record: this is messaging only. It does not preserve user input, keep sessions alive, or autosave drafts. Do not let it substitute for a data-loss mitigation decision; keep that as a separate, still-open problem.

When to Consider This Package

Adopt when:

  • The product runs on Filament v3/v4 + Livewire, and the admin panel is a real user-facing surface (internal ops teams or client-facing).
  • Session lifetime is short relative to task duration — long multi-field forms, multi-tab workflows, slow data entry, or users who leave tabs open for hours.
  • Session expiry is already generating support tickets or anecdotal complaints, or you're doing an admin-panel polish pass and want cheap wins.
  • You need localized or branded expiry messaging and don't want to hand-roll it.
  • You're comfortable with a small, single-maintainer, ~95-star dependency: low blast radius (it only touches error presentation), but plan to pin the version and be ready to vendor the logic if it goes quiet.

Look elsewhere or skip when:

  • You are not on Filament. The value proposition disappears; a generic Livewire solution would be the relevant comparison.
  • Expiry is a non-issue (short sessions, autosave already in place, or users rarely exceed session TTL).
  • The actual pain is lost work, not ugly messaging — the real fix is draft persistence, session keep-alive/heartbeat, or warning users before expiry. This package is cosmetic and will not move those metrics on its own.
  • You already have a custom Livewire page-expired handler wired into your own notification layer; replacing it introduces churn for marginal gain.
  • Your dependency policy disallows unmaintained-risk micro-packages; in that case the ~1–3 day in-house equivalent is a reasonable decision, just record it as a deliberate cost.

How to Pitch It (Stakeholders)

For executives (30 seconds): A free, MIT-licensed add-on that upgrades one rough edge in our admin panel — the "Page expired" error users hit when their session times out. Today that shows up as a confusing browser-style alert; this turns it into a clean, on-brand modal with a clear next step. Cost is roughly half a day of integration, there's no license fee, no database changes, and no performance impact. Expected benefit is fewer "I lost my work / the app broke" support tickets and a more credible-looking internal tool. It is a polish item, not a silver bullet — it fixes the message, not the underlying data loss.

For engineering: This is a thin Filament plugin that hooks Livewire's page-expired event and renders a Filament modal in place of the default alert, with publishable config for copy/wording. Integration is a Composer require plus plugin registration in the panel provider; no migrations, no service providers of our own, no runtime overhead outside the error path. Two asks: (1) pin the version and treat it as vendorable — it's a single-maintainer package, so the fallback is porting ~50 lines into our own codebase; (2) add a smoke test or manual QA step that forces a 419 and asserts the modal renders, since we'd otherwise be trusting the error path nobody exercises. Flag clearly in the ticket that this does not prevent form data loss — if that's the actual goal, it needs its own scoped work.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource