Awn Awn
Back to Awn
Documentation menu — Troubleshooting
Operate / Troubleshooting
Version
1.0
Last verified
2026-08-09

Troubleshooting

php artisan awn:extensions:validate
php artisan route:list -v --name=plugin
php artisan migrate:status
php artisan view:cache
php artisan test --compact
  • Manifest/driver missing: check enum driver/directory, namespace case, JSON, exact slug, enums, Composer autoload. A row cannot discover code.
  • Validation error: follow its exact missing route, duplicate pattern, route-prefix, site-view/thumbnail, slot rendering/capability, or normalization message.
  • Enable fails: distinguish uninstalled, inactive, incompatible, CMS collision, and invalid definition.
  • Contribution absent: check effective state, theme compatibility, cache, interface, declaration, route, and view. requiresEnabled: false currently does not show disabled dashboards.
  • Management link opens plugin settings: the package dashboard route collides with /plugins/{slug}. Move management to /plugins/{slug}/manage; awn:extensions:validate rejects this collision.
  • Plugin page 404: check published site, effective plugin, pattern segments, publication scope, and signed preview.
  • Action 404: expected for unresolved/inactive/unpublished/unavailable state.
  • Tenant row absent: verify context; use CurrentOrganization::run() outside HTTP, never request ownership.
  • Stale output: clear cache and ensure managers invalidated exact v2 tenant keys; restart long-running workers after payload/class changes.
  • Theme switch blocked: disable the incompatible plugin if acceptable; failed switch preserves state.
  • Styles missing: use literal Tailwind classes and rebuild Vite.

Events sample is absent

The seeder intentionally skips non-local/non-testing environments and only visits organizations that already exist when it runs. In local/testing it enters each tenant context and idempotently creates community-open-day.

View missing

Check provider, enum, directory, namespace (theme.{slug}/plugin.{slug}), and view cache. Every plugin enum package needs routes/web.php.

Fundraising proof cannot be opened

Confirm the donation has proof_path, the file exists on Storage::disk('local'), the request is authenticated inside the donation's organization, and the Fundraising plugin is effectively enabled. Do not repair this by linking storage/app/private into public; proofs must be streamed by plugin.fundraising.dashboard.donations.proof.

Fundraising demo projects are absent

FundraisingSeeder intentionally skips non-local/non-testing environments. In local/testing, install or reinstall Fundraising after an organization exists; the idempotent seeder enters each organization context and creates the demo channel, projects, and trend donations.