rafaelzgz good point, it must be because of the Websockets extension.
It's true that there would be a conflict between the versions of
pusher/pusher-php-server required, because
^7.0. But the
-W shouldn't uninstall packages that are listed in the root
However a different Composer feature can remove packages, it's the
kyrne/websocket says it replaces
flarum/pusher in its
composer.json, so this causes Composer to automatically remove it. The Composer output should say that the package was removed when you installed the other one.
You might be able to re-install the two together with some trickery. But do you actually need it if you switched to the Websockets extension? Best to keep only one of them installed.