Any plans to get it compatible with WebSocket extension?

    4 days later

    Hello! I've been trying to set this extension up on our forum and I can't enable it. Every time I do, the following error message is displayed: Oops! Something went wrong. Please reload the page and try again.
    I've tried increasing PHP's memory limit, just in case that was causing the crash, but it doesn't seem to be this.

    I've tried both the normal extension and dev-master.

    Could you check for an error message in storage/logs?

      askvortsov This is what is in my log folder:
      [2020-10-02 22:00:21] production.ERROR: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'flarum.migrations' doesn't exist in /var/www/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:76
      Stack trace:
      #0 /var/www/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(76): PDO->prepare()
      #1 /var/www/flarum/vendor/illuminate/database/Connection.php(326): Doctrine\DBAL\Driver\PDOConnection->prepare()
      #2 /var/www/flarum/vendor/illuminate/database/Connection.php(657): Illuminate\Database\Connection->Illuminate\Database{closure}()
      #3 /var/www/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\Database\Connection->runQueryCallback()
      #4 /var/www/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\Database\Connection->run()
      #5 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\Database\Connection->select()
      #6 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2289): Illuminate\Database\Query\Builder->runSelect()
      #7 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\Database\Query\Builder->Illuminate\Database\Query{closure}()
      #8 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2291): Illuminate\Database\Query\Builder->onceWithColumns()
      #9 /var/www/flarum/vendor/flarum/core/src/Database/DatabaseMigrationRepository.php(53): Illuminate\Database\Query\Builder->pluck()
      #10 /var/www/flarum/vendor/flarum/core/src/Database/Migrator.php(81): Flarum\Database\DatabaseMigrationRepository->getRan()
      #11 /var/www/flarum/vendor/flarum/core/src/Extension/Extension.php(352): Flarum\Database\Migrator->run()
      #12 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(246): Flarum\Extension\Extension->migrate()
      #13 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(139): Flarum\Extension\ExtensionManager->migrate()
      #14 /var/www/flarum/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(48): Flarum\Extension\ExtensionManager->enable()
      #15 /var/www/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\Api\Controller\UpdateExtensionController->handle()
      #16 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\Http\RouteHandlerFactory->Flarum\Http{closure}()
      #17 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\DispatchRoute->process()
      #18 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\Stratigility\Next->handle()
      #19 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\SetLocale->process()
      #20 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\Stratigility\Next->handle()
      #21 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CheckCsrfToken->process()
      #22 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\Stratigility\Next->handle()
      #23 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithHeader->process()
      #24 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\Stratigility\Next->handle()
      #25 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithSession->process()
      #26 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\Stratigility\Next->handle()
      #27 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\RememberFromCookie->process()
      #28 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle()
      #29 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\StartSession->process()
      #30 /var/www/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle()
      #31 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Api\Middleware\FakeHttpMethods->process()
      #32 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle()
      #33 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ParseJsonBody->process()
      #34 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle()
      #35 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\HandleErrors->process()
      #36 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle()
      #37 /var/www/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process()
      #38 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\RequestHandler->process()
      #39 /var/www/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\Stratigility\Next->handle()
      #40 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePathRouter->process()
      #41 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\Stratigility\Next->handle()
      #42 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\Stratigility\Middleware\OriginalMessages->process()
      #43 /var/www/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\Stratigility\Next->handle()
      #44 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePath->process()
      #45 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle()
      #46 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\Stratigility\MiddlewarePipe->process()
      #47 /var/www/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle()
      #48 /var/www/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
      #49 /var/www/flarum/public/index.php(26): Flarum\Http\Server->listen()
      #50 {main}

      Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'flarum.migrations' doesn't exist in /var/www/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18
      Stack trace:
      #0 /var/www/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(81): Doctrine\DBAL\Driver\PDO\Exception::new()
      #1 /var/www/flarum/vendor/illuminate/database/Connection.php(326): Doctrine\DBAL\Driver\PDOConnection->prepare()
      #2 /var/www/flarum/vendor/illuminate/database/Connection.php(657): Illuminate\Database\Connection->Illuminate\Database{closure}()
      #3 /var/www/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\Database\Connection->runQueryCallback()
      #4 /var/www/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\Database\Connection->run()
      #5 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\Database\Connection->select()
      #6 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2289): Illuminate\Database\Query\Builder->runSelect()
      #7 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\Database\Query\Builder->Illuminate\Database\Query{closure}()
      #8 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2291): Illuminate\Database\Query\Builder->onceWithColumns()
      #9 /var/www/flarum/vendor/flarum/core/src/Database/DatabaseMigrationRepository.php(53): Illuminate\Database\Query\Builder->pluck()
      #10 /var/www/flarum/vendor/flarum/core/src/Database/Migrator.php(81): Flarum\Database\DatabaseMigrationRepository->getRan()
      #11 /var/www/flarum/vendor/flarum/core/src/Extension/Extension.php(352): Flarum\Database\Migrator->run()
      #12 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(246): Flarum\Extension\Extension->migrate()
      #13 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(139): Flarum\Extension\ExtensionManager->migrate()
      #14 /var/www/flarum/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(48): Flarum\Extension\ExtensionManager->enable()
      #15 /var/www/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\Api\Controller\UpdateExtensionController->handle()
      #16 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\Http\RouteHandlerFactory->Flarum\Http{closure}()
      #17 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\DispatchRoute->process()
      #18 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\Stratigility\Next->handle()
      #19 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\SetLocale->process()
      #20 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\Stratigility\Next->handle()
      #21 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CheckCsrfToken->process()
      #22 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\Stratigility\Next->handle()
      #23 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithHeader->process()
      #24 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\Stratigility\Next->handle()
      #25 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithSession->process()
      #26 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\Stratigility\Next->handle()
      #27 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\RememberFromCookie->process()
      #28 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle()
      #29 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\StartSession->process()
      #30 /var/www/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle()
      #31 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Api\Middleware\FakeHttpMethods->process()
      #32 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle()
      #33 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ParseJsonBody->process()
      #34 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle()
      #35 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\HandleErrors->process()
      #36 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle()
      #37 /var/www/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process()
      #38 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\RequestHandler->process()
      #39 /var/www/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\Stratigility\Next->handle()
      #40 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePathRouter->process()
      #41 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\Stratigility\Next->handle()
      #42 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\Stratigility\Middleware\OriginalMessages->process()
      #43 /var/www/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\Stratigility\Next->handle()
      #44 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePath->process()
      #45 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle()
      #46 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\Stratigility\MiddlewarePipe->process()
      #47 /var/www/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle()
      #48 /var/www/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
      #49 /var/www/flarum/public/index.php(26): Flarum\Http\Server->listen()
      #50 {main}

      Next Illuminate\Database\QueryException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'flarum.migrations' doesn't exist (SQL: select migration from migrations where extension = xelson-chat order by migration asc) in /var/www/flarum/vendor/illuminate/database/Connection.php:664
      Stack trace:
      #0 /var/www/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\Database\Connection->runQueryCallback()
      #1 /var/www/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\Database\Connection->run()
      #2 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\Database\Connection->select()
      #3 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2289): Illuminate\Database\Query\Builder->runSelect()
      #4 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\Database\Query\Builder->Illuminate\Database\Query{closure}()
      #5 /var/www/flarum/vendor/illuminate/database/Query/Builder.php(2291): Illuminate\Database\Query\Builder->onceWithColumns()
      #6 /var/www/flarum/vendor/flarum/core/src/Database/DatabaseMigrationRepository.php(53): Illuminate\Database\Query\Builder->pluck()
      #7 /var/www/flarum/vendor/flarum/core/src/Database/Migrator.php(81): Flarum\Database\DatabaseMigrationRepository->getRan()
      #8 /var/www/flarum/vendor/flarum/core/src/Extension/Extension.php(352): Flarum\Database\Migrator->run()
      #9 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(246): Flarum\Extension\Extension->migrate()
      #10 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(139): Flarum\Extension\ExtensionManager->migrate()
      #11 /var/www/flarum/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(48): Flarum\Extension\ExtensionManager->enable()
      #12 /var/www/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\Api\Controller\UpdateExtensionController->handle()
      #13 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\Http\RouteHandlerFactory->Flarum\Http{closure}()
      #14 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\DispatchRoute->process()
      #15 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\Stratigility\Next->handle()
      #16 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\SetLocale->process()
      #17 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\Stratigility\Next->handle()
      #18 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CheckCsrfToken->process()
      #19 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\Stratigility\Next->handle()
      #20 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithHeader->process()
      #21 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\Stratigility\Next->handle()
      #22 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithSession->process()
      #23 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\Stratigility\Next->handle()
      #24 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\RememberFromCookie->process()
      #25 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle()
      #26 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\StartSession->process()
      #27 /var/www/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle()
      #28 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Api\Middleware\FakeHttpMethods->process()
      #29 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle()
      #30 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ParseJsonBody->process()
      #31 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle()
      #32 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\HandleErrors->process()
      #33 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle()
      #34 /var/www/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process()
      #35 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\RequestHandler->process()
      #36 /var/www/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\Stratigility\Next->handle()
      #37 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePathRouter->process()
      #38 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\Stratigility\Next->handle()
      #39 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\Stratigility\Middleware\OriginalMessages->process()
      #40 /var/www/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\Stratigility\Next->handle()
      #41 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePath->process()
      #42 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle()
      #43 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\Stratigility\MiddlewarePipe->process()
      #44 /var/www/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle()
      #45 /var/www/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
      #46 /var/www/flarum/public/index.php(26): Flarum\Http\Server->listen()
      #47 {main}

        Xelson No, but I just checked, and there isn't any table called "migrations" or "migration"

          diegoc such a table should always exist, as far as I know. did you make migration with php flarum migrate?

          diegoc if other Flarum tables like users and discussions exist but migrations doesn't, something has gone wrong during the initial Flarum installation.

          If that's the case, I'd recommend re-installing Flarum. Verify no error happens during installation.

          Missing database tables could be caused by the PHP execution time being too short or PHP memory limit too low during installation, which might stop the install script very close to the end.

          If some database tables are missing, you were probably also missing the original admin account and missing the default settings and permissions right after the installation.

            clarkwinkelmann Thank you very much for your help. If I were to reinstall Flarum, how could I transfer the threads we already have and the users that have registered?

              diegoc you could create a data-only database dump (so excluding structure), then use that dump to import the data into the newly created database.

              You could skip the settings and permissions table, so that you can start fresh with the default settings and permissions. You might also need to delete the start admin user from the database before being able to import your existing users as two users would share the same ID.

                15 days later

                Xelson I intend to release an update next month.

                How it's going? Everything on schedule? I've got few questions:

                • It will be Flarum BETA 14 ready?
                • Supporting Kyrne Websocket is still in plan?
                • Any plans about requested multiple times option to display chat only for logged in users / only for specific groups?
                • There will be option to give ability to open private channels only for specific groups?

                  Wadera Hello! I've been working on the chat for a month now.

                  • Depends on the update release date. Migrating on Mithril 2 will break everything related to front-end but in the middle of next month I'm leaving for army service and I won't be able to support the extension for more than a year;
                  • I have already implemented supporting but not tested;
                  • Censoring messages for unregistered users was implemented back in may, but I will definitely add option to censore the chat only for specific groups;
                  • It will be possible to create public channels and private conversations with one or multiple users.


                    Looks awesome. I'm hope that you will be able to release it for beta 14 before you start service!

                    One year without project owner... That may be hard for stable working and potential issue fixing 🙁

                    I'm hoping that some friends of flarum will be able to help in case of any potential crisis.

                    Xelson It will be possible to create public channels and private conversations with one or multiple users.

                    I mean if we can set permission to start private chats only for specific user groups, example for admins and mods?

                    Xelson option to censore the chat only for specific groups;

                    Censoring message is one thing, but what about completely hide whole chat interface?

                    Let me know if you need someone to get your extension tested with websockets - I'm ready to help!

                      Wadera I mean if we can set permission to start private chats only for specific user groups, example for admins and mods?

                      I plan to add a flag personally for any user to prohibit adding a user to any chat and this request conflicts with flag feature. We can ignore all users who have blocked adding them to any chat but will this work? Can you give an example of where this feature would be useful?

                      Wadera Censoring message is one thing, but what about completely hide whole chat interface?

                      Same thing. Can you explain why you need to hide the interface? Maybe we will come to a more universal option, because I implemented censorship in order to leave potential users interested in registering on the forum.

                      Wadera Let me know if you need someone to get your extension tested with websockets - I'm ready to help!

                      Great! You can try upgrade to dev-construct branch of chat:

                      composer require xelson/flarum-ext-chat:dev-construct
                      php flarum migrate
                      php flarum cache:clear

                      I hope nothing breaks during upgrading. But keep in mind that this branch is even more unstable than dev-master and it is only suitable for the test.

                      Blocking / allowing permission to some groups only:

                      • To minimize SPAM we have strict new users approval process. I don't want to let new, not yet verified users sending private messages to everyone who they can see.
                      • It can be too much if everyone will start creating own, public channels. I would leave this option for Administrators, so we can setup few for everyone.

                      Hide chat interface for person who don't have permission to use it:

                      It's not essential, but here we have example use cases:

                      • Testing period - It will be nice to have option to display chat only for admin / moderators and get it tested before public release, especially if something don't working as expected
                      • Don't bring SPAMERS attention - if they don't know that feature exist - they won't try to abuse it

                      Testing websocket

                      On my currently working forum (where I've tried to install your extension before) I have errors about missing tables:

                      From debug mode:

                      GET https://prod.forum.local/api/chats
                      
                      {
                        "errors": [
                          {
                            "status": "500",
                            "code": "unknown",
                            "detail": "PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'prod_forum.neonchat_messages' doesn't exist in /home/prod/domains/prod.forum.local/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:77\nStack trace:\n#0 /home/prod/domains/prod.forum.local/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(77): PDO->prepare()\n#1 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(326): Doctrine\\DBAL\\Driver\\PDOConnection->prepare()\n#2 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(657): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}()\n#3 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback()\n#4 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\\Database\\Connection->run()\n#5 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\\Database\\Connection->select()\n#6 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2083): Illuminate\\Database\\Query\\Builder->runSelect()\n#7 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()\n#8 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2084): Illuminate\\Database\\Query\\Builder->onceWithColumns()\n#9 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(519): Illuminate\\Database\\Query\\Builder->get()\n#10 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(503): Illuminate\\Database\\Eloquent\\Builder->getModels()\n#11 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(155): Illuminate\\Database\\Eloquent\\Builder->get()\n#12 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(144): Illuminate\\Database\\Eloquent\\Relations\\Relation->get()\n#13 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(567): Illuminate\\Database\\Eloquent\\Relations\\Relation->getEager()\n#14 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(536): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelation()\n#15 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Collection.php(60): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelations()\n#16 /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/ListChatsController.php(65): Illuminate\\Database\\Eloquent\\Collection->load()\n#17 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\ListChatsController->data()\n#18 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#19 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#20 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#21 /home/prod/domains/prod.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#22 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#23 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#24 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#25 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(37): Laminas\\Stratigility\\Next->handle()\n#26 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#27 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#28 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#29 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#30 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#31 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#32 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#33 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#34 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#35 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#36 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#37 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#38 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#39 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#40 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#41 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#42 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#43 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#44 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#45 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#46 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#47 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#48 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#49 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#50 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#51 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#52 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#53 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#54 /home/prod/domains/prod.forum.local/flarum/public/index.php(22): Flarum\\Http\\Server->listen()\n#55 {main}\n\nNext Doctrine\\DBAL\\Driver\\PDO\\Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'prod_forum.neonchat_messages' doesn't exist in /home/prod/domains/prod.forum.local/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18\nStack trace:\n#0 /home/prod/domains/prod.forum.local/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(82): Doctrine\\DBAL\\Driver\\PDO\\Exception::new()\n#1 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(326): Doctrine\\DBAL\\Driver\\PDOConnection->prepare()\n#2 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(657): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}()\n#3 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback()\n#4 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\\Database\\Connection->run()\n#5 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\\Database\\Connection->select()\n#6 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2083): Illuminate\\Database\\Query\\Builder->runSelect()\n#7 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()\n#8 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2084): Illuminate\\Database\\Query\\Builder->onceWithColumns()\n#9 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(519): Illuminate\\Database\\Query\\Builder->get()\n#10 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(503): Illuminate\\Database\\Eloquent\\Builder->getModels()\n#11 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(155): Illuminate\\Database\\Eloquent\\Builder->get()\n#12 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(144): Illuminate\\Database\\Eloquent\\Relations\\Relation->get()\n#13 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(567): Illuminate\\Database\\Eloquent\\Relations\\Relation->getEager()\n#14 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(536): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelation()\n#15 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Collection.php(60): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelations()\n#16 /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/ListChatsController.php(65): Illuminate\\Database\\Eloquent\\Collection->load()\n#17 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\ListChatsController->data()\n#18 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#19 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#20 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#21 /home/prod/domains/prod.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#22 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#23 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#24 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#25 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(37): Laminas\\Stratigility\\Next->handle()\n#26 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#27 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#28 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#29 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#30 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#31 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#32 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#33 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#34 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#35 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#36 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#37 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#38 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#39 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#40 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#41 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#42 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#43 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#44 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#45 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#46 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#47 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#48 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#49 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#50 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#51 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#52 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#53 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#54 /home/prod/domains/prod.forum.local/flarum/public/index.php(22): Flarum\\Http\\Server->listen()\n#55 {main}\n\nNext Illuminate\\Database\\QueryException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'prod_forum.neonchat_messages' doesn't exist (SQL: select * from `neonchat_messages` where `deleted_by` is null and `neonchat_messages`.`chat_id` in (1) order by `id` desc) in /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php:664\nStack trace:\n#0 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback()\n#1 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\\Database\\Connection->run()\n#2 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\\Database\\Connection->select()\n#3 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2083): Illuminate\\Database\\Query\\Builder->runSelect()\n#4 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()\n#5 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2084): Illuminate\\Database\\Query\\Builder->onceWithColumns()\n#6 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(519): Illuminate\\Database\\Query\\Builder->get()\n#7 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(503): Illuminate\\Database\\Eloquent\\Builder->getModels()\n#8 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(155): Illuminate\\Database\\Eloquent\\Builder->get()\n#9 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(144): Illuminate\\Database\\Eloquent\\Relations\\Relation->get()\n#10 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(567): Illuminate\\Database\\Eloquent\\Relations\\Relation->getEager()\n#11 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(536): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelation()\n#12 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Collection.php(60): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelations()\n#13 /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/ListChatsController.php(65): Illuminate\\Database\\Eloquent\\Collection->load()\n#14 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\ListChatsController->data()\n#15 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#16 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#17 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#18 /home/prod/domains/prod.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#19 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#20 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#21 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#22 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(37): Laminas\\Stratigility\\Next->handle()\n#23 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#24 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#25 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#26 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#27 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#28 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#29 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#30 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#31 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#32 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#33 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#34 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#35 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#36 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#37 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#38 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#39 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#40 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#41 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#42 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#43 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#44 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#45 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#46 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#47 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#48 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#49 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#50 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#51 /home/prod/domains/prod.forum.local/flarum/public/index.php(22): Flarum\\Http\\Server->listen()\n#52 {main}"
                          }
                        ]
                      }
                      
                      POST https://prod.forum.local/api/chats
                      
                      {
                        "errors": [
                          {
                            "status": "400",
                            "code": "invalid_parameter",
                            "detail": "Xelson\\Chat\\Exceptions\\ChatEditException in /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Commands/CreateChatHandler.php:56\nStack trace:\n#0 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(90): Xelson\\Chat\\Commands\\CreateChatHandler->handle()\n#1 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\\Bus\\Dispatcher->Illuminate\\Bus\\{closure}()\n#2 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/pipeline/Pipeline.php(104): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#3 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(98): Illuminate\\Pipeline\\Pipeline->then()\n#4 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(76): Illuminate\\Bus\\Dispatcher->dispatchNow()\n#5 /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/CreateChatController.php(64): Illuminate\\Bus\\Dispatcher->dispatch()\n#6 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\CreateChatController->data()\n#7 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractCreateController.php(22): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#8 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractCreateController->handle()\n#9 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#10 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#11 /home/prod/domains/prod.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#12 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#13 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#14 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#15 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\\Stratigility\\Next->handle()\n#16 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#17 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#18 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#19 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#20 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#21 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#22 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#23 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#24 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#25 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#26 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#27 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#28 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#29 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#30 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#31 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#32 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#33 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#34 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#35 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#36 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#37 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#38 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#39 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#40 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#41 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#42 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#43 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#44 /home/prod/domains/prod.forum.local/flarum/public/index.php(22): Flarum\\Http\\Server->listen()\n#45 {main}"
                          }
                        ]
                      }

                      On new, empty, dev forum:

                      POST https://dev.forum.local/api/chatmessages
                      
                      {
                        "errors": [
                          {
                            "status": "500",
                            "code": "unknown",
                            "detail": "TypeError: Argument 4 passed to Xelson\\Chat\\Commands\\PostMessage::__construct() must be of the type bool, null given, called in /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/PostMessageController.php on line 68 and defined in /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Commands/PostMessage.php:33\nStack trace:\n#0 /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/PostMessageController.php(68): Xelson\\Chat\\Commands\\PostMessage->__construct()\n#1 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\PostMessageController->data()\n#2 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#3 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#4 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#5 /home/dev/domains/dev.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#6 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#7 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#8 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#9 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\\Stratigility\\Next->handle()\n#10 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#11 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#12 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#13 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#14 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#15 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#16 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#17 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#18 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#19 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#20 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#21 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#22 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#23 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#24 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#25 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#26 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#27 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#28 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#29 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#30 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#31 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#32 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#33 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#34 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#35 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#36 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#37 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#38 /home/dev/domains/dev.forum.local/flarum/public/index.php(26): Flarum\\Http\\Server->listen()\n#39 {main}"
                          }
                        ]
                      }
                      
                      POST https://dev.forum.local/api/chats
                      
                      {
                        "errors": [
                          {
                            "status": "400",
                            "code": "invalid_parameter",
                            "detail": "Xelson\\Chat\\Exceptions\\ChatEditException in /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Commands/CreateChatHandler.php:56\nStack trace:\n#0 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(90): Xelson\\Chat\\Commands\\CreateChatHandler->handle()\n#1 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\\Bus\\Dispatcher->Illuminate\\Bus\\{closure}()\n#2 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/pipeline/Pipeline.php(104): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#3 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(98): Illuminate\\Pipeline\\Pipeline->then()\n#4 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(76): Illuminate\\Bus\\Dispatcher->dispatchNow()\n#5 /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/CreateChatController.php(64): Illuminate\\Bus\\Dispatcher->dispatch()\n#6 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\CreateChatController->data()\n#7 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractCreateController.php(22): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#8 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractCreateController->handle()\n#9 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#10 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#11 /home/dev/domains/dev.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#12 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#13 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#14 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#15 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\\Stratigility\\Next->handle()\n#16 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#17 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#18 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#19 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#20 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#21 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#22 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#23 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#24 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#25 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#26 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#27 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#28 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#29 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#30 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#31 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#32 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#33 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#34 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#35 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#36 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#37 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#38 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#39 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#40 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#41 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#42 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#43 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#44 /home/dev/domains/dev.forum.local/flarum/public/index.php(26): Flarum\\Http\\Server->listen()\n#45 {main}"
                          }
                        ]
                      }

                      Web Browser Console:

                      Pusher :  : ["State changed","initialized -> connecting"]
                      pusher.js:3071 Pusher :  : ["Connecting",{"transport":"ws","url":"wss://prod.forum.local:2083/app/Xl(...)yx3juZ?protocol=7&client=js&version=5.1.1&flash=false"}]
                      pusher.js:3071 Pusher :  : ["State changed","connecting -> connected with new socket ID 748589760.479757014"]
                      pusher.js:3071 Pusher :  : ["Event sent",{"event":"pusher:subscribe","data":{"auth":"","channel":"public"}}]
                      pusher.js:3071 Pusher :  : ["Event recd",{"event":"pusher_internal:subscription_succeeded","channel":"public"}]
                      pusher.js:3071 Pusher :  : ["No callbacks on public for pusher:subscription_succeeded"]
                      pusher.js:3071 Pusher :  : ["Event sent",{"event":"pusher:subscribe","data":{"auth":"XlJC4(...)a7c3","channel":"private-user1"}}]
                      pusher.js:3071 Pusher :  : ["Event recd",{"event":"pusher_internal:subscription_succeeded","channel":"private-user1"}]
                      pusher.js:3071 Pusher :  : ["No callbacks on private-user1 for pusher:subscription_succeeded"]
                      mithril.js:2191 POST https://dev.forum.local/api/chatmessages 500
                      (anonymous) @ mithril.js:2191
                      (anonymous) @ mithril.js:2199
                      y.request @ mithril.js:2288
                      e.request @ Application.js:293
                      e.save @ Model.js:159
                      messagePost @ ChatViewport.js:477
                      messageSend @ ChatViewport.js:385
                      inputPressEnter @ ChatViewport.js:328
                      L.t.<computed> @ mithril.js:1286

                      I think faster testing will be available when we can get some direct chat (Discord on Flarum? My nick is Wadera - you can catch me if you need more tests 😉 )