diff --git a/app-modules/tenant/src/Filament/Admin/Resources/Tenants/Schemas/TenantForm.php b/app-modules/tenant/src/Filament/Admin/Resources/Tenants/Schemas/TenantForm.php
index f84c0bf3e..eaed238bf 100644
--- a/app-modules/tenant/src/Filament/Admin/Resources/Tenants/Schemas/TenantForm.php
+++ b/app-modules/tenant/src/Filament/Admin/Resources/Tenants/Schemas/TenantForm.php
@@ -33,7 +33,9 @@ public static function configure(Schema $schema): Schema
->partiallyRenderComponentsAfterStateUpdated(['name'])
->required(),
Select::make('owner_id')
- ->relationship('owner', 'name')
+ ->native(false)
+ ->searchable()
+ ->relationship(name: 'owner', titleAttribute: 'name', modifyQueryUsing: fn ($query) => $query->limit(10))
->required(),
Toggle::make('active')
->required(),
diff --git a/app-modules/tenant/src/Filament/Admin/Widgets/TenantsStatsOverview.php b/app-modules/tenant/src/Filament/Admin/Widgets/TenantsStatsOverview.php
deleted file mode 100644
index fd788a75b..000000000
--- a/app-modules/tenant/src/Filament/Admin/Widgets/TenantsStatsOverview.php
+++ /dev/null
@@ -1,52 +0,0 @@
-where('active', true)->count();
-
- $createdThisMonth = Tenant::query()
- ->whereBetween('created_at', [now()->startOfMonth(), now()->endOfMonth()])
- ->count();
-
- $tenantMostUsers = Tenant::query()
- ->withCount('members')
- ->orderByDesc('members_count')
- ->first();
-
- $tenantMostMessages = Tenant::query()->withCount('messages')
- ->orderByDesc('messages_count')
- ->first();
-
- return [
- Stat::make('Tenants ativos', $totalActive)
- ->description('Ativos no sistema')
- ->descriptionIcon('heroicon-o-check-circle')
- ->color('success'),
-
- Stat::make('Criados neste mês', $createdThisMonth)
- ->description('Novos tenants')
- ->descriptionIcon('heroicon-o-plus-circle')
- ->color('primary'),
-
- Stat::make('Mais usuários', $tenantMostUsers?->name ?? 'Nenhum')
- ->description($tenantMostUsers ? $tenantMostUsers->members_count.' usuários' : '')
- ->descriptionIcon('heroicon-o-user-group')
- ->color('warning'),
-
- Stat::make('Mais mensagens', $tenantMostMessages?->name ?? 'Nenhum')
- ->description($tenantMostMessages ? $tenantMostMessages->messages_count.' msgs' : '')
- ->descriptionIcon('heroicon-o-chat-bubble-left-right')
- ->color('info'),
- ];
- }
-}
diff --git a/app-modules/tenant/src/Plugins/AdminTenantPanelPlugin.php b/app-modules/tenant/src/Plugins/AdminTenantPanelPlugin.php
index 6d8a878d0..74dddac08 100644
--- a/app-modules/tenant/src/Plugins/AdminTenantPanelPlugin.php
+++ b/app-modules/tenant/src/Plugins/AdminTenantPanelPlugin.php
@@ -8,7 +8,6 @@
use Filament\Contracts\Plugin;
use Filament\Panel;
use He4rt\Tenant\Filament\Admin\Resources\Tenants\TenantResource;
-use He4rt\Tenant\Filament\Admin\Widgets\TenantsStatsOverview;
class AdminTenantPanelPlugin implements Plugin
{
@@ -23,9 +22,6 @@ public function register(Panel $panel): void
TenantResource::class,
]);
- $panel->widgets([
- TenantsStatsOverview::class,
- ]);
}
public function boot(Panel $panel): void {}
diff --git a/app-modules/user/src/Filament/Admin/Resources/Users/UserResource.php b/app-modules/user/src/Filament/Admin/Resources/Users/UserResource.php
index d6e2f55f1..811366eea 100644
--- a/app-modules/user/src/Filament/Admin/Resources/Users/UserResource.php
+++ b/app-modules/user/src/Filament/Admin/Resources/Users/UserResource.php
@@ -15,8 +15,11 @@
use He4rt\User\Filament\Admin\Resources\Users\Schemas\UserForm;
use He4rt\User\Filament\Admin\Resources\Users\Tables\UsersTable;
use He4rt\User\Models\User;
+use Illuminate\Support\Number;
use UnitEnum;
+use function Illuminate\Support\minutes;
+
class UserResource extends Resource
{
protected static ?string $model = User::class;
@@ -31,7 +34,7 @@ class UserResource extends Resource
public static function getNavigationBadge(): ?string
{
- return (string) self::$model::count();
+ return Number::abbreviate((int) (cache()->remember('total_users', minutes(5), fn () => self::$model::count()) ?? 0));
}
public static function form(Schema $schema): Schema
diff --git a/app-modules/user/src/Filament/Shared/Widgets/UsersStatsOverview.php b/app-modules/user/src/Filament/Shared/Widgets/UsersStatsOverview.php
index 7a4be1257..23b60022b 100644
--- a/app-modules/user/src/Filament/Shared/Widgets/UsersStatsOverview.php
+++ b/app-modules/user/src/Filament/Shared/Widgets/UsersStatsOverview.php
@@ -4,11 +4,11 @@
namespace He4rt\User\Filament\Shared\Widgets;
-use Filament\Facades\Filament;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;
use He4rt\User\Models\User;
-use Illuminate\Contracts\Database\Query\Builder;
+
+use function Illuminate\Support\minutes;
class UsersStatsOverview extends BaseWidget
{
@@ -16,27 +16,20 @@ class UsersStatsOverview extends BaseWidget
protected function getStats(): array
{
- $user = Filament::auth()->user();
-
$query = User::query();
- if (! $user->isAdmin()) {
- $query->whereHas('tenants', fn (Builder $q) => $q->where('tenants.id', Filament::getTenant()->getKey())
- );
- }
-
- $totalDonators = (clone $query)
+ $totalDonators = cache()->remember('total_users_donators', minutes(5), fn () => $query
->where('is_donator', true)
- ->count();
+ ->count());
- $totalUsersToday = (clone $query)
+ $totalUsersToday = cache()->remember('total_users_today', minutes(5), fn () => $query
->whereDate('created_at', today())
- ->count();
+ ->count());
- $totalUsersMonth = (clone $query)
+ $totalUsersMonth = cache()->remember('total_users_month', minutes(5), fn () => $query
->whereYear('created_at', now()->year)
->whereMonth('created_at', now()->month)
- ->count();
+ ->count());
return [
Stat::make('Usuários criados hoje', $totalUsersToday)
diff --git a/app-modules/user/src/Models/User.php b/app-modules/user/src/Models/User.php
index be7e54147..89eac7fce 100644
--- a/app-modules/user/src/Models/User.php
+++ b/app-modules/user/src/Models/User.php
@@ -127,19 +127,14 @@ public function registerMediaCollections(): void
public function canAccessPanel(Panel $panel): bool
{
- match ($panel->getId()) {
+ return match ($panel->getId()) {
'admin' => app()->isProduction() ? $this->isAdmin() : true,
default => true
};
-
- return $this->isAdmin();
}
public function getFilamentAvatarUrl(): string
{
- if ($this->providers->firstWhere('provider_name', 'github')) {
- return sprintf('https://github.com/%s.png', $this->username);
- }
return sprintf('https://github.com/%s.png', $this->username);
}
diff --git a/app-modules/user/src/Plugins/AdminUserPanelPlugin.php b/app-modules/user/src/Plugins/AdminUserPanelPlugin.php
index 9f5d45fc3..189704bf8 100644
--- a/app-modules/user/src/Plugins/AdminUserPanelPlugin.php
+++ b/app-modules/user/src/Plugins/AdminUserPanelPlugin.php
@@ -8,6 +8,7 @@
use Filament\Contracts\Plugin;
use Filament\Panel;
use He4rt\User\Filament\Admin\Resources\Users\UserResource;
+use He4rt\User\Filament\Shared\Widgets\UsersStatsOverview;
class AdminUserPanelPlugin implements Plugin
{
@@ -22,6 +23,10 @@ public function register(Panel $panel): void
UserResource::class,
]);
+ $panel->widgets([
+ UsersStatsOverview::class,
+ ]);
+
}
public function boot(Panel $panel): void {}
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index fee7675ba..6c493582e 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -4,7 +4,10 @@
namespace App\Providers;
+use App\Providers\Tools\DebugbarServiceProvider;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Support\Facades\URL;
+use Illuminate\Support\Facades\Vite;
use Illuminate\Support\ServiceProvider;
final class AppServiceProvider extends ServiceProvider
@@ -13,7 +16,57 @@ final class AppServiceProvider extends ServiceProvider
* Register any application services.
*/
public function register(): void
+ {
+ $this->registerDebugbar();
+ }
+
+ /**
+ * Bootstrap any application services.
+ */
+ public function boot(): void
+ {
+ $this->configureDatabase();
+ $this->configureDates();
+ $this->configureVite();
+ $this->configureUrl();
+ }
+
+ /**
+ * Configure the application's models
+ */
+ private function configureDatabase(): void
{
Model::automaticallyEagerLoadRelationships();
}
+
+ /**
+ * Configure the application's Vite
+ */
+ private function configureVite(): void
+ {
+ Vite::useAggressivePrefetching();
+ }
+
+ /**
+ * Configure the dates.
+ */
+ private function configureDates(): void
+ {
+ // Date::use(CarbonImmutable::class);
+ }
+
+ /**
+ * Configure the application's URL
+ */
+ private function configureUrl(): void
+ {
+ URL::forceHttps($this->app->isProduction());
+ }
+
+ private function registerDebugbar(): void
+ {
+ if (app()->isLocal() && class_exists(\Barryvdh\Debugbar\ServiceProvider::class)) {
+ $this->app->register(DebugbarServiceProvider::class);
+ }
+ }
}
diff --git a/app/Providers/Filament/GuestPanelProvider.php b/app/Providers/Filament/GuestPanelProvider.php
index 0a0682345..879b6716d 100644
--- a/app/Providers/Filament/GuestPanelProvider.php
+++ b/app/Providers/Filament/GuestPanelProvider.php
@@ -36,34 +36,34 @@ public function panel(Panel $panel): Panel
->defaultThemeMode(ThemeMode::Dark)
->topNavigation()
->brandLogo(fn (): View => view('he4rt::components.logo'))
- ->renderHook(PanelsRenderHook::FOOTER, fn (): View => view('he4rt::components.partials.footer', [
- 'description' => 'Conheça MeuGuia.app! Lorem ipsum dolor sit amet,
- consectetur adipiscing elit. Vivamus sed egestas nisl. Vivamus blandit vehicula eleifend.
- Phasellus vulputate elit leo, porta vehicula nunc placerat placerat.',
- 'columns' => [
- 'Sobre nós' => [
- 'Home' => '/',
- 'Quem somos' => '/about',
- ],
- 'Suporte' => [
- 'Termos e Privacidade' => '/terms',
- 'Junte-se à nós' => '/jobs',
- ],
- 'Social Media' => [
- 'Discord' => 'https://discord.gg/he4rt',
- 'Github' => 'https://github.com/he4rt',
- 'X' => 'https://x.com/he4rtdevs',
- ],
- ],
- ]))
+// ->renderHook(PanelsRenderHook::FOOTER, fn (): View => view('he4rt::components.partials.footer', [
+// 'description' => 'Conheça MeuGuia.app! Lorem ipsum dolor sit amet,
+// consectetur adipiscing elit. Vivamus sed egestas nisl. Vivamus blandit vehicula eleifend.
+// Phasellus vulputate elit leo, porta vehicula nunc placerat placerat.',
+// 'columns' => [
+// 'Sobre nós' => [
+// 'Home' => '/',
+// 'Quem somos' => '/about',
+// ],
+// 'Suporte' => [
+// 'Termos e Privacidade' => '/terms',
+// 'Junte-se à nós' => '/jobs',
+// ],
+// 'Social Media' => [
+// 'Discord' => 'https://discord.gg/he4rt',
+// 'Github' => 'https://github.com/he4rt',
+// 'X' => 'https://x.com/he4rtdevs',
+// ],
+// ],
+// ]))
->renderHook(PanelsRenderHook::SIDEBAR_NAV_END, fn () => Blade::render(<<<'BLADE'
@guest
-
+
Github
- Entrar agora
+
@endguest
BLADE
@@ -71,11 +71,11 @@ public function panel(Panel $panel): Panel
->renderHook(PanelsRenderHook::TOPBAR_END, fn () => Blade::render(<<<'BLADE'
@guest
-
+
Github
- Entrar agora
+
@endguest
BLADE
diff --git a/app/Providers/Tools/DebugbarServiceProvider.php b/app/Providers/Tools/DebugbarServiceProvider.php
new file mode 100644
index 000000000..cea4590e7
--- /dev/null
+++ b/app/Providers/Tools/DebugbarServiceProvider.php
@@ -0,0 +1,24 @@
+canBoot()) {
+ return;
+ }
+
+ parent::boot();
+ }
+
+ private function canBoot(): bool
+ {
+ return config('debugbar.enabled');
+ }
+}
diff --git a/composer.json b/composer.json
index 76a8f8f13..963e63341 100644
--- a/composer.json
+++ b/composer.json
@@ -34,7 +34,7 @@
"he4rt/user": ">=1",
"internachi/modular": "^2.3.0",
"laracord/framework": "dev-next",
- "laravel/framework": "^12.40.1",
+ "laravel/framework": "^12.40.2",
"laravel/nightwatch": "^1.19",
"laravel/sanctum": "^4.2.1",
"laravel/tinker": "^2.10.2",
@@ -140,7 +140,9 @@
},
"extra": {
"laravel": {
- "dont-discover": []
+ "dont-discover": [
+ "barryvdh/laravel-debugbar"
+ ]
}
},
"config": {
diff --git a/composer.lock b/composer.lock
index 5825b99bf..3ab8f969d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "df9364790ab0fa0dd0c8a61a0a2ceb41",
+ "content-hash": "f45c308a037f2609b15b9653f901490d",
"packages": [
{
"name": "anourvalar/eloquent-serialize",
@@ -3907,16 +3907,16 @@
},
{
"name": "laravel/framework",
- "version": "v12.40.1",
+ "version": "v12.40.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "2e986acbf9acf62cba13400bc23c4d639bf188b9"
+ "reference": "1ccd99220b474500e672b373f32bd709ec38de50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/2e986acbf9acf62cba13400bc23c4d639bf188b9",
- "reference": "2e986acbf9acf62cba13400bc23c4d639bf188b9",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/1ccd99220b474500e672b373f32bd709ec38de50",
+ "reference": "1ccd99220b474500e672b373f32bd709ec38de50",
"shasum": ""
},
"require": {
@@ -4122,7 +4122,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2025-11-25T16:16:33+00:00"
+ "time": "2025-11-26T19:24:25+00:00"
},
{
"name": "laravel/nightwatch",
diff --git a/config/debugbar.php b/config/debugbar.php
new file mode 100644
index 000000000..7d4ca7c5c
--- /dev/null
+++ b/config/debugbar.php
@@ -0,0 +1,335 @@
+ env('DEBUGBAR_ENABLED', false),
+ 'hide_empty_tabs' => true, // Hide tabs until they have content
+ 'except' => [
+ 'telescope*',
+ 'horizon*',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Storage settings
+ |--------------------------------------------------------------------------
+ |
+ | Debugbar stores data for session/ajax requests.
+ | You can disable this, so the debugbar stores data in headers/session,
+ | but this can cause problems with large data collectors.
+ | By default, file storage (in the storage folder) is used. Redis and PDO
+ | can also be used. For PDO, run the package migrations first.
+ |
+ | Warning: Enabling storage.open will allow everyone to access previous
+ | request, do not enable open storage in publicly available environments!
+ | Specify a callback if you want to limit based on IP or authentication.
+ | Leaving it to null will allow localhost only.
+ */
+ 'storage' => [
+ 'enabled' => true,
+ 'open' => env('DEBUGBAR_OPEN_STORAGE'), // bool/callback.
+ 'driver' => 'file', // redis, file, pdo, socket, custom
+ 'path' => storage_path('debugbar'), // For file driver
+ 'connection' => null, // Leave null for default connection (Redis/PDO)
+ 'provider' => '', // Instance of StorageInterface for custom driver
+ 'hostname' => '127.0.0.1', // Hostname to use with the "socket" driver
+ 'port' => 2304, // Port to use with the "socket" driver
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Editor
+ |--------------------------------------------------------------------------
+ |
+ | Choose your preferred editor to use when clicking file name.
+ |
+ | Supported: "phpstorm", "vscode", "vscode-insiders", "vscode-remote",
+ | "vscode-insiders-remote", "vscodium", "textmate", "emacs",
+ | "sublime", "atom", "nova", "macvim", "idea", "netbeans",
+ | "xdebug", "espresso"
+ |
+ */
+
+ 'editor' => env('DEBUGBAR_EDITOR') ?: env('IGNITION_EDITOR', 'phpstorm'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Remote Path Mapping
+ |--------------------------------------------------------------------------
+ |
+ | If you are using a remote dev server, like Laravel Homestead, Docker, or
+ | even a remote VPS, it will be necessary to specify your path mapping.
+ |
+ | Leaving one, or both of these, empty or null will not trigger the remote
+ | URL changes and Debugbar will treat your editor links as local files.
+ |
+ | "remote_sites_path" is an absolute base path for your sites or projects
+ | in Homestead, Vagrant, Docker, or another remote development server.
+ |
+ | Example value: "/home/vagrant/Code"
+ |
+ | "local_sites_path" is an absolute base path for your sites or projects
+ | on your local computer where your IDE or code editor is running on.
+ |
+ | Example values: "/Users//Code", "C:\Users\\Documents\Code"
+ |
+ */
+
+ 'remote_sites_path' => env('DEBUGBAR_REMOTE_SITES_PATH'),
+ 'local_sites_path' => env('DEBUGBAR_LOCAL_SITES_PATH', env('IGNITION_LOCAL_SITES_PATH')),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Vendors
+ |--------------------------------------------------------------------------
+ |
+ | Vendor files are included by default, but can be set to false.
+ | This can also be set to 'js' or 'css', to only include javascript or css vendor files.
+ | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files)
+ | and for js: jquery and highlight.js
+ | So if you want syntax highlighting, set it to true.
+ | jQuery is set to not conflict with existing jQuery scripts.
+ |
+ */
+
+ 'include_vendors' => true,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Capture Ajax Requests
+ |--------------------------------------------------------------------------
+ |
+ | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors),
+ | you can use this option to disable sending the data through the headers.
+ |
+ | Optionally, you can also send ServerTiming headers on ajax requests for the Chrome DevTools.
+ |
+ | Note for your request to be identified as ajax requests they must either send the header
+ | X-Requested-With with the value XMLHttpRequest (most JS libraries send this), or have application/json as a Accept header.
+ |
+ | By default `ajax_handler_auto_show` is set to true allowing ajax requests to be shown automatically in the Debugbar.
+ | Changing `ajax_handler_auto_show` to false will prevent the Debugbar from reloading.
+ |
+ | You can defer loading the dataset, so it will be loaded with ajax after the request is done. (Experimental)
+ */
+
+ 'capture_ajax' => true,
+ 'add_ajax_timing' => false,
+ 'ajax_handler_auto_show' => true,
+ 'ajax_handler_enable_tab' => true,
+ 'defer_datasets' => false,
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Error Handler for Deprecated warnings
+ |--------------------------------------------------------------------------
+ |
+ | When enabled, the Debugbar shows deprecated warnings for Symfony components
+ | in the Messages tab.
+ |
+ */
+ 'error_handler' => false,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Clockwork integration
+ |--------------------------------------------------------------------------
+ |
+ | The Debugbar can emulate the Clockwork headers, so you can use the Chrome
+ | Extension, without the server-side code. It uses Debugbar collectors instead.
+ |
+ */
+ 'clockwork' => false,
+
+ /*
+ |--------------------------------------------------------------------------
+ | DataCollectors
+ |--------------------------------------------------------------------------
+ |
+ | Enable/disable DataCollectors
+ |
+ */
+
+ 'collectors' => [
+ 'phpinfo' => false, // Php version
+ 'messages' => true, // Messages
+ 'time' => true, // Time Datalogger
+ 'memory' => true, // Memory usage
+ 'exceptions' => true, // Exception displayer
+ 'log' => true, // Logs from Monolog (merged in messages if enabled)
+ 'db' => true, // Show database (PDO) queries and bindings
+ 'views' => true, // Views with their data
+ 'route' => false, // Current route information
+ 'auth' => false, // Display Laravel authentication status
+ 'gate' => true, // Display Laravel Gate checks
+ 'session' => false, // Display session data
+ 'symfony_request' => true, // Only one can be enabled..
+ 'mail' => true, // Catch mail messages
+ 'laravel' => true, // Laravel version and environment
+ 'events' => false, // All events fired
+ 'default_request' => false, // Regular or special Symfony request logger
+ 'logs' => false, // Add the latest log messages
+ 'files' => false, // Show the included files
+ 'config' => false, // Display config settings
+ 'cache' => false, // Display cache events
+ 'models' => true, // Display models
+ 'livewire' => true, // Display Livewire (when available)
+ 'jobs' => false, // Display dispatched jobs
+ 'pennant' => false, // Display Pennant feature flags
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Extra options
+ |--------------------------------------------------------------------------
+ |
+ | Configure some DataCollectors
+ |
+ */
+
+ 'options' => [
+ 'time' => [
+ 'memory_usage' => false, // Calculated by subtracting memory start and end, it may be inaccurate
+ ],
+ 'messages' => [
+ 'trace' => true, // Trace the origin of the debug message
+ 'capture_dumps' => true, // Capture laravel `dump();` as message
+ ],
+ 'memory' => [
+ 'reset_peak' => false, // run memory_reset_peak_usage before collecting
+ 'with_baseline' => false, // Set boot memory usage as memory peak baseline
+ 'precision' => 0, // Memory rounding precision
+ ],
+ 'auth' => [
+ 'show_name' => true, // Also show the users name/email in the debugbar
+ 'show_guards' => true, // Show the guards that are used
+ ],
+ 'db' => [
+ 'with_params' => true, // Render SQL with the parameters substituted
+ 'exclude_paths' => [ // Paths to exclude entirely from the collector
+ // 'vendor/laravel/framework/src/Illuminate/Session', // Exclude sessions queries
+ ],
+ 'backtrace' => true, // Use a backtrace to find the origin of the query in your files.
+ 'backtrace_exclude_paths' => [], // Paths to exclude from backtrace. (in addition to defaults)
+ 'timeline' => false, // Add the queries to the timeline
+ 'duration_background' => true, // Show shaded background on each query relative to how long it took to execute.
+ 'explain' => [ // Show EXPLAIN output on queries
+ 'enabled' => false,
+ ],
+ 'hints' => false, // Show hints for common mistakes
+ 'show_copy' => true, // Show copy button next to the query,
+ 'slow_threshold' => false, // Only track queries that last longer than this time in ms
+ 'memory_usage' => false, // Show queries memory usage
+ 'soft_limit' => 100, // After the soft limit, no parameters/backtrace are captured
+ 'hard_limit' => 500, // After the hard limit, queries are ignored
+ ],
+ 'mail' => [
+ 'timeline' => true, // Add mails to the timeline
+ 'show_body' => true,
+ ],
+ 'views' => [
+ 'timeline' => true, // Add the views to the timeline
+ 'data' => false, // True for all data, 'keys' for only names, false for no parameters.
+ 'group' => 50, // Group duplicate views. Pass value to auto-group, or true/false to force
+ 'exclude_paths' => [ // Add the paths which you don't want to appear in the views
+ 'vendor/filament', // Exclude Filament components by default
+ ],
+ ],
+ 'route' => [
+ 'label' => true, // Show complete route on bar
+ ],
+ 'session' => [
+ 'hiddens' => [], // Hides sensitive values using array paths
+ ],
+ 'symfony_request' => [
+ 'label' => true, // Show route on bar
+ 'hiddens' => [], // Hides sensitive values using array paths, example: request_request.password
+ ],
+ 'events' => [
+ 'data' => false, // Collect events data, listeners
+ ],
+ 'logs' => [
+ 'file' => null,
+ ],
+ 'cache' => [
+ 'values' => true, // Collect cache values
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Inject Debugbar in Response
+ |--------------------------------------------------------------------------
+ |
+ | Usually, the debugbar is added just before