• Extensions
  • FriendsOfFlarum Byōbu, well integrated, advanced private discussions

  • [deleted]

  • Edited

luceos here's the problem, when we want to update flarum we have to disable third party extensions and the fact that disabling this extension makes all private discussions public is extremely inconvenient and having it deleted private discussions altogether is even worse :/

    [deleted] disabling third party extensions is a recommendation in case those extensions aren't compatible with the new release. Using these private discussions therefor means you have to wait for this extension to be compatible with that new release, before you run the update process. Or if we would go for the suggestion staion proposed disabling the extension before upgrade might allow you to hide everything up front and after enabling it again, make it visible..

    Both scenarios are possible.

      [deleted] that's a good point. Is there a way to mark them pending somehow? Maybe tap into the moderate feature.

      Or else maybe come up with a way that these never show publicly and turning off the extension just loses (temporary) access to them.

      luceos disabling the extension before upgrade might allow you to hide everything up front and after enabling it again, make it visible..

      That's kind of what I was getting at. ?

      • [deleted]

      luceos I don't think you got my point.... What i was saying is that during upgrading since we have to disable all third party plugins we will also have to disable this plugin so we will pretty much have all private discussions set to public and that won't be reversed when we enable the plugin back after the upgrade

        Csineneo

        tagged 0.1.0-beta.5 and 6:

        • includes adding groups as recipients
        • composer window now shows count
        • fixed issue with incorrect permission check, so outside of admins noone could create private discussions

        I had to change how event posts were created, the logic I had to reduce them to one if possible was too bloated.. You might see more of them now.

        Please note this is still a beta version. Make sure to create backups before hand and preferably install/update on non-production environments (first)!

          I have just encountered the following issue. Not sure how this should best be handled.

          I have one user who does not have permissions to post discussions without approval. However, they do have the ability to create private discussions with other users. Because of the permission limitation, these discussions are marked as pending. However, if they have initiated this discussion with a user who does not have permission to approve discussions, then the post is never presented to anyone for approval and is never seen by the user to which it was intended. Instead it will perpetually remain as a pending discussion.

            UaMV damn boy, you sure know how to find the edge cases ?. Nevertheless I've always preferred the most flexibility possible, so I'll accept your challenge.

            A future version will also have to allow flagged posts to be visible by admins without showing the whole private discussion..

              luceos
              I've tried again, with the beta 6 of your extension and I get the following message :

              POST https://domain/api/extensions/flagrow-byobu
              
              {
                "errors": [
                  {
                    "code": 500,
                    "title": "Internal server error",
                    "detail": "PDOException: SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint in /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Connection.php:390\nStack trace:\n#0 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Connection.php(390): PDOStatement->execute(Array)\n#1 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Connection.php(655): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}(Object(Illuminate\\Database\\MySqlConnection), 'alter table `fl...', Array)\n#2 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Connection.php(618): Illuminate\\Database\\Connection->runQueryCallback('alter table `fl...', Array, Object(Closure))\n#3 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Connection.php(391): Illuminate\\Database\\Connection->run('alter table `fl...', Array, Object(Closure))\n#4 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Schema/Blueprint.php(83): Illuminate\\Database\\Connection->statement('alter table `fl...')\n#5 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Schema/Builder.php(191): Illuminate\\Database\\Schema\\Blueprint->build(Object(Illuminate\\Database\\MySqlConnection), Object(Illuminate\\Database\\Schema\\Grammars\\MySqlGrammar))\n#6 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Schema/Builder.php(134): Illuminate\\Database\\Schema\\Builder->build(Object(Illuminate\\Database\\Schema\\Blueprint))\n#7 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flagrow/byobu/migrations/2017_01_20_000000_recipients.php(23): Illuminate\\Database\\Schema\\Builder->create('recipients', Object(Closure))\n#8 [internal function]: Illuminate\\Filesystem\\Filesystem->{closure}(Object(Illuminate\\Database\\Schema\\MySqlBuilder))\n#9 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/container/Container.php(507): call_user_func_array(Object(Closure), Array)\n#10 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Database/Migrator.php(202): Illuminate\\Container\\Container->call(Object(Closure))\n#11 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Database/Migrator.php(133): Flarum\\Database\\Migrator->runClosureMigration(Array)\n#12 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Database/Migrator.php(116): Flarum\\Database\\Migrator->runUp('/home/clients/4...', '2017_01_20_0000...', Object(Flarum\\Extension\\Extension))\n#13 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Database/Migrator.php(90): Flarum\\Database\\Migrator->runMigrationList('/home/clients/4...', Array, Object(Flarum\\Extension\\Extension))\n#14 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Extension/ExtensionManager.php(226): Flarum\\Database\\Migrator->run('/home/clients/4...', Object(Flarum\\Extension\\Extension))\n#15 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Extension/ExtensionManager.php(119): Flarum\\Extension\\ExtensionManager->migrate(Object(Flarum\\Extension\\Extension))\n#16 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(46): Flarum\\Extension\\ExtensionManager->enable('flagrow-byobu')\n#17 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Handler/ControllerRouteHandler.php(52): Flarum\\Api\\Controller\\UpdateExtensionController->handle(Object(Zend\\Stratigility\\Http\\Request))\n#18 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(71): Flarum\\Http\\Handler\\ControllerRouteHandler->__invoke(Object(Zend\\Stratigility\\Http\\Request), Array)\n#19 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\DispatchRoute->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#20 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#21 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#22 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\SetLocale->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#23 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#24 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(57): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#25 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\AuthenticateWithHeader->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#26 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#27 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(33): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#28 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\AuthenticateWithSession->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#29 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#30 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(38): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#31 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\RememberFromCookie->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#32 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#33 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/StartSession.php(33): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#34 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\StartSession->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#35 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#36 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(32): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#37 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Api\\Middleware\\FakeHttpMethods->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#38 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#39 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(30): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#40 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\ParseJsonBody->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#41 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#42 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(75): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#43 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/AbstractServer.php(53): Zend\\Stratigility\\MiddlewarePipe->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), NULL)\n#44 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-diactoros/src/Server.php(166): Flarum\\Http\\AbstractServer->__invoke(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Diactoros\\Response), NULL)\n#45 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/AbstractServer.php(34): Zend\\Diactoros\\Server->listen()\n#46 /home/clients/440651efa077926db06b61d64304e0c4/web/support/api.php(16): Flarum\\Http\\AbstractServer->listen()\n#47 {main}\n\nNext Illuminate\\Database\\QueryException: SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `flarum_recipients` add constraint recipients_discussion_id_foreign foreign key (`discussion_id`) references `flarum_discussions` (`id`) on delete cascade) in /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Connection.php:662\nStack trace:\n#0 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Connection.php(618): Illuminate\\Database\\Connection->runQueryCallback('alter table `fl...', Array, Object(Closure))\n#1 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Connection.php(391): Illuminate\\Database\\Connection->run('alter table `fl...', Array, Object(Closure))\n#2 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Schema/Blueprint.php(83): Illuminate\\Database\\Connection->statement('alter table `fl...')\n#3 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Schema/Builder.php(191): Illuminate\\Database\\Schema\\Blueprint->build(Object(Illuminate\\Database\\MySqlConnection), Object(Illuminate\\Database\\Schema\\Grammars\\MySqlGrammar))\n#4 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/database/Schema/Builder.php(134): Illuminate\\Database\\Schema\\Builder->build(Object(Illuminate\\Database\\Schema\\Blueprint))\n#5 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flagrow/byobu/migrations/2017_01_20_000000_recipients.php(23): Illuminate\\Database\\Schema\\Builder->create('recipients', Object(Closure))\n#6 [internal function]: Illuminate\\Filesystem\\Filesystem->{closure}(Object(Illuminate\\Database\\Schema\\MySqlBuilder))\n#7 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/illuminate/container/Container.php(507): call_user_func_array(Object(Closure), Array)\n#8 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Database/Migrator.php(202): Illuminate\\Container\\Container->call(Object(Closure))\n#9 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Database/Migrator.php(133): Flarum\\Database\\Migrator->runClosureMigration(Array)\n#10 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Database/Migrator.php(116): Flarum\\Database\\Migrator->runUp('/home/clients/4...', '2017_01_20_0000...', Object(Flarum\\Extension\\Extension))\n#11 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Database/Migrator.php(90): Flarum\\Database\\Migrator->runMigrationList('/home/clients/4...', Array, Object(Flarum\\Extension\\Extension))\n#12 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Extension/ExtensionManager.php(226): Flarum\\Database\\Migrator->run('/home/clients/4...', Object(Flarum\\Extension\\Extension))\n#13 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Extension/ExtensionManager.php(119): Flarum\\Extension\\ExtensionManager->migrate(Object(Flarum\\Extension\\Extension))\n#14 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(46): Flarum\\Extension\\ExtensionManager->enable('flagrow-byobu')\n#15 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Handler/ControllerRouteHandler.php(52): Flarum\\Api\\Controller\\UpdateExtensionController->handle(Object(Zend\\Stratigility\\Http\\Request))\n#16 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(71): Flarum\\Http\\Handler\\ControllerRouteHandler->__invoke(Object(Zend\\Stratigility\\Http\\Request), Array)\n#17 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\DispatchRoute->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#18 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#19 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#20 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\SetLocale->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#21 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#22 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(57): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#23 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\AuthenticateWithHeader->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#24 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#25 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(33): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#26 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\AuthenticateWithSession->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#27 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#28 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(38): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#29 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\RememberFromCookie->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#30 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#31 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/StartSession.php(33): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#32 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\StartSession->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#33 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#34 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(32): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#35 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Api\\Middleware\\FakeHttpMethods->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#36 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#37 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(30): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#38 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\ParseJsonBody->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#39 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#40 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(75): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#41 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/AbstractServer.php(53): Zend\\Stratigility\\MiddlewarePipe->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), NULL)\n#42 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/zendframework/zend-diactoros/src/Server.php(166): Flarum\\Http\\AbstractServer->__invoke(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Diactoros\\Response), NULL)\n#43 /home/clients/440651efa077926db06b61d64304e0c4/web/support/vendor/flarum/core/src/Http/AbstractServer.php(34): Zend\\Diactoros\\Server->listen()\n#44 /home/clients/440651efa077926db06b61d64304e0c4/web/support/api.php(16): Flarum\\Http\\AbstractServer->listen()\n#45 {main}"
                  }
                ]
              }
              

              It's impossible for me to activate the extension ?

                MathieuM drop the table recipients in your database, delete all rows in the migrations table that refer to extension flagrow/messaging or flagrow/byobu, uninstall (composer remove flagrow/byobu). Now try installing anew, if this doesn't work try a clean install.

                  luceos Works fine here ?

                  In addition, there should be a notification message when a user is added to the private discussions.

                  luceos includes adding groups as recipients

                  Also need to add the permission setting to limit who can adding groups as recipients. This feature may be used to send spam.

                    luceos
                    Same thing happens when uninstall / install again.

                    Perhaps I'm wrong but I find nothing in the migrations table, I can't see a row... But I've correctly removed the recipients table, migrate and clear:cache.

                    ?

                      Sometimes private discussions are not marked on the discussion list until I view this post.

                      image snip20170203-21.png

                      image snip20170203-23.png

                        Csineneo Also need to add the permission setting to limit who can adding groups as recipients. This feature may be used to send spam.

                        good point

                        Csineneo Sometimes private discussions are not marked on the discussion list until I view this post.

                        I've noticed that in the beginning too, will investigate further.

                        MathieuM Perhaps I'm wrong but I find nothing in the migrations table, I can't see a row... But I've correctly removed the recipients table, migrate and clear:cache.

                        Perhaps you are deleting in the wrong database or something. Very hard to tell..

                        MathieuM Perhaps I'm wrong but I find nothing in the migrations table, I can't see a row..

                        Not sure here, migrations table has entries once Flarum is installed.

                          @luceos Two group related issues:

                          1. 'is:private' gambit doesn't match the group recipient
                          2. A 401 error occurred when a user viewed a private discussion with a group recipient

                            Csineneo A 401 error occurred when a user viewed a private discussion with a group recipient

                            that user is also a recipient?

                              luceos No, this user is not an independent recipient, but belongs to the group.

                                Csineneo Ok then they might be related, I've fixed it in the dev-master. Have to do some tests though.. Thanks again for your thorough reports, they help a lot! ?