Livewire
Open the config/livewire.php
file and change this:
'middleware_group' => ['web'],
to this:
'middleware_group' => [
'web',
'universal',
InitializeTenancyByDomain::class, // or whatever tenancy middleware you use
],
In Livewire 3, the configuration key middleware_group
has been removed, so instead add the following in TenancyServiceProvider
(or any other provider):
public function boot(): void
{
// ...
Livewire::setUpdateRoute(function ($handle) {
return Route::post('/livewire/update', $handle)
->middleware(
'web',
'universal',
InitializeTenancyByDomain::class, // or whatever tenancy middleware you use
);
});
}
To make file uploads work on Livewire 3, set the following in any service provider:
// specify the right identification middleware
FilePreviewController::$middleware = ['web', 'universal', InitializeTenancyByDomain::class];
And change livewire.temporary_file_upload.middleware
to include the tenancy middleware as well:
// config/livewire.php
'livewire.temporary_file_upload.middleware' => ['throttle:60,1', 'universal', InitializeTenancyByDomain::class],
Now you can use Livewire both in the central app and the tenant app.
Also make sure to enable universal routes.
And if you're using file uploads, read the Real-time facades page of the documentation. Livewire uses real-time facades in the uploading logic.