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

Bug Catcher Laravel Package

php-bug-catcher/bug-catcher

Bug Catcher is a Laravel/PHP package for catching and inspecting application errors and exceptions. It helps surface bugs early, keeps debugging details organized, and gives developers a simple way to log, review, and resolve issues with minimal setup in everyday Laravel workflows.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Data lifecycle and deletion semantics. The RC3 fix makes "delete project" a real, supported operation again, and it defines what "gone" means: records, performance buckets, and withholders all go with the project. That is a product decision about destructive-action scope — whether deleting a project is a full purge or a soft archive — and it now has a concrete, enforced answer you can put in front of users and auditors.
  • Offboarding and erasure workflows. Because dependents are deleted explicitly rather than left to database foreign keys, the package can support tenant/project teardown, customer data-deletion requests, and GDPR-style erasure conversations without a manual cleanup runbook.
  • Extensibility as a build-vs-buy lever. Records are routed through BatchRecordDeleteInterface, so a custom record type participates in deletion with no additional wiring. If your roadmap includes bespoke record types, this materially lowers the cost of staying on the package instead of building project/record management in-house.
  • Admin surface maturity / roadmap confidence. A destructive action was pulled from the project list because it was broken, and is now restored. That is a signal about the package's admin tooling trajectory: expect churn in the admin CRUD layer, and budget QA time for destructive paths when you upgrade.
  • Upgrade planning. This lands in the v2.0.0 line, currently a release candidate. Treat v2 as a migration event to schedule, not a patch to absorb silently.
  • Caveat for decision-making: this assessment is derived solely from the RC3 release notes; no prior assessment existed. Scope the package's full capability set against your requirements before treating the above as complete.

When to Consider This Package

Consider it when:

  • You are on Laravel/PHP and need project-scoped records, performance buckets, and withholders managed through an admin UI — the domain model is already opinionated for you.
  • You need a reliable, cascade-complete project deletion and value that dependents are deleted in a defined order rather than delegated to inconsistent foreign-key behavior. The RC3 note is explicit that record and perf_bucket cascade while record_log_withholder does not, so the old single-statement delete was rejected by the database. The explicit-ordering approach is the more predictable contract.
  • You ship custom record types and want them covered by deletion for free via BatchRecordDeleteInterface.
  • You can tolerate a release-candidate dependency and have a staging environment to exercise destructive admin flows.

Look elsewhere — or push back hard — when:

  • You need soft deletes, restore, or an audit trail on deletion. Explicit dependent deletion plus project-last ordering is a hard purge; if "who deleted what, and can we undo it" is a requirement, this needs verification or augmentation.
  • You need Eloquent-native behavior. The notes reference $em->remove(), i.e. a Doctrine EntityManager. If your team's conventions, tooling, and hiring are Eloquent-only, factor in the operational cost of a Doctrine-backed layer inside a Laravel app.
  • You require stable, GA-quality dependencies. RC3 is pre-release; a broken admin delete already shipped once in this line, which argues for waiting or pinning.
  • Your deletion rules are policy-driven and vary per tenant. Hard-coded ordering will not express that; you would be fighting the package.

How to Pitch It (Stakeholders)

To executives: The v2.0.0 release candidate restores a core admin capability — deleting a project now reliably removes that project's records, performance buckets, and withholders in one action. Previously the action was disabled because the database rejected the delete: dependent rows were being left to foreign keys that disagreed with each other, so cleanup would fail or leave orphans. The fix deletes dependents explicitly and the project last, which makes the operation deterministic. Practically, this closes a gap in customer/project offboarding and data-cleanup workflows that would otherwise have needed manual intervention. Two flags: it is a release candidate, not GA, and it sits inside a major version, so we should validate destructive paths in staging before committing.

To engineering: One DELETE FROM project was relying on mixed cascade behavior — record and perf_bucket cascade, record_log_withholder does not — so the statement was refused and the UI action was withdrawn. Dependents are now removed explicitly in order, project last. Record deletion goes through BatchRecordDeleteInterface, so custom record types are covered with no extra code. Ask: confirm whether our record types implement that interface, and confirm whether we need soft-delete or audit hooks on this path, since this is a hard purge.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource