Não está exibindo em tempo real
Bom dia
Estou com um probleminha que as mensagens não estão exibindo em tempo real. Em anexo link da imagem, pode observar que a mutation add_message está sendo disparada, porém não exibe nada em tempo real.
Obs: O erros(todos) do console são referentes ao caminho da imagem.
Segue log no echo server:
[11:48:59] - K4FuKZWE6rQgTkdjAAAC authenticated for: tenchat_database_private-chat.12
[11:48:59] - K4FuKZWE6rQgTkdjAAAC joined channel: tenchat_database_private-chat.12
[11:48:59] - K4FuKZWE6rQgTkdjAAAC authenticated for: presence-tenchat_database_chatroom
[11:48:59] - K4FuKZWE6rQgTkdjAAAC joined channel: presence-tenchat_database_chatroom
Imagem:https://uploaddeimagens.com.br/imagens/9qNrAXc
Echos.js:
O console.log com um texto também não está exibindo no console.
Olá, Állan!
Tudo bem?
Tem um erro no path da imagem do perfil do usuário, se quiser postar o código no GitHub te ajudo a identificar onde errou.
----
Quando envia uma mensagem no chat, no laravel-echo-server, qual é o log?
Preciso ver os detalhes do channel (print)
Mas antes, compara o seu código com o original do curso.
Olá Carlos! Tudo sim e com você?
Entao, quando envia uma mensagem, o laravel-echo-server não mostra nada no console.
Os últimos logs que recebo do echo server são estes:
[22:32:15] - MYPEuvKKZ0BfUEnkAAAD authenticated for: tenchat_database_private-chat.12
[22:32:15] - MYPEuvKKZ0BfUEnkAAAD joined channel: tenchat_database_private-chat.12
[22:32:15] - MYPEuvKKZ0BfUEnkAAAD authenticated for: presence-tenchat_database_chatroom
[22:32:15] - MYPEuvKKZ0BfUEnkAAAD joined channel: presence-tenchat_database_chatroom
Comparei o código conforme o github disponibilizado mas não encontrei diferenças que poderiam influenciar. Deixo aqui o meu git para vizualização.
Quanto ao erro do caminho do arquivo já consegui resolver, então pode ignorar hehe
Obrigado!
https://github.com/AllanCoinaski/larachat-test
Obs: branch master
Certo, antes de rodar o seu projeto aqui (que será a ultima alternativa) preciso tirar algumas dúvidas com você primeiro.
Quais as configurações do seu setup? Docker? Docker com o Laradock? Outro, qual?
Como está as configurações de filas?
As filas estão processando quando dispara o novo evento?
Olá,
Estou usando o Laragon.
Filas, vc se referere ao comando php artisan queue:work ?
Olá,
Iniciei as filas com o comando acima e está gerando o seguinte log:
ErrorException: Trying to get property 'id' of non-object in C:\xamppdev\htdocs\larachat\app\Http\Resources\MessageResource.php:23
Stack trace:
#0 C:\xamppdev\htdocs\larachat\app\Http\Resources\MessageResource.php(23): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Trying to get p...', 'C:\\xamppdev\\htd...', 23, Array)
#1 C:\xamppdev\htdocs\larachat\vendor\laravel\framework\src\Illuminate\Http\Resources\Json\JsonResource.php(95): App\Http\Resources\MessageResource->toArray(Object(Illuminate\Http\Request))
...
Isso amigo, precisa manter o comando php artisan queue:work rodando para processar as filas (no caso o evento em fila).
Ou, no arquivo .env definir as filas como sync (não usar filas):
QUEUE_CONNECTION=sync
------------
Sobre o erro, está no MessageResource, aqui:
'me' => auth()->user()->id == $this->sender_id,
Você está autenticado?
Só para remover o erro, faz assim e teste novamente:
'me' => true,
Olá professor,
Realmente parece que não que estou logado, porém estou sim.
Alterei a linha no MessageResource e agora ele joga o erro para o model de User, parece que tem algo desconfigurado com o processo de autenticação que ele não consegue obter o id do user.
Segue erro:
ErrorException: Trying to get property 'id' of non-object in C:\xamppdev\htdocs\new-tenchat-ten\app\Models\User.php:58
Stack trace:
#0 C:\xamppdev\htdocs\new-tenchat-ten\app\Models\User.php(58): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Trying to get p...', 'C:\\xamppdev\\htd...', 58, Array)
E deixando o MessageResource assim, funciona?
'me' => true,
Olá,
Fiz essa alteração e ele joga o erro para o model de User, conforme na última movimentação
Os logs do erro não vieram com detalhes.
Me envia um e-mail, e vamos combinar um horário para eu acessar a sua maquina e te ajudar a resolver este problema.
No aguardo.
Ok, vou te responder lá.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!