PHPackages                             deftstar/support-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. deftstar/support-laravel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

deftstar/support-laravel
========================

Turn server-side errors into Support tickets — Laravel integration. Stamps a correlation id on responses and pushes 5xx detail to your Support project. No Sentry required.

v0.1.0(1mo ago)01↓66.7%MITPHPPHP ^8.1

Since Jul 18Pushed 1mo agoCompare

[ Source](https://github.com/deftstar/support-laravel)[ Packagist](https://packagist.org/packages/deftstar/support-laravel)[ RSS](/packages/deftstar-support-laravel/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (4)Versions (2)Used By (0)

deftstar/support-laravel
========================

[](#deftstarsupport-laravel)

Turn server-side errors in a Laravel app into [Support](../../) tickets that carry the real server detail — **no Sentry required** (Support is the store).

On a 5xx it stamps a correlation id on the response and **buffers** the exception detail (message, class, `file:line`, route, method, status, user, stack) locally for a short TTL. The detail is pushed to Support **only if the user reports it** — so Support never stores errors nobody reported, and the detail stays server-side until then. The browser's Support widget reads the id off the failed response; on report, the frontend hits the flush endpoint and files a ticket referencing the id, and Support joins the two so the agent sees the stack.

Install
-------

[](#install)

```
composer require deftstar/support-laravel
php artisan vendor:publish --tag=support-config   # optional; config works via env
```

Set two env vars:

```
SUPPORT_SECRET_KEY=sk_...        # your project secret (never exposed to the browser)
SUPPORT_INGEST_URL=https://support-api.deftstar.dev/api/ingest/errors
```

The service provider is auto-discovered; it registers a global middleware (stamps `X-Request-Id`), a `reportable()` callback (buffers 5xx detail), and a flush route. **No changes to your `Kernel` or `Handler`.**

Protect the flush endpoint with your app's auth (default `['auth']`). For an API:

```
// config/support.php
'flush' => ['path' => 'support/errors/flush', 'middleware' => ['auth:api']],
```

How it works (report-gated)
---------------------------

[](#how-it-works-report-gated)

- Middleware stamps `X-Request-Id` on every response and stashes it on the request.
- A `reportable()` callback **buffers** 5xx detail in your cache (`config('support.ttl')`minutes), keyed by that id. It does **not** push. Use a shared cache (Redis) if you run multiple instances.
- When a user reports, the frontend `POST`s the id to the flush route, which pushes that one buffered error to Support. Errors nobody reports are never sent and expire from the cache.

Best-effort — a Support outage never affects your app. Leave `SUPPORT_SECRET_KEY` empty to disable reporting entirely.

Frontend
--------

[](#frontend)

Pair this with the Support widget so users can turn a 500 into a ticket:

- `@deftstar/support-widget` — the widget loader (`SupportWidget.reportError(...)`).
- `@deftstar/support-angular` — an Angular interceptor that offers "Report a problem" on a 5xx automatically. (Any framework can wire its own HTTP hook.)

Notes
-----

[](#notes)

- Requires PHP 8.1+, Laravel 10/11/12.
- Uses `app()->terminating()`, **not** `Illuminate\Support\defer()` — the latter does not reliably flush under php-fpm.

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance90

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

46d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/970706?v=4)[amin](/maintainers/deftstar)[@deftstar](https://github.com/deftstar)

---

Tags

laravelerror-reportingsupporttickets

### Embed Badge

![Health badge](/badges/deftstar-support-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/deftstar-support-laravel/health.svg)](https://phpackages.com/packages/deftstar-support-laravel)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3365.5M359](/packages/psalm-plugin-laravel)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

80732.6M276](/packages/laravel-mcp)[laravel/socialite

Laravel wrapper around OAuth 1 &amp; OAuth 2 libraries.

5.7k118.2M1.0k](/packages/laravel-socialite)[laravel/scout

Laravel Scout provides a driver based solution to searching your Eloquent models.

1.7k59.5M721](/packages/laravel-scout)[illuminate/auth

The Illuminate Auth package.

10528.8M1.4k](/packages/illuminate-auth)[illuminate/routing

The Illuminate Routing package.

1419.6M3.8k](/packages/illuminate-routing)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
