• Flarum core 1.0.4
  • PHP version: 7.3.30
  • flarum-pusher v1.0.0
  • kyrne-whisper 0.1.3

Some feature suggestions:

  • admin option to disable typing notification feature for all

Bugs:

  • negative message count
  • typing notification not working on my instance

Thank you!

witech

Did you contact him?
I think it would be a good idea to end a conversation. Maybe if you already ignore a user, conversations could also be blocked.

    7 days later

    @Kyrne - are you considering to implement some of those ideas (ending, deleting, blocking conversations)?


    I don’t know why I click on the person’s avatar, and the upper right corner will constantly become negative, and every time I click it, it will be -1. Is this a BUG?

      5 days later

      Visual bug – link color is the same as background bubble color on my forums.

      a month later

      tolgaaaltas Thank you but I installed it and is not working for me, the tables are created in my database but I can´t see the icon to open Private Discussions. No errors in the console.

        5 days later

        jslirola same here it no longer works, seems the dev is no longer around also ☹️ Anyone know of a functioning extension ?

        EDIT: After doing a number of hard refresh/clear cache it is now working. Only issue is the lack of encryption.

          15 days later

          I´ve got a message counter error. The counter gets upper everytime I reload the page.

          5 days later

          can't turn on.with debug messages as below,
          @Kyrne

          500
          POST https://webname.com/api/extensions/kyrne-whisper
          
          PDOException: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'unread_messages' in /www/wwwroot/webname.com/tmtd/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117
          Stack trace:
          #0 /www/wwwroot/webname.com/tmtd/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(117): PDOStatement->execute()
          #1 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(492): Doctrine\DBAL\Driver\PDOStatement->execute()
          #2 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(696): Illuminate\Database\Connection->Illuminate\Database\{closure}()
          #3 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(663): Illuminate\Database\Connection->runQueryCallback()
          #4 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(493): Illuminate\Database\Connection->run()
          #5 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Blueprint.php(109): Illuminate\Database\Connection->statement()
          #6 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Builder.php(365): Illuminate\Database\Schema\Blueprint->build()
          #7 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Builder.php(212): Illuminate\Database\Schema\Builder->build()
          #8 /www/wwwroot/webname.com/tmtd/vendor/kyrne/whisper/migrations/2020_05_20_152335_add_fields_to_users.php(20): Illuminate\Database\Schema\Builder->table()
          #9 [internal function]: Illuminate\Filesystem\Filesystem::{closure}()
          #10 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(202): call_user_func()
          #11 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(133): Flarum\Database\Migrator->runClosureMigration()
          #12 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(116): Flarum\Database\Migrator->runUp()
          #13 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(90): Flarum\Database\Migrator->runMigrationList()
          #14 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/Extension.php(503): Flarum\Database\Migrator->run()
          #15 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/ExtensionManager.php(311): Flarum\Extension\Extension->migrate()
          #16 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/ExtensionManager.php(182): Flarum\Extension\ExtensionManager->migrate()
          #17 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/Command/ToggleExtensionHandler.php(36): Flarum\Extension\ExtensionManager->enable()
          #18 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Extension\Command\ToggleExtensionHandler->handle()
          #19 /www/wwwroot/webname.com/tmtd/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
          #20 /www/wwwroot/webname.com/tmtd/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
          #21 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
          #22 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow()
          #23 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(43): Illuminate\Bus\Dispatcher->dispatch()
          #24 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): Flarum\Api\Controller\UpdateExtensionController->handle()
          #25 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}()
          #26 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ExecuteRoute->process()
          #27 /www/wwwroot/webname.com/tmtd/vendor/nearata/flarum-ext-twofactor/src/Http/Middleware/AuthenticateWithTwoFactor.php(37): Laminas\Stratigility\Next->handle()
          #28 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Nearata\TwoFactor\Http\Middleware\AuthenticateWithTwoFactor->process()
          #29 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle()
          #30 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\ThrottleApi->process()
          #31 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle()
          #32 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\CheckCsrfToken->process()
          #33 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle()
          #34 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ResolveRoute->process()
          #35 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle()
          #36 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\SetLocale->process()
          #37 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle()
          #38 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithHeader->process()
          #39 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle()
          #40 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithSession->process()
          #41 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle()
          #42 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\RememberFromCookie->process()
          #43 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle()
          #44 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\StartSession->process()
          #45 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle()
          #46 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\FakeHttpMethods->process()
          #47 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle()
          #48 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ParseJsonBody->process()
          #49 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle()
          #50 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\HandleErrors->process()
          #51 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle()
          #52 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\InjectActorReference->process()
          #53 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle()
          #54 /www/wwwroot/webname.com/tmtd/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process()
          #55 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\RequestHandler->process()
          #56 /www/wwwroot/webname.com/tmtd/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle()
          #57 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePathRouter->process()
          #58 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle()
          #59 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Laminas\Stratigility\Middleware\OriginalMessages->process()
          #60 /www/wwwroot/webname.com/tmtd/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle()
          #61 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePath->process()
          #62 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle()
          #63 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ProcessIp->process()
          #64 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle()
          #65 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(65): Laminas\Stratigility\MiddlewarePipe->process()
          #66 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle()
          #67 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
          #68 /www/wwwroot/webname.com/tmtd/public/index.php(26): Flarum\Http\Server->listen()
          #69 {main}
          
          Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'unread_messages' in /www/wwwroot/webname.com/tmtd/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18
          Stack trace:
          #0 /www/wwwroot/webname.com/tmtd/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(119): Doctrine\DBAL\Driver\PDO\Exception::new()
          #1 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(492): Doctrine\DBAL\Driver\PDOStatement->execute()
          #2 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(696): Illuminate\Database\Connection->Illuminate\Database\{closure}()
          #3 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(663): Illuminate\Database\Connection->runQueryCallback()
          #4 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(493): Illuminate\Database\Connection->run()
          #5 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Blueprint.php(109): Illuminate\Database\Connection->statement()
          #6 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Builder.php(365): Illuminate\Database\Schema\Blueprint->build()
          #7 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Builder.php(212): Illuminate\Database\Schema\Builder->build()
          #8 /www/wwwroot/webname.com/tmtd/vendor/kyrne/whisper/migrations/2020_05_20_152335_add_fields_to_users.php(20): Illuminate\Database\Schema\Builder->table()
          #9 [internal function]: Illuminate\Filesystem\Filesystem::{closure}()
          #10 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(202): call_user_func()
          #11 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(133): Flarum\Database\Migrator->runClosureMigration()
          #12 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(116): Flarum\Database\Migrator->runUp()
          #13 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(90): Flarum\Database\Migrator->runMigrationList()
          #14 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/Extension.php(503): Flarum\Database\Migrator->run()
          #15 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/ExtensionManager.php(311): Flarum\Extension\Extension->migrate()
          #16 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/ExtensionManager.php(182): Flarum\Extension\ExtensionManager->migrate()
          #17 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/Command/ToggleExtensionHandler.php(36): Flarum\Extension\ExtensionManager->enable()
          #18 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Extension\Command\ToggleExtensionHandler->handle()
          #19 /www/wwwroot/webname.com/tmtd/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
          #20 /www/wwwroot/webname.com/tmtd/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
          #21 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
          #22 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow()
          #23 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(43): Illuminate\Bus\Dispatcher->dispatch()
          #24 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): Flarum\Api\Controller\UpdateExtensionController->handle()
          #25 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}()
          #26 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ExecuteRoute->process()
          #27 /www/wwwroot/webname.com/tmtd/vendor/nearata/flarum-ext-twofactor/src/Http/Middleware/AuthenticateWithTwoFactor.php(37): Laminas\Stratigility\Next->handle()
          #28 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Nearata\TwoFactor\Http\Middleware\AuthenticateWithTwoFactor->process()
          #29 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle()
          #30 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\ThrottleApi->process()
          #31 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle()
          #32 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\CheckCsrfToken->process()
          #33 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle()
          #34 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ResolveRoute->process()
          #35 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle()
          #36 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\SetLocale->process()
          #37 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle()
          #38 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithHeader->process()
          #39 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle()
          #40 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithSession->process()
          #41 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle()
          #42 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\RememberFromCookie->process()
          #43 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle()
          #44 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\StartSession->process()
          #45 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle()
          #46 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\FakeHttpMethods->process()
          #47 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle()
          #48 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ParseJsonBody->process()
          #49 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle()
          #50 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\HandleErrors->process()
          #51 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle()
          #52 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\InjectActorReference->process()
          #53 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle()
          #54 /www/wwwroot/webname.com/tmtd/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process()
          #55 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\RequestHandler->process()
          #56 /www/wwwroot/webname.com/tmtd/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle()
          #57 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePathRouter->process()
          #58 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle()
          #59 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Laminas\Stratigility\Middleware\OriginalMessages->process()
          #60 /www/wwwroot/webname.com/tmtd/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle()
          #61 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePath->process()
          #62 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle()
          #63 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ProcessIp->process()
          #64 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle()
          #65 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(65): Laminas\Stratigility\MiddlewarePipe->process()
          #66 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle()
          #67 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
          #68 /www/wwwroot/webname.com/tmtd/public/index.php(26): Flarum\Http\Server->listen()
          #69 {main}
          
          Next Illuminate\Database\QueryException: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'unread_messages' (SQL: alter table `users` add `unread_messages` int not null) in /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php:703
          Stack trace:
          #0 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(663): Illuminate\Database\Connection->runQueryCallback()
          #1 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Connection.php(493): Illuminate\Database\Connection->run()
          #2 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Blueprint.php(109): Illuminate\Database\Connection->statement()
          #3 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Builder.php(365): Illuminate\Database\Schema\Blueprint->build()
          #4 /www/wwwroot/webname.com/tmtd/vendor/illuminate/database/Schema/Builder.php(212): Illuminate\Database\Schema\Builder->build()
          #5 /www/wwwroot/webname.com/tmtd/vendor/kyrne/whisper/migrations/2020_05_20_152335_add_fields_to_users.php(20): Illuminate\Database\Schema\Builder->table()
          #6 [internal function]: Illuminate\Filesystem\Filesystem::{closure}()
          #7 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(202): call_user_func()
          #8 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(133): Flarum\Database\Migrator->runClosureMigration()
          #9 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(116): Flarum\Database\Migrator->runUp()
          #10 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Database/Migrator.php(90): Flarum\Database\Migrator->runMigrationList()
          #11 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/Extension.php(503): Flarum\Database\Migrator->run()
          #12 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/ExtensionManager.php(311): Flarum\Extension\Extension->migrate()
          #13 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/ExtensionManager.php(182): Flarum\Extension\ExtensionManager->migrate()
          #14 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Extension/Command/ToggleExtensionHandler.php(36): Flarum\Extension\ExtensionManager->enable()
          #15 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Extension\Command\ToggleExtensionHandler->handle()
          #16 /www/wwwroot/webname.com/tmtd/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
          #17 /www/wwwroot/webname.com/tmtd/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
          #18 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
          #19 /www/wwwroot/webname.com/tmtd/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow()
          #20 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(43): Illuminate\Bus\Dispatcher->dispatch()
          #21 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): Flarum\Api\Controller\UpdateExtensionController->handle()
          #22 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}()
          #23 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ExecuteRoute->process()
          #24 /www/wwwroot/webname.com/tmtd/vendor/nearata/flarum-ext-twofactor/src/Http/Middleware/AuthenticateWithTwoFactor.php(37): Laminas\Stratigility\Next->handle()
          #25 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Nearata\TwoFactor\Http\Middleware\AuthenticateWithTwoFactor->process()
          #26 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle()
          #27 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\ThrottleApi->process()
          #28 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle()
          #29 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\CheckCsrfToken->process()
          #30 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle()
          #31 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ResolveRoute->process()
          #32 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle()
          #33 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\SetLocale->process()
          #34 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle()
          #35 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithHeader->process()
          #36 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle()
          #37 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithSession->process()
          #38 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle()
          #39 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\RememberFromCookie->process()
          #40 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle()
          #41 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\StartSession->process()
          #42 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle()
          #43 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\FakeHttpMethods->process()
          #44 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle()
          #45 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ParseJsonBody->process()
          #46 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle()
          #47 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\HandleErrors->process()
          #48 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle()
          #49 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\InjectActorReference->process()
          #50 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle()
          #51 /www/wwwroot/webname.com/tmtd/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process()
          #52 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\RequestHandler->process()
          #53 /www/wwwroot/webname.com/tmtd/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle()
          #54 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePathRouter->process()
          #55 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle()
          #56 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Laminas\Stratigility\Middleware\OriginalMessages->process()
          #57 /www/wwwroot/webname.com/tmtd/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle()
          #58 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePath->process()
          #59 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle()
          #60 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ProcessIp->process()
          #61 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle()
          #62 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(65): Laminas\Stratigility\MiddlewarePipe->process()
          #63 /www/wwwroot/webname.com/tmtd/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle()
          #64 /www/wwwroot/webname.com/tmtd/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
          #65 /www/wwwroot/webname.com/tmtd/public/index.php(26): Flarum\Http\Server->listen()
          #66 {main}

          Just to warn, it looks like there is nothing private about this in any way shape or form. The API exposes all chat's and other potentially sensitive user information to anyone that decides to query the API, and would then not be hard to script it.

          KyrneDev/whisper6 is what I've raised on Github, but I'd strongly suggest folks disable and remove this add-on...

            Wild1145 while waiting for @Kyrne response, a workaround is to edit vendor/kyrne/whisper/src/Api/Controllers/ListMessagesController.php and on line 40, replace ->get() with ->exists()

            I have added info to the GitHub issue about where the bug is in the extension.

            2 months later

            I wanted to know, is this extension still kept up to date? Is its support also maintained?
            There is a comma under the text editor just in case.