[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Állan Coinaski Coinaski
Criador Állan Coinaski Coinaski 13/07/2021

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

Criador Állan Coinaski Coinaski 13/07/2021

Echos.js:

O console.log com um texto também não está exibindo no console.

window.Echo.channel(`tenchat_database_private-chat.${userId}`)
.listen('NewMessageCreated',(e)=>{
    let conversation = e.message
    console.log('nao esta exibindo aqui');     
    if(store.state.chat.userConversation == null || store.state.chat.userConversation.id != conversation.sender.id 
        ){
            Vue.$vToastify.success(`
            Mensagem: ${message.conversation}
            `,`${conversation.sender.name} te enviou uma nova mensagem`)
        }else {
            conversation.me = false;
            store.state.chat.messages.push(conversation)
        }
 
})

 

Állan Coinaski Coinaski
Manager Carlos Ferreira 13/07/2021

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)

Carlos Ferreira
Manager Carlos Ferreira 13/07/2021

Mas antes, compara o seu código com o original do curso.

Carlos Ferreira
Criador Állan Coinaski Coinaski 13/07/2021

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

Állan Coinaski Coinaski
Manager Carlos Ferreira 13/07/2021

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?

Carlos Ferreira
Criador Állan Coinaski Coinaski 13/07/2021

Olá,

Estou usando o Laragon.

Filas, vc se referere ao comando php artisan queue:work ?

Állan Coinaski Coinaski
Criador Állan Coinaski Coinaski 13/07/2021

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))

...

 

 

Állan Coinaski Coinaski
Manager Carlos Ferreira 13/07/2021

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,

Carlos Ferreira
Criador Állan Coinaski Coinaski 13/07/2021

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)

 

Állan Coinaski Coinaski
Manager Carlos Ferreira 13/07/2021

E deixando o MessageResource assim, funciona?
'me' => true,

Carlos Ferreira
Criador Állan Coinaski Coinaski 13/07/2021

Olá,

Fiz essa alteração e ele joga o erro para o model de User, conforme na última movimentação

 

 

Állan Coinaski Coinaski
Manager Carlos Ferreira 13/07/2021

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.

Carlos Ferreira
Criador Állan Coinaski Coinaski 13/07/2021

Bom dia!

 

Mandei um email para [email protected]

 

abraços

Állan Coinaski Coinaski
Manager Carlos Ferreira 13/07/2021

Ok, vou te responder lá.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!