WIP Extension Realtime chat with Pusher
I haven't done it yet, but when I do, it just crashes
diegoc if other Flarum tables like users
and discussions
exist but migrations
doesn't, something has gone wrong during the initial Flarum installation.
If that's the case, I'd recommend re-installing Flarum. Verify no error happens during installation.
Missing database tables could be caused by the PHP execution time being too short or PHP memory limit too low during installation, which might stop the install script very close to the end.
If some database tables are missing, you were probably also missing the original admin account and missing the default settings and permissions right after the installation.
clarkwinkelmann Thank you very much for your help. If I were to reinstall Flarum, how could I transfer the threads we already have and the users that have registered?
diegoc you could create a data-only database dump (so excluding structure), then use that dump to import the data into the newly created database.
You could skip the settings
and permissions
table, so that you can start fresh with the default settings and permissions. You might also need to delete the start admin user from the database before being able to import your existing users as two users would share the same ID.
clarkwinkelmann I will try that and report back! Again, thank you so much!
Xelson I intend to release an update next month.
How it's going? Everything on schedule? I've got few questions:
- It will be Flarum BETA 14 ready?
- Supporting Kyrne Websocket is still in plan?
- Any plans about requested multiple times option to display chat only for logged in users / only for specific groups?
- There will be option to give ability to open private channels only for specific groups?
Wadera Hello! I've been working on the chat for a month now.
- Depends on the update release date. Migrating on Mithril 2 will break everything related to front-end but in the middle of next month I'm leaving for army service and I won't be able to support the extension for more than a year;
- I have already implemented supporting but not tested;
- Censoring messages for unregistered users was implemented back in may, but I will definitely add option to censore the chat only for specific groups;
- It will be possible to create public channels and private conversations with one or multiple users.
Looks awesome. I'm hope that you will be able to release it for beta 14 before you start service!
One year without project owner... That may be hard for stable working and potential issue fixing
I'm hoping that some friends of flarum will be able to help in case of any potential crisis.
Xelson It will be possible to create public channels and private conversations with one or multiple users.
I mean if we can set permission to start private chats only for specific user groups, example for admins and mods?
Xelson option to censore the chat only for specific groups;
Censoring message is one thing, but what about completely hide whole chat interface?
Let me know if you need someone to get your extension tested with websockets - I'm ready to help!
Wadera I mean if we can set permission to start private chats only for specific user groups, example for admins and mods?
I plan to add a flag personally for any user to prohibit adding a user to any chat and this request conflicts with flag feature. We can ignore all users who have blocked adding them to any chat but will this work? Can you give an example of where this feature would be useful?
Wadera Censoring message is one thing, but what about completely hide whole chat interface?
Same thing. Can you explain why you need to hide the interface? Maybe we will come to a more universal option, because I implemented censorship in order to leave potential users interested in registering on the forum.
Wadera Let me know if you need someone to get your extension tested with websockets - I'm ready to help!
Great! You can try upgrade to dev-construct
branch of chat:
composer require xelson/flarum-ext-chat:dev-construct
php flarum migrate
php flarum cache:clear
I hope nothing breaks during upgrading. But keep in mind that this branch is even more unstable than dev-master
and it is only suitable for the test.
Blocking / allowing permission to some groups only:
- To minimize SPAM we have strict new users approval process. I don't want to let new, not yet verified users sending private messages to everyone who they can see.
- It can be too much if everyone will start creating own, public channels. I would leave this option for Administrators, so we can setup few for everyone.
Hide chat interface for person who don't have permission to use it:
It's not essential, but here we have example use cases:
- Testing period - It will be nice to have option to display chat only for admin / moderators and get it tested before public release, especially if something don't working as expected
- Don't bring SPAMERS attention - if they don't know that feature exist - they won't try to abuse it
Testing websocket
On my currently working forum (where I've tried to install your extension before) I have errors about missing tables:
From debug mode:
GET https://prod.forum.local/api/chats
{
"errors": [
{
"status": "500",
"code": "unknown",
"detail": "PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'prod_forum.neonchat_messages' doesn't exist in /home/prod/domains/prod.forum.local/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:77\nStack trace:\n#0 /home/prod/domains/prod.forum.local/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(77): PDO->prepare()\n#1 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(326): Doctrine\\DBAL\\Driver\\PDOConnection->prepare()\n#2 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(657): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}()\n#3 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback()\n#4 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\\Database\\Connection->run()\n#5 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\\Database\\Connection->select()\n#6 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2083): Illuminate\\Database\\Query\\Builder->runSelect()\n#7 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()\n#8 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2084): Illuminate\\Database\\Query\\Builder->onceWithColumns()\n#9 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(519): Illuminate\\Database\\Query\\Builder->get()\n#10 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(503): Illuminate\\Database\\Eloquent\\Builder->getModels()\n#11 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(155): Illuminate\\Database\\Eloquent\\Builder->get()\n#12 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(144): Illuminate\\Database\\Eloquent\\Relations\\Relation->get()\n#13 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(567): Illuminate\\Database\\Eloquent\\Relations\\Relation->getEager()\n#14 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(536): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelation()\n#15 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Collection.php(60): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelations()\n#16 /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/ListChatsController.php(65): Illuminate\\Database\\Eloquent\\Collection->load()\n#17 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\ListChatsController->data()\n#18 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#19 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#20 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#21 /home/prod/domains/prod.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#22 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#23 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#24 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#25 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(37): Laminas\\Stratigility\\Next->handle()\n#26 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#27 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#28 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#29 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#30 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#31 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#32 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#33 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#34 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#35 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#36 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#37 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#38 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#39 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#40 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#41 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#42 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#43 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#44 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#45 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#46 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#47 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#48 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#49 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#50 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#51 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#52 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#53 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#54 /home/prod/domains/prod.forum.local/flarum/public/index.php(22): Flarum\\Http\\Server->listen()\n#55 {main}\n\nNext Doctrine\\DBAL\\Driver\\PDO\\Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'prod_forum.neonchat_messages' doesn't exist in /home/prod/domains/prod.forum.local/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18\nStack trace:\n#0 /home/prod/domains/prod.forum.local/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(82): Doctrine\\DBAL\\Driver\\PDO\\Exception::new()\n#1 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(326): Doctrine\\DBAL\\Driver\\PDOConnection->prepare()\n#2 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(657): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}()\n#3 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback()\n#4 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\\Database\\Connection->run()\n#5 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\\Database\\Connection->select()\n#6 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2083): Illuminate\\Database\\Query\\Builder->runSelect()\n#7 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()\n#8 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2084): Illuminate\\Database\\Query\\Builder->onceWithColumns()\n#9 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(519): Illuminate\\Database\\Query\\Builder->get()\n#10 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(503): Illuminate\\Database\\Eloquent\\Builder->getModels()\n#11 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(155): Illuminate\\Database\\Eloquent\\Builder->get()\n#12 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(144): Illuminate\\Database\\Eloquent\\Relations\\Relation->get()\n#13 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(567): Illuminate\\Database\\Eloquent\\Relations\\Relation->getEager()\n#14 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(536): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelation()\n#15 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Collection.php(60): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelations()\n#16 /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/ListChatsController.php(65): Illuminate\\Database\\Eloquent\\Collection->load()\n#17 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\ListChatsController->data()\n#18 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#19 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#20 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#21 /home/prod/domains/prod.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#22 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#23 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#24 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#25 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(37): Laminas\\Stratigility\\Next->handle()\n#26 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#27 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#28 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#29 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#30 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#31 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#32 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#33 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#34 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#35 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#36 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#37 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#38 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#39 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#40 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#41 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#42 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#43 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#44 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#45 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#46 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#47 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#48 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#49 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#50 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#51 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#52 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#53 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#54 /home/prod/domains/prod.forum.local/flarum/public/index.php(22): Flarum\\Http\\Server->listen()\n#55 {main}\n\nNext Illuminate\\Database\\QueryException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'prod_forum.neonchat_messages' doesn't exist (SQL: select * from `neonchat_messages` where `deleted_by` is null and `neonchat_messages`.`chat_id` in (1) order by `id` desc) in /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php:664\nStack trace:\n#0 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback()\n#1 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Connection.php(333): Illuminate\\Database\\Connection->run()\n#2 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2095): Illuminate\\Database\\Connection->select()\n#3 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2083): Illuminate\\Database\\Query\\Builder->runSelect()\n#4 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2569): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()\n#5 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Query/Builder.php(2084): Illuminate\\Database\\Query\\Builder->onceWithColumns()\n#6 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(519): Illuminate\\Database\\Query\\Builder->get()\n#7 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(503): Illuminate\\Database\\Eloquent\\Builder->getModels()\n#8 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(155): Illuminate\\Database\\Eloquent\\Builder->get()\n#9 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Relations/Relation.php(144): Illuminate\\Database\\Eloquent\\Relations\\Relation->get()\n#10 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(567): Illuminate\\Database\\Eloquent\\Relations\\Relation->getEager()\n#11 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Builder.php(536): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelation()\n#12 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/database/Eloquent/Collection.php(60): Illuminate\\Database\\Eloquent\\Builder->eagerLoadRelations()\n#13 /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/ListChatsController.php(65): Illuminate\\Database\\Eloquent\\Collection->load()\n#14 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\ListChatsController->data()\n#15 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#16 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#17 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#18 /home/prod/domains/prod.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#19 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#20 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#21 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#22 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(37): Laminas\\Stratigility\\Next->handle()\n#23 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#24 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#25 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#26 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#27 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#28 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#29 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#30 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#31 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#32 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#33 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#34 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#35 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#36 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#37 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#38 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#39 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#40 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#41 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#42 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#43 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#44 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#45 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#46 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#47 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#48 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#49 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#50 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#51 /home/prod/domains/prod.forum.local/flarum/public/index.php(22): Flarum\\Http\\Server->listen()\n#52 {main}"
}
]
}
POST https://prod.forum.local/api/chats
{
"errors": [
{
"status": "400",
"code": "invalid_parameter",
"detail": "Xelson\\Chat\\Exceptions\\ChatEditException in /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Commands/CreateChatHandler.php:56\nStack trace:\n#0 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(90): Xelson\\Chat\\Commands\\CreateChatHandler->handle()\n#1 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\\Bus\\Dispatcher->Illuminate\\Bus\\{closure}()\n#2 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/pipeline/Pipeline.php(104): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#3 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(98): Illuminate\\Pipeline\\Pipeline->then()\n#4 /home/prod/domains/prod.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(76): Illuminate\\Bus\\Dispatcher->dispatchNow()\n#5 /home/prod/domains/prod.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/CreateChatController.php(64): Illuminate\\Bus\\Dispatcher->dispatch()\n#6 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\CreateChatController->data()\n#7 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractCreateController.php(22): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#8 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractCreateController->handle()\n#9 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#10 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#11 /home/prod/domains/prod.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#12 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#13 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#14 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#15 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\\Stratigility\\Next->handle()\n#16 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#17 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#18 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#19 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#20 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#21 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#22 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#23 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#24 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#25 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#26 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#27 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#28 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#29 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#30 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#31 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#32 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#33 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#34 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#35 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#36 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#37 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#38 /home/prod/domains/prod.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#39 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#40 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#41 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#42 /home/prod/domains/prod.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#43 /home/prod/domains/prod.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#44 /home/prod/domains/prod.forum.local/flarum/public/index.php(22): Flarum\\Http\\Server->listen()\n#45 {main}"
}
]
}
On new, empty, dev forum:
POST https://dev.forum.local/api/chatmessages
{
"errors": [
{
"status": "500",
"code": "unknown",
"detail": "TypeError: Argument 4 passed to Xelson\\Chat\\Commands\\PostMessage::__construct() must be of the type bool, null given, called in /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/PostMessageController.php on line 68 and defined in /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Commands/PostMessage.php:33\nStack trace:\n#0 /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/PostMessageController.php(68): Xelson\\Chat\\Commands\\PostMessage->__construct()\n#1 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\PostMessageController->data()\n#2 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#3 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#4 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#5 /home/dev/domains/dev.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#6 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#7 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#8 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#9 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\\Stratigility\\Next->handle()\n#10 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#11 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#12 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#13 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#14 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#15 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#16 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#17 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#18 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#19 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#20 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#21 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#22 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#23 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#24 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#25 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#26 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#27 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#28 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#29 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#30 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#31 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#32 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#33 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#34 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#35 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#36 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#37 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#38 /home/dev/domains/dev.forum.local/flarum/public/index.php(26): Flarum\\Http\\Server->listen()\n#39 {main}"
}
]
}
POST https://dev.forum.local/api/chats
{
"errors": [
{
"status": "400",
"code": "invalid_parameter",
"detail": "Xelson\\Chat\\Exceptions\\ChatEditException in /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Commands/CreateChatHandler.php:56\nStack trace:\n#0 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(90): Xelson\\Chat\\Commands\\CreateChatHandler->handle()\n#1 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\\Bus\\Dispatcher->Illuminate\\Bus\\{closure}()\n#2 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/pipeline/Pipeline.php(104): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#3 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(98): Illuminate\\Pipeline\\Pipeline->then()\n#4 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/bus/Dispatcher.php(76): Illuminate\\Bus\\Dispatcher->dispatchNow()\n#5 /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/CreateChatController.php(64): Illuminate\\Bus\\Dispatcher->dispatch()\n#6 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Xelson\\Chat\\Api\\Controllers\\CreateChatController->data()\n#7 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractCreateController.php(22): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#8 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractCreateController->handle()\n#9 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#10 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#11 /home/dev/domains/dev.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#12 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#13 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#14 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#15 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\\Stratigility\\Next->handle()\n#16 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#17 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#18 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#19 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#20 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#21 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#22 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#23 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#24 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#25 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#26 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#27 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#28 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#29 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#30 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#31 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#32 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#33 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#34 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#35 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#36 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#37 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#38 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#39 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#40 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#41 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#42 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#43 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#44 /home/dev/domains/dev.forum.local/flarum/public/index.php(26): Flarum\\Http\\Server->listen()\n#45 {main}"
}
]
}
Web Browser Console:
Pusher : : ["State changed","initialized -> connecting"]
pusher.js:3071 Pusher : : ["Connecting",{"transport":"ws","url":"wss://prod.forum.local:2083/app/Xl(...)yx3juZ?protocol=7&client=js&version=5.1.1&flash=false"}]
pusher.js:3071 Pusher : : ["State changed","connecting -> connected with new socket ID 748589760.479757014"]
pusher.js:3071 Pusher : : ["Event sent",{"event":"pusher:subscribe","data":{"auth":"","channel":"public"}}]
pusher.js:3071 Pusher : : ["Event recd",{"event":"pusher_internal:subscription_succeeded","channel":"public"}]
pusher.js:3071 Pusher : : ["No callbacks on public for pusher:subscription_succeeded"]
pusher.js:3071 Pusher : : ["Event sent",{"event":"pusher:subscribe","data":{"auth":"XlJC4(...)a7c3","channel":"private-user1"}}]
pusher.js:3071 Pusher : : ["Event recd",{"event":"pusher_internal:subscription_succeeded","channel":"private-user1"}]
pusher.js:3071 Pusher : : ["No callbacks on private-user1 for pusher:subscription_succeeded"]
mithril.js:2191 POST https://dev.forum.local/api/chatmessages 500
(anonymous) @ mithril.js:2191
(anonymous) @ mithril.js:2199
y.request @ mithril.js:2288
e.request @ Application.js:293
e.save @ Model.js:159
messagePost @ ChatViewport.js:477
messageSend @ ChatViewport.js:385
inputPressEnter @ ChatViewport.js:328
L.t.<computed> @ mithril.js:1286
I think faster testing will be available when we can get some direct chat (Discord on Flarum? My nick is Wadera - you can catch me if you need more tests )
Wadera Blocking / allowing permission to some groups only:
To minimize SPAM we have strict new users approval process. I don't want to let new, not yet verified users sending private messages to everyone who they can see.
It can be too much if everyone will start creating own, public channels. I would leave this option for Administrators, so we can setup few for everyone.
Well, this is exactly what I wanted to do initially, I just did not understand you. Alright
Wadera Hide chat interface for person who don't have permission to use it:
It's not essential, but here we have example use cases:Testing period - It will be nice to have option to display chat only for admin / moderators and get it tested before public release, especially if something don't working as expected
Don't bring SPAMERS attention - if they don't know that feature exist - they won't try to abuse it
It sounds convincing, i think i'll add this feature in next update
Wadera On my currently working forum (where I've tried to install your extension before) I have errors about missing tables
Are you sure that you completed flarum migration successfully?
Wadera On new, empty, dev forum:
Ohh sorry, i forgot to push working version to branch Can you upgrade and test it now?
Wadera I think faster testing will be available when we can get some direct chat
Thanks, i'll text you if necessary
On my old forum - still missing table - migrate script didn't create new one for some reason...
On empty forum - debug error:
POST https://dev.forum.local/api/chatmessages
{
"errors": [
{
"status": "500",
"code": "unknown",
"detail": "Error: Call to a member function trigger() on bool in /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/ChatSocket.php:31\nStack trace:\n#0 /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/ChatSocket.php(26): Xelson\\Chat\\ChatSocket->sendPublic()\n#1 /home/dev/domains/dev.forum.local/flarum/vendor/xelson/flarum-ext-chat/src/Api/Controllers/PostMessageController.php(88): Xelson\\Chat\\ChatSocket->sendChatEvent()\n#2 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/events/Dispatcher.php(360): Xelson\\Chat\\Api\\Controllers\\PostMessageController->onWillSerializeData()\n#3 /home/dev/domains/dev.forum.local/flarum/vendor/illuminate/events/Dispatcher.php(209): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}()\n#4 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(99): Illuminate\\Events\\Dispatcher->dispatch()\n#5 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\\Api\\Controller\\AbstractSerializeController->handle()\n#6 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}()\n#7 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process()\n#8 /home/dev/domains/dev.forum.local/flarum/vendor/kilowhat/flarum-ext-audit-free/src/Middlewares/SetLoggerActor.php(28): Laminas\\Stratigility\\Next->handle()\n#9 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Kilowhat\\Audit\\Middlewares\\SetLoggerActor->process()\n#10 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle()\n#11 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process()\n#12 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\\Stratigility\\Next->handle()\n#13 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process()\n#14 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle()\n#15 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process()\n#16 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle()\n#17 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process()\n#18 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle()\n#19 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process()\n#20 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle()\n#21 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process()\n#22 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle()\n#23 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process()\n#24 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle()\n#25 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process()\n#26 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle()\n#27 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process()\n#28 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#29 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process()\n#30 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process()\n#31 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle()\n#32 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process()\n#33 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle()\n#34 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process()\n#35 /home/dev/domains/dev.forum.local/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle()\n#36 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process()\n#37 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle()\n#38 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process()\n#39 /home/dev/domains/dev.forum.local/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle()\n#40 /home/dev/domains/dev.forum.local/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#41 /home/dev/domains/dev.forum.local/flarum/public/index.php(26): Flarum\\Http\\Server->listen()\n#42 {main}"
}
]
}
End Browser console:
Pusher : : ["State changed","initialized -> connecting"]
pusher.js:3071 Pusher : : ["Connecting",{"transport":"ws","url":"wss://prod.forum.local:2083/app/XlJC(...)yx3juZ?protocol=7&client=js&version=5.1.1&flash=false"}]
pusher.js:3071 Pusher : : ["State changed","connecting -> connected with new socket ID 380635890.993837234"]
pusher.js:3071 Pusher : : ["Event sent",{"event":"pusher:subscribe","data":{"auth":"","channel":"public"}}]
pusher.js:3071 Pusher : : ["Event recd",{"event":"pusher_internal:subscription_succeeded","channel":"public"}]
pusher.js:3071 Pusher : : ["No callbacks on public for pusher:subscription_succeeded"]
pusher.js:3071 Pusher : : ["Event sent",{"event":"pusher:subscribe","data":{"auth":"XlJC4VV(...)h9tyx3juZ:8de286(...)e116","channel":"private-user2"}}]
pusher.js:3071 Pusher : : ["Event recd",{"event":"pusher_internal:subscription_succeeded","channel":"private-user2"}]
pusher.js:3071 Pusher : : ["No callbacks on private-user2 for pusher:subscription_succeeded"]
mithril.js:2191 POST https://dev.forum.local/api/chatmessages 500
(anonymous) @ mithril.js:2191
(anonymous) @ mithril.js:2199
y.request @ mithril.js:2288
e.request @ Application.js:293
e.save @ Model.js:159
messagePost @ ChatViewport.js:477
messageSend @ ChatViewport.js:385
inputPressEnter @ ChatViewport.js:328
L.t.<computed> @ mithril.js:1286
Discord: #3202
It's alive on my test forum!
Problem with missing table still persists
I've tried to copy this table between databases without luck (but this error can be helpful):
me@myhost $ mysqldump --user=SecretUser --password=SecretPasswrd dev_forum neonchat_messages | mysql --user=SecretUser --password=SecretPasswrd prd_forum
ERROR 1005 (HY000) at line 25: Can't create table `prd_forum`.`neonchat_messages` (errno: 121 "Duplicate key on write or update")