[GH-ISSUE #465] Get rid of Pusher #325

Closed
opened 2026-02-26 02:32:51 +03:00 by kerem · 11 comments
Owner

Originally created by @X-Ryl669 on GitHub (Sep 26, 2016).
Original GitHub issue: https://github.com/koel/koel/issues/465

As of today, the last repository requires Pusher to be installed.
BTW, composer require pusher/pusher-php-server needs to be called else it won't build.

I don't want to use Pusher for 2 reasons:

  1. It's not free (as in free speech) (and if you have more than 100 clients, then it's also not gratis)
  2. I don't want them to be aware of all messages/events my server will generate.

Please reconsider using that dependency.

Originally created by @X-Ryl669 on GitHub (Sep 26, 2016). Original GitHub issue: https://github.com/koel/koel/issues/465 As of today, the last repository requires Pusher to be installed. BTW, `composer require pusher/pusher-php-server` needs to be called else it won't build. I don't want to use Pusher for 2 reasons: 1. It's not free (as in free speech) (and if you have more than 100 clients, then it's also not gratis) 2. I don't want them to be aware of all messages/events my server will generate. Please reconsider using that dependency.
kerem closed this issue 2026-02-26 02:32:51 +03:00
Author
Owner

@ArcheTwist commented on GitHub (Sep 26, 2016):

I totally agree, this absolutely needs to be changed if possible

<!-- gh-comment-id:249552507 --> @ArcheTwist commented on GitHub (Sep 26, 2016): I totally agree, this absolutely needs to be changed if possible
Author
Owner

@ShenZhouHong commented on GitHub (Sep 26, 2016):

I attempted to run an install as well, and the build also failed. How do I modify the file so that it would install successfully? I tried editing composer.json to add the pusher file in with an version number of "*", but it still appears not to work.

barryvdh/reflection-docblock suggests installing dflydev/markdown (~1.0)
barryvdh/reflection-docblock suggests installing erusev/parsedown (~1.0)
barryvdh/laravel-ide-helper suggests installing doctrine/dbal (Load information from the database about models for phpdocs (~2.3))
phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.)
phpseclib/phpseclib suggests installing pear-pear/PHP_Compat (Install PHP_Compat to get phpseclib working on PHP < 4.3.3.)
phpspec/phpspec suggests installing phpspec/nyan-formatters (~1.0 – Adds Nyan formatters)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Generating autoload files
> php artisan clear-compiled
PHP Fatal error:  Class 'Pusher' not found in /home/koel/koel/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastManager.php on line 210


  [Symfony\Component\Debug\Exception\FatalErrorException]  
  Class 'Pusher' not found                                 


Script php artisan clear-compiled handling the post-install-cmd event returned with error code 255
koel@pattensen:~/koel$ ls
<!-- gh-comment-id:249639242 --> @ShenZhouHong commented on GitHub (Sep 26, 2016): I attempted to run an install as well, and the build also failed. How do I modify the file so that it would install successfully? I tried editing composer.json to add the pusher file in with an version number of "*", but it still appears not to work. ``` barryvdh/reflection-docblock suggests installing dflydev/markdown (~1.0) barryvdh/reflection-docblock suggests installing erusev/parsedown (~1.0) barryvdh/laravel-ide-helper suggests installing doctrine/dbal (Load information from the database about models for phpdocs (~2.3)) phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.) phpseclib/phpseclib suggests installing pear-pear/PHP_Compat (Install PHP_Compat to get phpseclib working on PHP < 4.3.3.) phpspec/phpspec suggests installing phpspec/nyan-formatters (~1.0 – Adds Nyan formatters) sebastian/global-state suggests installing ext-uopz (*) phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1) phpunit/phpunit suggests installing phpunit/php-invoker (~1.1) Generating autoload files > php artisan clear-compiled PHP Fatal error: Class 'Pusher' not found in /home/koel/koel/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastManager.php on line 210 [Symfony\Component\Debug\Exception\FatalErrorException] Class 'Pusher' not found Script php artisan clear-compiled handling the post-install-cmd event returned with error code 255 koel@pattensen:~/koel$ ls ```
Author
Owner

@ShenZhouHong commented on GitHub (Sep 26, 2016):

Even trying the command composer require pusher/pusher-php-server does not seem to work:

koel@pattensen:~/koel$ composer require pusher/pusher-php-server ~2.0
./composer.json has been updated
> php artisan clear-compiled
PHP Fatal error:  Class 'Pusher' not found in /home/koel/koel/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastManager.php on line 210


  [Symfony\Component\Debug\Exception\FatalErrorException]  
  Class 'Pusher' not found                                 


Script php artisan clear-compiled handling the pre-update-cmd event returned with error code 255

Installation failed, reverting ./composer.json to its original content.
koel@pattensen:~/koel$ 

<!-- gh-comment-id:249640503 --> @ShenZhouHong commented on GitHub (Sep 26, 2016): Even trying the command `composer require pusher/pusher-php-server` does not seem to work: ``` koel@pattensen:~/koel$ composer require pusher/pusher-php-server ~2.0 ./composer.json has been updated > php artisan clear-compiled PHP Fatal error: Class 'Pusher' not found in /home/koel/koel/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastManager.php on line 210 [Symfony\Component\Debug\Exception\FatalErrorException] Class 'Pusher' not found Script php artisan clear-compiled handling the pre-update-cmd event returned with error code 255 Installation failed, reverting ./composer.json to its original content. koel@pattensen:~/koel$ ```
Author
Owner

@BernardGoldberger commented on GitHub (Sep 26, 2016):

You need to add BROADCAST_DRIVER=log into .env and run composer install.

<!-- gh-comment-id:249646934 --> @BernardGoldberger commented on GitHub (Sep 26, 2016): You need to add `BROADCAST_DRIVER=log` into `.env` and run `composer install`.
Author
Owner

@ShenZhouHong commented on GitHub (Sep 26, 2016):

The problem is that the env file is never generated, since composer install exits with an error. I ended up downloading a slightly older version of koel from the releases, and now it is working fantastically.

<!-- gh-comment-id:249647350 --> @ShenZhouHong commented on GitHub (Sep 26, 2016): The problem is that the env file is never generated, since composer install exits with an error. I ended up downloading a slightly older version of koel from the releases, and now it is working fantastically.
Author
Owner

@BernardGoldberger commented on GitHub (Sep 26, 2016):

@peterpacz1 you could always create it manually.

<!-- gh-comment-id:249647651 --> @BernardGoldberger commented on GitHub (Sep 26, 2016): @peterpacz1 you could always create it manually.
Author
Owner

@BernardGoldberger commented on GitHub (Sep 26, 2016):

@X-Ryl669

As of today, the last repository requires Pusher to be installed.

Did not require it for me, see https://github.com/phanan/koel/issues/465#issuecomment-249646934.

It is suggesting though that I install it.

<!-- gh-comment-id:249647994 --> @BernardGoldberger commented on GitHub (Sep 26, 2016): @X-Ryl669 > As of today, the last repository requires Pusher to be installed. Did not require it for me, see https://github.com/phanan/koel/issues/465#issuecomment-249646934. It is **suggesting** though that I install it.
Author
Owner

@ShenZhouHong commented on GitHub (Sep 26, 2016):

Ah, apologies - I did not knew I could do that. Thank you for the help anyways. :)

<!-- gh-comment-id:249648089 --> @ShenZhouHong commented on GitHub (Sep 26, 2016): Ah, apologies - I did not knew I could do that. Thank you for the help anyways. :)
Author
Owner

@phanan commented on GitHub (Sep 27, 2016):

As @bdgold stated, you need to add BROADCAST_DRIVER=log into .env if you want to build the master branch. This has NOTHING to do with Pusher or Koel, but a Laravel 5.3 requirement instead.

@X-Ryl669 No one is forcing you to use Pusher. Except for the core functionalities, no Koel features (YouTube, Last.fm, AWS, FFmpeg, CDN-support) are ever mandatory.


I want to stress as well, that by using master, you guys are basically living on the edge and willing to accept broken features and/or lack of documentation. So do me and yourselves a favor of researching before jumping into conclusions, or worse, giving commands. OSS project owners don't owe you guys anything.

<!-- gh-comment-id:249764594 --> @phanan commented on GitHub (Sep 27, 2016): As @bdgold stated, you need to add `BROADCAST_DRIVER=log` into `.env` if you want to build the `master` branch. This has NOTHING to do with Pusher or Koel, but a Laravel 5.3 requirement instead. @X-Ryl669 No one is forcing you to use Pusher. Except for the core functionalities, no Koel features (YouTube, Last.fm, AWS, FFmpeg, CDN-support) are ever mandatory. --- I want to stress as well, that by using `master`, you guys are basically living on the edge and willing to accept broken features and/or lack of documentation. So do me and yourselves a favor of researching before jumping into conclusions, or worse, giving commands. OSS project owners don't owe you guys anything.
Author
Owner

@X-Ryl669 commented on GitHub (Sep 27, 2016):

@bdgold If you are using production code, and you don't use broadcasting, then BROADCAST_DRIVER=log should probably be BROADCAST_DRIVER=null to avoid cluttering the logs.
@phanan I don't see where using log driver for event broadcasting (which is a no-op as you stated) is a Laravel 5.3 requirement, the default is Pusher in Laravel 5.3. Better choice would have been the null driver if you don't intend to use the feature.

You don't owe us anything, that's true. Same as I don't owe you anything, yet, I'm contributing back each of my changes (you're rejecting or not, I don't care, I do what I consider fair).

In all cases, that does not mean we can't say when something do not please us.
Here's a live example where I expressed my opinion politely. I did not "give command".
I did research and figure out how to solve the missing Pusher dependency, and without any other information.
I reported the issue, and said what I did to solve it. I did not know if you were aware of it, and I supposed you did not.

If you don't like being told that something's broken, great, I'll stop reporting.
If you don't like to know what your user like/don't like, great, I'll stop reporting too.
Very positive attitude...

<!-- gh-comment-id:249843790 --> @X-Ryl669 commented on GitHub (Sep 27, 2016): @bdgold If you are using production code, and you don't use broadcasting, then `BROADCAST_DRIVER=log` should probably be `BROADCAST_DRIVER=null` to avoid cluttering the logs. @phanan I don't see where using log driver for event broadcasting (which is a no-op as you stated) is a Laravel 5.3 requirement, the default is Pusher in Laravel 5.3. Better choice would have been the `null` driver if you don't intend to use the feature. You don't owe us anything, that's true. Same as I don't owe you anything, yet, I'm contributing back each of my changes (you're rejecting or not, I don't care, I do what I consider fair). In all cases, **that does not mean we can't say when something do not please us**. Here's a live example where I expressed my opinion **politely**. I did not _"give command"_. I did research and figure out how to solve the missing Pusher dependency, and without any other information. I reported the issue, and said what I did to solve it. I did not know if you were aware of it, and I supposed you did not. If you don't like being told that something's broken, great, I'll stop reporting. If you don't like to know what your user like/don't like, great, I'll stop reporting too. Very positive attitude...
Author
Owner

@phanan commented on GitHub (Sep 27, 2016):

Not to continue this very non-constructive debate, but if "Get rid of Pusher" doesn't sound like a command, I don't know what does.

Now to the root of the issue, yes, I very much intend to use broadcast in the future.

<!-- gh-comment-id:249853389 --> @phanan commented on GitHub (Sep 27, 2016): Not to continue this very non-constructive debate, but if "Get rid of Pusher" doesn't sound like a command, I don't know what does. Now to the root of the issue, yes, I very much intend to use broadcast in the future.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/koel-koel#325
No description provided.