harris21/laravel-fuse
Laravel Fuse adds fuzzy search to Eloquent models and collections, helping users find results despite typos. Configure searchable fields and thresholds, then run simple fluent queries for fast, relevant matches without external search services.
$tries semantics preserved), outages degrade the status page rather than 500-ing it, and dotted service names like payments.stripe get isolated thresholds. These are the same concerns product will raise in incident reviews, so they directly shape roadmap items for integrations.DATA UNAVAILABLE state, /fuse/data returning 503 during cache outages, prefix-scoped history so two apps sharing a cache don't see each other's transitions — are a decision about whether to standardize the status page as the first place support looks during an outage. That affects MTTR and comms templates.default_threshold consistency make it possible to promise a "gentler during business hours" behavior to stakeholders without custom code. Conversely, the upgrade note that services without threshold now use default_threshold all day is a behavior change product should sign off on, not just engineering.$this->travel() works and the package's own suite dropped from 53s to under one second. That is a direct decision input for teams that would otherwise avoid testing failure paths, and it lowers the cost of asserting circuit-breaker behavior in feature tests.Consider it when:
$tries = 0 for jobs behind Fuse. The release explicitly notes a release still counts as an attempt, and the upgrade notes the sync driver still throws because releasing there would drop the job.Look elsewhere when:
For executives: Fuse is a small, focused Laravel package that stops our queued jobs from hammering a third-party service when it is already failing. The practical outcome is fewer duplicate charges or duplicate records caused by retries, faster recovery when a vendor recovers, and a status page that tells support whether we are live or blind during an outage. v0.11.0 is a hardening release: it fixes cases where a cache hiccup made a successful job look failed, where a flaky cache could permanently fail a job while the vendor was healthy, and where a dotted service name silently ran on global defaults. There are no signature changes, but there are five behavior changes to review before upgrading, including a different default threshold for services that never set one and a 404 for disabled status routes behind custom middleware.
For engineering: This release tightens failure accounting. Cache errors during counting, during the pre-run decision, and inside transition listeners are now reported rather than rethrown, so they no longer corrupt failed_jobs or fail otherwise-healthy jobs. Probes self-heal when the cache increment fails, status page state is scoped to the configured cache prefix, and time now goes through Carbon so travel() works in tests. Adoption cost is low; the upgrade checklist is short, and the main operational discipline is keeping $tries = 0 on jobs behind Fuse, since a release still counts as an attempt.
How can I help you explore Laravel packages today?