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

mueenulit #Idea
Currently, Only the user who started the private discussion can add more recipients. It would be better if anyone in the discussion could add recipients.. Sorry for bad English...

Don't think that this is a good idea tbh.
It's a private discussion for a reason and if the discussion opener won't add other users then no other user should be able to do it.

Except:
If the private discussion owner is able to give rights to invited users, so they can invite others. This would meet your requirements maybe and would be a better solution imho.

Hi there could be a bug that:
It does not prompt the users to fill the content of discussion if they only fill in the title but not the content. And this could be result in: this discussion will show in the discussion list with sorting order of “show latest discussion “

13 days later

Hello,

I realize than in user-profiles, the total message count includes the private messages sent with Byobu. I realized that because of new users having displayed "1 message", but there is nothing to read when you click on it.

I don't know if it's something depending of Byobu or of the profile section, but I think it would be more clear if those private messages weren't included in the message count.

a month later

I'm not sure if you're already aware of this, but when all participants leave a conversation it become visible to all moderators

    hrvoje_hr we plan to allow hard deleting the discussion as part of the administrator settings in the future. We just didn't get to developing that yet.

    Edited after reviewing the comments in the post

    Hi! Sorry for asking these questions as I had a hard time skimming for the answers in the 1.1k posts:

    Question: Depending on the permission settings, "Private Discussions" will remain empty unless somebody from the Admin or Moderator group sends me a message, correct? So if the permission level is set to "Members" then does that mean members can send each other private messages?

    • Yes, depending on how you set the permission level, only the creator and recipient can access the private discussion. At this point in time, only the creator can add more recipients to the private discussion.

    Question: Can Admins and/or Moderators access a private discussion between two forum members?

    • No, unless the admin or moderator is the creator or recipient of the private discussion. It may confuse first-time users though because it looks like a regular discussion, but it is actually a private one. Think of PM in a discussion format.

    Question: Lastly, can any participant of the discussion delete their own posts inside the private discussion?

    • Like a regular discussion, participants can delete their own posts and even leave the discussion. In the near future, an option to hard delete the discussion will be offered.

    Please ignore this comment as I have found the answers to my own questions.

    Hey, I just installed this extension, when I enabled it I got a boot error, in the logs I get this error over and over again, any hints on what's going on to fix it?

    flarum.ERROR: Error: Class "FoF\Byobu\Notifications\DiscussionCreatedBlueprint" not found in /var/www/flarum/vendor/flarum/core/src/Extend/Notification.php:37 Stack trace:
    
    #0 /var/www/flarum/vendor/fof/byobu/extend.php(122): Flarum\Extend\Notification->type()
    #1 /var/www/flarum/vendor/flarum/core/src/Extension/Extension.php(376): require('...')
    #2 /var/www/flarum/vendor/flarum/core/src/Extension/Extension.php(139): Flarum\Extension\Extension->getExtenders()
    #3 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(382): Flarum\Extension\Extension->extend()
    #4 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionServiceProvider.php(31): Flarum\Extension\ExtensionManager->extend()
    #5 [internal function]: Flarum\Extension\ExtensionServiceProvider->Flarum\Extension\{closure}()
    #6 /var/www/flarum/vendor/flarum/core/src/Foundation/Application.php(329): call_user_func()
    #7 /var/www/flarum/vendor/flarum/core/src/Foundation/Application.php(270): Flarum\Foundation\Application->fireAppCallbacks()
    #8 /var/www/flarum/vendor/flarum/core/src/Foundation/InstalledSite.php(151): Flarum\Foundation\Application->boot()
    #9 /var/www/flarum/vendor/flarum/core/src/Foundation/InstalledSite.php(82): Flarum\Foundation\InstalledSite->bootLaravel()
    #10 /var/www/flarum/vendor/flarum/core/src/Http/Server.php(58): Flarum\Foundation\InstalledSite->bootApp()
    #11 /var/www/flarum/vendor/flarum/core/src/Http/Server.php(35): Flarum\Http\Server->safelyBootAndGetHandler()
    #12 /var/www/flarum/public/index.php(26): Flarum\Http\Server->listen()
    #13 {main}

      Darkle About this, just for update, I have disabled all the extensions one by one, to find compatibility issues, even the core ones (I only left the English language pack), and I still get the same error, I'm quite confused about it, could it be something in the environment? I don't think that makes too much sense...

      Sometimes in the logs I got the same error but with a bigger stack trace, not sure if it's useful:

      [2022-11-03 03:34:41] flarum.ERROR: Error: Class "FoF\Byobu\Notifications\DiscussionCreatedBlueprint" not found in /var/www/flarum/vendor/flarum/core/src/Extend/Notification.php:37
      Stack trace:
      #0 /var/www/flarum/vendor/fof/byobu/extend.php(122): Flarum\Extend\Notification->type()
      #1 /var/www/flarum/vendor/flarum/core/src/Extension/Extension.php(376): require('...')
      #2 /var/www/flarum/vendor/flarum/core/src/Extension/Extension.php(391): Flarum\Extension\Extension->getExtenders()
      #3 /var/www/flarum/vendor/flarum/core/src/Extension/Extension.php(306): Flarum\Extension\Extension->getLifecycleExtenders()
      #4 /var/www/flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(208): Flarum\Extension\Extension->enable()
      #5 /var/www/flarum/vendor/flarum/core/src/Extension/Command/ToggleExtensionHandler.php(36): Flarum\Extension\ExtensionManager->enable()
      #6 /var/www/flarum/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Extension\Command\ToggleExtensionHandler->handle()
      #7 /var/www/flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
      #8 /var/www/flarum/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
      #9 /var/www/flarum/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
      #10 /var/www/flarum/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow()
      #11 /var/www/flarum/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(43): Illuminate\Bus\Dispatcher->dispatch()
      #12 /var/www/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): Flarum\Api\Controller\UpdateExtensionController->handle()
      #13 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}()
      #14 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ExecuteRoute->process()
      #15 /var/www/flarum/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle()
      #16 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Api\Middleware\ThrottleApi->process()
      #17 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle()
      #18 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\CheckCsrfToken->process()
      #19 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle()
      #20 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ResolveRoute->process()
      #21 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle()
      #22 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\SetLocale->process()
      #23 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle()
      #24 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\AuthenticateWithHeader->process()
      #25 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle()
      #26 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\AuthenticateWithSession->process()
      #27 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle()
      #28 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\RememberFromCookie->process()
      #29 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle()
      #30 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\StartSession->process()
      #31 /var/www/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle()
      #32 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Api\Middleware\FakeHttpMethods->process()
      #33 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle()
      #34 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ParseJsonBody->process()
      #35 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle()
      #36 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\HandleErrors->process()
      #37 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle()
      #38 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\InjectActorReference->process()
      #39 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(75): Laminas\Stratigility\Next->handle()
      #40 /var/www/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process()
      #41 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\RequestHandler->process()
      #42 /var/www/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle()
      #43 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\BasePathRouter->process()
      #44 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle() 
      #45 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Laminas\Stratigility\Middleware\OriginalMessages->process()
      #46 /var/www/flarum/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle()
      #47 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\BasePath->process()
      #48 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle()
      #49 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ProcessIp->process()
      #50 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(75): Laminas\Stratigility\Next->handle()
      #51 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(64): Laminas\Stratigility\MiddlewarePipe->process()
      #52 /var/www/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle()
      #53 /var/www/flarum/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
      #54 /var/www/flarum/public/index.php(26): Flarum\Http\Server->listen()
      #55 {main}

        Darkle a likely reason would be that the Composer classmap is out of date. You can try running composer dump-autoload again to re-generate it. It would also be re-generated each time you install or uninstall an extension though Composer.

          clarkwinkelmann I have run that command and it doesn't seem to fix it, also the log type doesn't change, I have also tried to delete the composer.lock and generate it again with composer update but no change.

            luceos I'm trying to install the latest one with "*", I remember I used it almost two years ago on this same site/database, could it be something from the database when I used it at that time?

              Darkle no the database can't affect that. Is opcache enabled?

                luceos Yes, it's enabled, should I check something on it?

                  luceos Finally! When I restarted php-fpm, it completely crashed the site (HTTP ERROR 500), so I disable opcache completely, that brought the site back up and with that I could finally enable Byōbu without problems.

                  Honestly how do you guys come up with these things? experience? no way I would have thought it could be opcache 🤦‍♂️

                  I'm going to check the opcache settings because the ones I was using seem to be problematic, thanks a lot.

                    Darkle Honestly how do you guys come up with these things? experience?

                    Yes.

                    The longer it takes to resolve, the better the lesson. I won't bore you about that time that my code triggered segmentation faults in production, caused by one specific php version. Segmentation faults are notoriously hard to solve, I haven't encountered any since the early PHP 7 days. It took me over a week to solve.

                    hrvoje_hr

                    m4v3rick If one user opens a private discussion with another one and both later leave this discussion, the discussion still exists but seems to lose the "private"-tag. It is then a discussion without any tag but suddenly visible to Admin and Supermod/Mod.

                    Please, add option to hide private discussion in page All Discussion.
                    I think need add specified id "PrivateDiscussion" to div "DiscussionListItem" and after add css for this id display: none

                    Or add hidden tag private-discussion for private discussion and use extension Flarum/Tags to hide discussion with this tag private-discussion on page All Discussion.

                    9 days later

                    Hi, we are working in www.forandoavela.es and while using this plugin we have identified a bug.

                    When trying to send a private message through an user profile, the window to create the message is empty and unresponsive (see a snapshot here https://photos.app.goo.gl/aUG97okVFiugYvVAA).

                    It does work if you go to private messages section and create a new private message.

                    Can anyone help me with this? Let me know if you need any further information.