From c653c519282149b696ccae68d2af743239a067e5 Mon Sep 17 00:00:00 2001 From: lukinovec Date: Tue, 31 Mar 2026 16:22:41 +0200 Subject: [PATCH] BroadcastingConfigBootstrapper: make tenant manager inherit central manager's custom creators --- src/Bootstrappers/BroadcastingConfigBootstrapper.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Bootstrappers/BroadcastingConfigBootstrapper.php b/src/Bootstrappers/BroadcastingConfigBootstrapper.php index 66fee704..c0b7b77a 100644 --- a/src/Bootstrappers/BroadcastingConfigBootstrapper.php +++ b/src/Bootstrappers/BroadcastingConfigBootstrapper.php @@ -64,9 +64,17 @@ class BroadcastingConfigBootstrapper implements TenancyBootstrapper $this->setConfig($tenant); - // Make BroadcastManager resolve to a custom BroadcastManager which makes the broadcasters use the tenant credentials + // Make BroadcastManager resolve to a custom BroadcastManager which makes the broadcasters use the tenant credentials. + // TenantBroadcastManager also inherits the custom drivers registered in the original BroadcastManager, so that they can be used in tenant context as well. $this->app->extend(BroadcastManager::class, function (BroadcastManager $broadcastManager) { - return new TenancyBroadcastManager($this->app); + $originalCustomCreators = invade($broadcastManager)->customCreators; + $tenantBroadcastManager = new TenancyBroadcastManager($this->app); + + foreach ($originalCustomCreators as $driver => $closure) { + $tenantBroadcastManager->extend($driver, $closure); + } + + return $tenantBroadcastManager; }); }