Should I do the upgrade since this extension ever works fine to me?
I will upgrade, for testing purpose.

Thanks

malago thanks for the fast fix, I will now update it at FreeFlarum

23 days later

I think this extension should remove the code "console.log(comment);"
File: vendor/malago/flarum-achievements/js/src/forum/index.js
Line: 101

    if (here == "1" && !this.attrs.post.data.attributes.isHidden) {
      this.attrs.post.data.attributes.achievements.forEach(function (item, index) {
        var rectangle = item.rectangle.split(',');
        if (item.image.includes("http")) {
          var style = "background:url(" + item.image + ");\
            background-position:-"+ rectangle[0] + "px -" + rectangle[1] + "px;\
            height:"+ rectangle[2] + "px;\
            width:"+ rectangle[3] + "px;\
            margin: -"+ (rectangle[3] / 4 - 4) + "px;";
          console.log(comment);
          comment.children[0].children[2].children.push(m(Tooltip, { text: item.name },
            m("span.Badge.Achievement", { style: style }, ""))
          );
        } else {
          comment.children[0].children[2].children.push(m(Tooltip, { text: item.name }, m("span.Badge.Achievement--Icon",
            m("i.icon." + item.image))
          ));
        }

    Joe_Zhu Thanks for finding it! They are really sneaky 🙂

    Update to 0.5.2 to get rid of that console.log!

    2 months later

    is it compatible with last version? I get an error on console.

      fakruzaruret I don't see any error on the console on my testing site (on 1.2.0 now). Could you tell me exactly on which line it appears, I might be able to find where it is that way.

      It is not line 130, but if you click on that link it will tell you what line. You can screenshot it or copy and paste.

      Thanks!

        7 days later

        fakruzaruret I found the error and made a fix for Flarum 1.2.0. Thanks for your report!

        Try to update and let me know if you find any other issue:

        composer update malago/flarum-achievements

        2 months later

        @malago I have this error in my log. I suspect, the extension has bug or may my installation isn't right.

         
        text/x-log flarum-2022-04-05.log ( ASCII text, with very long lines )
        [2022-04-05 02:00:03] flarum.INFO: [the-turk/flarum-diff] |> archive post's revisions 2022-04-05 02:00:03  
        [2022-04-05 15:42:12] flarum.ERROR: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '11-254' for key 'PRIMARY' in /home/kobocity/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117 Stack trace: #0 /home/kobocity/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(117): PDOStatement->execute(NULL) #1 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(501): Doctrine\DBAL\Driver\PDOStatement->execute() #2 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(705): Illuminate\Database\Connection->Illuminate\Database\{closure}('insert into `di...', Array) #3 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(672): Illuminate\Database\Connection->runQueryCallback('insert into `di...', Array, Object(Closure)) #4 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(502): Illuminate\Database\Connection->run('insert into `di...', Array, Object(Closure)) #5 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(454): Illuminate\Database\Connection->statement('insert into `di...', Array) #6 /home/kobocity/flarum/vendor/illuminate/database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert into `di...', Array) #7 /home/kobocity/flarum/vendor/illuminate/database/Query/Builder.php(3028): Illuminate\Database\Query\Processors\Processor->processInsertGetId(Object(Illuminate\Database\Query\Builder), 'insert into `di...', Array, 'id') #8 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Builder.php(1657): Illuminate\Database\Query\Builder->insertGetId(Array, 'id') #9 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(1188): Illuminate\Database\Eloquent\Builder->__call('insertGetId', Array) #10 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(1153): Illuminate\Database\Eloquent\Model->insertAndSetId(Object(Illuminate\Database\Eloquent\Builder), Array) #11 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(994): Illuminate\Database\Eloquent\Model->performInsert(Object(Illuminate\Database\Eloquent\Builder)) #12 /home/kobocity/flarum/vendor/flarum/core/src/Discussion/Command/ReadDiscussionHandler.php(56): Illuminate\Database\Eloquent\Model->save() #13 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Discussion\Command\ReadDiscussionHandler->handle(Object(Flarum\Discussion\Command\ReadDiscussion)) #14 /home/kobocity/flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Flarum\Discussion\Command\ReadDiscussion)) #15 /home/kobocity/flarum/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\Discussion\Command\ReadDiscussion)) #16 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #17 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow(Object(Flarum\Discussion\Command\ReadDiscussion)) #18 /home/kobocity/flarum/vendor/flarum/core/src/Api/Controller/UpdateDiscussionController.php(59): Illuminate\Bus\Dispatcher->dispatch(Object(Flarum\Discussion\Command\ReadDiscussion)) #19 /home/kobocity/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(115): Flarum\Api\Controller\UpdateDiscussionController->data(Object(Laminas\Diactoros\ServerRequest), Object(Tobscure\JsonApi\Document)) #20 /home/kobocity/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): Flarum\Api\Controller\AbstractSerializeController->handle(Object(Laminas\Diactoros\ServerRequest)) #21 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Laminas\Diactoros\ServerRequest), Array) #22 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ExecuteRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Closure)) #23 /home/kobocity/flarum/vendor/malago/flarum-achievements/src/Middlewares/MiddlewarePosted.php(27): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #24 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Malago\Achievements\Middlewares\MiddlewarePosted->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #25 /home/kobocity/flarum/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #26 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\ThrottleApi->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #27 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #28 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #29 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #30 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ResolveRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #31 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #32 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\SetLocale->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #33 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #34 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #35 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #36 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #37 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #38 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\RememberFromCookie->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #39 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #40 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\StartSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #41 /home/kobocity/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #42 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #43 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #44 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ParseJsonBody->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #45 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #46 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\HandleErrors->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #47 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #48 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\InjectActorReference->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #49 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #50 /home/kobocity/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #51 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\RequestHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #52 /home/kobocity/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #53 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePathRouter->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #54 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #55 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Laminas\Stratigility\Middleware\OriginalMessages->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #56 /home/kobocity/flarum/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #57 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePath->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #58 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #59 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ProcessIp->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #60 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #61 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(65): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler)) #62 /home/kobocity/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest)) #63 /home/kobocity/flarum/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run() #64 /home/kobocity/flarum/public/index.php(26): Flarum\Http\Server->listen() #65 {main} Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '11-254' for key 'PRIMARY' in /home/kobocity/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18 Stack trace: #0 /home/kobocity/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(119): Doctrine\DBAL\Driver\PDO\Exception::new(Object(PDOException)) #1 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(501): Doctrine\DBAL\Driver\PDOStatement->execute() #2 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(705): Illuminate\Database\Connection->Illuminate\Database\{closure}('insert into `di...', Array) #3 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(672): Illuminate\Database\Connection->runQueryCallback('insert into `di...', Array, Object(Closure)) #4 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(502): Illuminate\Database\Connection->run('insert into `di...', Array, Object(Closure)) #5 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(454): Illuminate\Database\Connection->statement('insert into `di...', Array) #6 /home/kobocity/flarum/vendor/illuminate/database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert into `di...', Array) #7 /home/kobocity/flarum/vendor/illuminate/database/Query/Builder.php(3028): Illuminate\Database\Query\Processors\Processor->processInsertGetId(Object(Illuminate\Database\Query\Builder), 'insert into `di...', Array, 'id') #8 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Builder.php(1657): Illuminate\Database\Query\Builder->insertGetId(Array, 'id') #9 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(1188): Illuminate\Database\Eloquent\Builder->__call('insertGetId', Array) #10 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(1153): Illuminate\Database\Eloquent\Model->insertAndSetId(Object(Illuminate\Database\Eloquent\Builder), Array) #11 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(994): Illuminate\Database\Eloquent\Model->performInsert(Object(Illuminate\Database\Eloquent\Builder)) #12 /home/kobocity/flarum/vendor/flarum/core/src/Discussion/Command/ReadDiscussionHandler.php(56): Illuminate\Database\Eloquent\Model->save() #13 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Discussion\Command\ReadDiscussionHandler->handle(Object(Flarum\Discussion\Command\ReadDiscussion)) #14 /home/kobocity/flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Flarum\Discussion\Command\ReadDiscussion)) #15 /home/kobocity/flarum/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\Discussion\Command\ReadDiscussion)) #16 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #17 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow(Object(Flarum\Discussion\Command\ReadDiscussion)) #18 /home/kobocity/flarum/vendor/flarum/core/src/Api/Controller/UpdateDiscussionController.php(59): Illuminate\Bus\Dispatcher->dispatch(Object(Flarum\Discussion\Command\ReadDiscussion)) #19 /home/kobocity/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(115): Flarum\Api\Controller\UpdateDiscussionController->data(Object(Laminas\Diactoros\ServerRequest), Object(Tobscure\JsonApi\Document)) #20 /home/kobocity/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): Flarum\Api\Controller\AbstractSerializeController->handle(Object(Laminas\Diactoros\ServerRequest)) #21 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Laminas\Diactoros\ServerRequest), Array) #22 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ExecuteRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Closure)) #23 /home/kobocity/flarum/vendor/malago/flarum-achievements/src/Middlewares/MiddlewarePosted.php(27): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #24 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Malago\Achievements\Middlewares\MiddlewarePosted->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #25 /home/kobocity/flarum/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #26 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\ThrottleApi->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #27 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #28 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #29 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #30 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ResolveRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #31 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #32 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\SetLocale->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #33 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #34 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #35 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #36 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #37 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #38 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\RememberFromCookie->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #39 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #40 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\StartSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #41 /home/kobocity/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #42 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #43 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #44 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ParseJsonBody->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #45 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #46 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\HandleErrors->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #47 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #48 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\InjectActorReference->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #49 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #50 /home/kobocity/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #51 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\RequestHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #52 /home/kobocity/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #53 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePathRouter->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #54 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #55 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Laminas\Stratigility\Middleware\OriginalMessages->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #56 /home/kobocity/flarum/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #57 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePath->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #58 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #59 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ProcessIp->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #60 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #61 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(65): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler)) #62 /home/kobocity/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest)) #63 /home/kobocity/flarum/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run() #64 /home/kobocity/flarum/public/index.php(26): Flarum\Http\Server->listen() #65 {main} Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '11-254' for key 'PRIMARY' (SQL: insert into `discussion_user` (`discussion_id`, `user_id`, `last_read_post_number`, `last_read_at`) values (254, 11, 3, 2022-04-05 15:42:12)) in /home/kobocity/flarum/vendor/illuminate/database/Connection.php:712 Stack trace: #0 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(672): Illuminate\Database\Connection->runQueryCallback('insert into `di...', Array, Object(Closure)) #1 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(502): Illuminate\Database\Connection->run('insert into `di...', Array, Object(Closure)) #2 /home/kobocity/flarum/vendor/illuminate/database/Connection.php(454): Illuminate\Database\Connection->statement('insert into `di...', Array) #3 /home/kobocity/flarum/vendor/illuminate/database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert into `di...', Array) #4 /home/kobocity/flarum/vendor/illuminate/database/Query/Builder.php(3028): Illuminate\Database\Query\Processors\Processor->processInsertGetId(Object(Illuminate\Database\Query\Builder), 'insert into `di...', Array, 'id') #5 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Builder.php(1657): Illuminate\Database\Query\Builder->insertGetId(Array, 'id') #6 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(1188): Illuminate\Database\Eloquent\Builder->__call('insertGetId', Array) #7 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(1153): Illuminate\Database\Eloquent\Model->insertAndSetId(Object(Illuminate\Database\Eloquent\Builder), Array) #8 /home/kobocity/flarum/vendor/illuminate/database/Eloquent/Model.php(994): Illuminate\Database\Eloquent\Model->performInsert(Object(Illuminate\Database\Eloquent\Builder)) #9 /home/kobocity/flarum/vendor/flarum/core/src/Discussion/Command/ReadDiscussionHandler.php(56): Illuminate\Database\Eloquent\Model->save() #10 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Discussion\Command\ReadDiscussionHandler->handle(Object(Flarum\Discussion\Command\ReadDiscussion)) #11 /home/kobocity/flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Flarum\Discussion\Command\ReadDiscussion)) #12 /home/kobocity/flarum/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Flarum\Discussion\Command\ReadDiscussion)) #13 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #14 /home/kobocity/flarum/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow(Object(Flarum\Discussion\Command\ReadDiscussion)) #15 /home/kobocity/flarum/vendor/flarum/core/src/Api/Controller/UpdateDiscussionController.php(59): Illuminate\Bus\Dispatcher->dispatch(Object(Flarum\Discussion\Command\ReadDiscussion)) #16 /home/kobocity/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(115): Flarum\Api\Controller\UpdateDiscussionController->data(Object(Laminas\Diactoros\ServerRequest), Object(Tobscure\JsonApi\Document)) #17 /home/kobocity/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): Flarum\Api\Controller\AbstractSerializeController->handle(Object(Laminas\Diactoros\ServerRequest)) #18 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Laminas\Diactoros\ServerRequest), Array) #19 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ExecuteRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Closure)) #20 /home/kobocity/flarum/vendor/malago/flarum-achievements/src/Middlewares/MiddlewarePosted.php(27): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #21 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Malago\Achievements\Middlewares\MiddlewarePosted->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #22 /home/kobocity/flarum/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #23 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\ThrottleApi->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #24 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #25 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #26 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #27 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ResolveRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #28 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #29 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\SetLocale->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #30 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #31 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #32 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #33 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #34 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #35 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\RememberFromCookie->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #36 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #37 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\StartSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #38 /home/kobocity/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #39 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #40 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #41 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ParseJsonBody->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #42 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #43 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\HandleErrors->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #44 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #45 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\InjectActorReference->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #46 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #47 /home/kobocity/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #48 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\RequestHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #49 /home/kobocity/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #50 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePathRouter->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #51 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #52 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Laminas\Stratigility\Middleware\OriginalMessages->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #53 /home/kobocity/flarum/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #54 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Middlewares\BasePath->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #55 /home/kobocity/flarum/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #56 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/Next.php(51): Flarum\Http\Middleware\ProcessIp->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next)) #57 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(76): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest)) #58 /home/kobocity/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(65): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler)) #59 /home/kobocity/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest)) #60 /home/kobocity/flarum/vendor/flarum/core/src/Http/Server.php(44): Laminas\HttpHandlerRunner\RequestHandlerRunner->run() #61 /home/kobocity/flarum/public/index.php(26): Flarum\Http\Server->listen() #62 {main}

          Ffuser1 The first error is from the-turk/flarum-diff. In my test forum I have that extension as well and I can't see that error.

          I would need more information, did you try to update to the latest version of flarum, flarum-diff and flarum-achievements?

            malago the first line is not error message but notification that archiving of posts that meet a certain criteria.

            All extensions are up to date as at today. I update all extensions on a daily basis.

              Ffuser1 Is it a specific action that throws that error? I tried the diff extension for a bit, tried to make many revisions and archive them manually but no error so far on the server side.

              I actually found another error when opening the revision panel with this diff extension that I will fix, but I want to make sure I catch your error as well before the update!

                malago it appears the error appears when you want to load the floating frame. For example when you select a particular revision to view (when using diff extension). Or when you select view voters (when using gamification extension).

                  Ffuser1 I think I found the error you reported, can you try to update to 0.5.5?

                  composer update malago/flarum-achievements

                  Thanks for helping me find it!

                    malago achievements images does not show up.

                    edit : pictures were very big, my fault.

                    It seems like there is a conflict between DIFF and Achievement. The editing record could not be seen when I turn achievement on. But I'm not sure if it's the problem on Achivement or DIFF.

                    And here is the report on console:

                    mount-redraw.jss:15 TypeError: Cannot read properties of undefined (reading 'split')
                    at t.n.fields (NewAchievementModal.jss:36:66)
                    at t.n.content (NewAchievementModal.jss:119:63)
                    at t.n.view (Modal.tsxx:110:19)
                    at Function.a (render.jss:30:16)
                    at render.jss:155:45
                    at render.jss:160:3
                    at c (render.jss:66:8)
                    at l (render.jss:50:5)
                    at f (render.jss:288:5)
                    at render.jss:477:5
                    a @ mount-redraw.jss:15
                    e.show @ ModalManagerState.tss:60
                    (anonymous) @ index.jss:121
                    Promise.then (async)
                    (anonymous) @ index.jss:119
                    Mr.forEach.t.<computed> @ extend.tss:39
                    e.save @ Model.tss:220
                    Mr.forEach.t.<computed> @ extend.tss:37
                    _ @ redrawPost.jss:9
                    e.redrawList @ DiffListState.jss:92
                    e.loadMore @ DiffListState.jss:36
                    e.load @ DiffListState.jss:26
                    i.onclick @ DiffDropdown.jss:78
                    L.handleEvent @ render.jss:888
                    mount-redraw.jss:15 TypeError: Cannot read properties of undefined (reading 'onbeforeremove')
                    at S (render.jss:636:59)
                    at N (render.jss:629:23)
                    at f (render.jss:373:45)
                    at render.jss:477:5
                    at p (render.jss:416:15)
                    at render.jss:488:9
                    at p (render.jss:419:9)
                    at render.jss:488:9
                    at p (render.jss:419:9)
                    at f (render.jss:302:11)
                    a @ mount-redraw.jss:15
                    e.show @ ModalManagerState.tss:60
                    (anonymous) @ index.jss:121
                    Promise.then (async)
                    (anonymous) @ index.jss:119
                    Mr.forEach.t.<computed> @ extend.tss:39
                    e.save @ Model.tss:220
                    Mr.forEach.t.<computed> @ extend.tss:37
                    _ @ redrawPost.jss:9
                    e.redrawList @ DiffListState.jss:92
                    (anonymous) @ DiffListState.jss:61
                    Promise.then (async)
                    e.loadMore @ DiffListState.jss:59
                    e.load @ DiffListState.jss:26
                    i.onclick @ DiffDropdown.jss:78
                    L.handleEvent @ render.jss:888
                    mount-redraw.jss:15 TypeError: Cannot read properties of undefined (reading 'onbeforeremove')
                    at S (render.jss:636:59)
                    at N (render.jss:629:23)
                    at f (render.jss:373:45)
                    at render.jss:477:5
                    at p (render.jss:416:15)
                    at render.jss:488:9
                    at p (render.jss:419:9)
                    at render.jss:488:9
                    at p (render.jss:419:9)

                      7 months later

                      I love this extension... thank you very much for your time in putting this together. Question, is there a way to add new conditions? I was looking for one that would be the number of replies (answers) someone gives.
                      Thanks!!

                      • ctml replied to this.

                        CharlieT one other option for you, you can combine these three extensions to achieve that.

                        If you only want to assign badges based on replies marked as best answer you can install that extension (optional), otherwise you can do the same on Discussions Participated (Replies). AutoModerator adds a custom badge if best answers > # you define, you just need to add the rule/automation to assign the Badge in AutoModerator after creating the Badge.