mirror of
https://github.com/archtechx/tenancy.git
synced 2026-02-05 12:24:04 +00:00
Instead of just forgetting the old broadcaster instance, bind the new one
This commit is contained in:
parent
14333a253d
commit
60911aabad
1 changed files with 6 additions and 3 deletions
|
|
@ -4,8 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace Stancl\Tenancy; // todo new Overrides namespace?
|
||||
|
||||
use Illuminate\Broadcasting\Broadcasters\Broadcaster;
|
||||
use Illuminate\Broadcasting\BroadcastManager;
|
||||
use Illuminate\Contracts\Foundation\Application;
|
||||
use Illuminate\Broadcasting\Broadcasters\Broadcaster;
|
||||
use Illuminate\Contracts\Broadcasting\Broadcaster as BroadcasterContract;
|
||||
|
||||
class TenancyBroadcastManager extends BroadcastManager
|
||||
|
|
@ -26,11 +27,11 @@ class TenancyBroadcastManager extends BroadcastManager
|
|||
/** @var Broadcaster|null $cachedBroadcaster */
|
||||
$cachedBroadcaster = $this->drivers[$name] ?? null;
|
||||
|
||||
$this->app->forgetInstance(BroadcasterContract::class);
|
||||
|
||||
/** @var Broadcaster $broadcaster */
|
||||
$broadcaster = $this->resolve($name);
|
||||
|
||||
|
||||
// If there is a cached broadcaster, give its channels to the newly resolved one
|
||||
if ($cachedBroadcaster) {
|
||||
$cachedBroadcaster = invade($cachedBroadcaster);
|
||||
|
||||
|
|
@ -39,6 +40,8 @@ class TenancyBroadcastManager extends BroadcastManager
|
|||
}
|
||||
}
|
||||
|
||||
$this->app->singleton(BroadcasterContract::class, fn(Application $app) => $broadcaster);
|
||||
|
||||
return $broadcaster;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue