@JohnP One particular quirk is that this extension MUST be enabled before approval. This is fixed with the next release of approval, but for now this is one of the major reasons why I wouldn't recommend tagging this as broadly compatible.
FriendsOfFlarum Byōbu, well integrated, advanced private discussions
FriendsOfFlarum Issue
I am getting the issue of The requested resource was not found.
POST https://site.com/api/discussions
Illuminate\Database\Eloquent\ModelNotFoundException: No query results for model [Flarum\Discussion\Discussion]. in /path_to_site/vendor/illuminate/database/Eloquent/Builder.php:503
Stack trace:
#0 /path_to_site/vendor/flarum/core/src/Discussion/DiscussionRepository.php(39): Illuminate\Database\Eloquent\Builder->firstOrFail()
#1 /path_to_site/vendor/flarum/core/src/Discussion/Command/ReadDiscussionHandler.php(47): Flarum\Discussion\DiscussionRepository->findOrFail(425, Object(Flarum\User\User))
#2 /path_to_site/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Discussion\Command\ReadDiscussionHandler->handle(Object(Flarum\Discussion\Command\ReadDiscussion))
#3 /path_to_site/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Flarum\Discussion\Command\ReadDiscussion))
#4 /path_to_site/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\Discussion\Command\ReadDiscussion))
#5 /path_to_site/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#6 /path_to_site/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow(Object(Flarum\Discussion\Command\ReadDiscussion))
#7 /path_to_site/vendor/flarum/core/src/Api/Controller/CreateDiscussionController.php(68): Illuminate\Bus\Dispatcher->dispatch(Object(Flarum\Discussion\Command\ReadDiscussion))
#8 /path_to_site/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(102): Flarum\Api\Controller\CreateDiscussionController->data(Object(Laminas\Diactoros\ServerRequest), Object(Tobscure\JsonApi\Document))
#9 /path_to_site/vendor/flarum/core/src/Api/Controller/AbstractCreateController.php(22): Flarum\Api\Controller\AbstractSerializeController->handle(Object(Laminas\Diactoros\ServerRequest))
#10 /path_to_site/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\Api\Controller\AbstractCreateController->handle(Object(Laminas\Diactoros\ServerRequest))
#11 /path_to_site/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Laminas\Diactoros\ServerRequest), Array)
#12 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ExecuteRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Closure))
#13 /path_to_site/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#14 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Api\Middleware\ThrottleApi->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#15 /path_to_site/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#16 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#17 /path_to_site/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#18 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ResolveRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /path_to_site/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#20 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\SetLocale->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#21 /path_to_site/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#22 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#23 /path_to_site/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#25 /path_to_site/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#26 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\RememberFromCookie->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#27 /path_to_site/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#28 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\StartSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /path_to_site/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#30 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#31 /path_to_site/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#32 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ParseJsonBody->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#33 /path_to_site/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#34 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\HandleErrors->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /path_to_site/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#36 /path_to_site/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#37 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\RequestHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /path_to_site/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePathRouter->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#40 /path_to_site/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\Stratigility\Middleware\OriginalMessages->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /path_to_site/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#43 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePath->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#44 /path_to_site/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#45 /path_to_site/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ProcessIp->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#46 /path_to_site/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /path_to_site/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#48 /path_to_site/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#49 /path_to_site/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
#50 /path_to_site/index.php(26): Flarum\Http\Server->listen()
#51 {main}
Bishwas-py On beta 16?
askvortsov Yupp!
Bishwas-py there's issues with approval sometimes. Try disabling approval. This is fixed for 1.0
askvortsov Try disabling approval
Dumb question How to do that? I tried to find this option but I couldn't.
- Edited
Arnold the approval extension. Also keep in mind that byobu is officially incompatible with beta 16.
Not officially compatible but we have it working without too many quirks (that I've noticed up till now) - approval is off, but we don't use it anyway, so that's no big issue.
It doesn't work at all for me since beta-15. Long (public) threads fail when Byobu is enabled.
I guess it's a known issue. But I think even if it works for you now, it may not work once threads get to a certain length FYI.
I greatly appreciate the work of @luceos and others. But I've always been baffled why Flarum can't figure out a basic private messaging system. It's a highly used feature in our community and a fundamental feature in all other forum platforms.
Bishwas-py the same issue
askvortsov yes, can fix the "The requested resource was not found." problem now by disable "approval"
- Edited
How many posts do you have in the threads? It looks like Byōbu and beta-16 slow down the API read requests so threads about 150+ posts cause a definitive timeouts. I'll do a deeper check later.
1.0.0-beta.1
Not recommended for production communities
- Flarum 1.0 (required)
- Some performance gains (I'm aware that more are needed, hence the
beta
tag)
Your feedback is critical - please provide as much information as neccessary to help bring this extension into shape as soon as possible ️
Installing
composer require fof/byobu:^1.0.0-beta.1
php flarum cache:clear
Flarum core 1.0.1
PHP version: 7.4.16
Loaded extensions: Core, date, libxml, openssl, pcre, zlib, filter, hash, pcntl, Reflection, SPL, session, standard, sodium, mysqlnd, PDO, xml, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, gmp, iconv, imap, intl, j son, exif, mysqli, pdo_mysql, Phar, posix, readline, shmop, SimpleXML, soap, soc kets, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlrpc, xmlwriter, xsl, z ip, Zend OPcache
+-------------------------------+--------------+--------+
| Flarum Extensions | | |
+-------------------------------+--------------+--------+
| ID | Version | Commit |
+-------------------------------+--------------+--------+
| flarum-flags | v1.0.0 | |
| flarum-approval | v1.0.0 | |
| flarum-tags | v1.0.1 | |
| flarum-suspend | v1.0.0 | |
| flarum-subscriptions | v1.0.0 | |
| fof-byobu | 1.0.0-beta.1 | |
| phenomlab-fancybox-wrapper | 0.8 | |
| fof-github-autolink | 1.0.0 | |
| fof-drafts | 1.0.0 | |
| askvortsov-markdown-tables | v1.2.1 | |
| flarum-markdown | v1.0.1 | |
| zerosonesfun-member | 0.2 | |
| clarkwinkelmann-circle-groups | 1.0.0 | |
| fof-upload | 1.0.1 | |
| flarum-lock | v1.0.0 | |
| askvortsov-pwa | v3.0.3 | |
| fof-username-request | 1.0.0 | |
| fof-user-bio | 1.0.0 | |
| fof-split | 1.0.0 | |
| fof-sitemap | 1.0.0 | |
| fof-pages | 1.0.0 | |
| fof-links | 1.0.0 | |
| fof-follow-tags | 1.0.0 | |
| fof-best-answer | 1.0.0 | |
| tolgaaaltas-lang-turkish | 1.0.2 | |
| flarum-lang-english | v1.0.0 | |
| flarum-emoji | v1.0.0 | |
| flarum-bbcode | v1.0.0 | |
| flarum-mentions | v1.0.0 | |
| flarum-sticky | v1.0.0 | |
| flarum-likes | v1.0.0 | |
| flarum-statistics | v1.0.0 | |
| flarum-pusher | v1.0.0 | |
| tolgaaaltas-turkish | 1.0.2 | |
| fof-formatting | 1.0.0 | |
| fof-nightmode | 1.0.0 | |
| fof-profile-image-crop | 1.0.0 | |
| fof-spamblock | 1.0.0 | |
| fof-subscribed | 1.0.0 | |
| fof-user-directory | 1.0.1 | |
| askvortsov-moderator-warnings | v0.6.0 | |
| zerosonesfun-direct-links | 2.1 | |
| fof-analytics | 1.0.0 | |
| fof-oauth | 1.0.0 | |
| fof-filter | 1.0.0 | |
| v17development-seo | v1.8.0 | |
+-------------------------------+--------------+--------+