lockForUpdate() ->findOrFail($room->id); if ($lockedRoom->allow_participant_controls === $allowParticipantControls) { return [$lockedRoom->state_version, false]; } $lockedRoom->update([ 'allow_participant_controls' => $allowParticipantControls, 'last_activity_at' => now(), 'state_version' => $lockedRoom->state_version + 1, ]); return [$lockedRoom->state_version, true]; }); if (! $wasChanged) { return; } RoomStateChanged::dispatch( $room->id, $stateVersion, RoomStateChange::PermissionsUpdated, $this->realtimeState->for($room), ); } }