Observação: no momento, há um pequeno número de desenvolvedores ativos no projeto. Por isso, não podemos responder e marcar todos os problemas abertos imediatamente, mas os notamos e lemos. Bons relatórios de bugs nos fornecem um feedback importante, pelo qual agradecemos e sempre apreciamos.
Guia de relatório de bugs
Este guia inclui instruções passo a passo para relatar bugs e problemas que você encontrar no Jami.
Configure o seu ambiente
Esteja preparado para a perda de dados. Faça backup de sua conta e vincule-a ao maior número possível de dispositivos.
Instale a versão mais recente (ou mesmo uma versão beta) do Jami. Relatar bugs/problemas em versões mais antigas é menos útil, e é provável que já tenham sido corrigidos em versões mais recentes.
Como relatar um bug
Crie uma conta no Jami GitLab se você ainda não tiver uma.
Escolha o projeto certo para publicar seu problema:
O cliente macOS (descontinuado em favor do cliente Qt)
Se você sabe o que está fazendo, pode escolher um dos outros projetos
Se tiver vários problemas, por favor, envie relatórios separados de bugs. Será muito mais fácil acompanhá-los dessa forma.
O título é um resumo explícito do bug (por exemplo: barra de cabeçalho é muito grande devido ao tamanho do ícone)
Descubra os passos para reproduzir o bug:
Se você tiver passos precisos para reproduzir o problema (ótimo!), estará no caminho certo para criar um relatório de bug útil.
Se você conseguir reproduzir ocasionalmente, mas não depois de seguir etapas específicas, forneça informações adicionais sobre o problema para ajudar outras pessoas a entendê-lo e tentar reproduzi-lo.
Se você não conseguir reproduzir o problema, pode haver pouca chance de que ele possa ser razoavelmente corrigido. Se você relatar o problema, faça o possível para fornecer o máximo possível de informações/indícios sobre sua ocorrência.
Certifique-se de que o seu software está atualizado. Idealmente, teste uma versão em desenvolvimento para ver se o bug já foi corrigido.
Tente isolar-se do ambiente e reproduzir-se (isto é, teste em vários dispositivos).
Descreva o seu ambiente especificando o seguinte:
versão do sistema operacional
modelo preciso do dispositivo (importante em dispositivos móveis)
se estiver a utilizar uma versão beta
qual compilação você está usando (F-Droid, Play Store, App Store, de
dl.jami.net
, sua própria compilação, etc.). Se você criou sua própria versão do Jami, especifique a versão exata do Jami Daemon e a versão do cliente (você pode obtê-la usandojamid -v
ejami -v
; mas observe que nossos pacotes são atualizados com frequência) e o commit do Git.condições de rede: os dois dispositivos estão na mesma rede local? Em redes diferentes? Um ou ambos estão protegidos por NAT? Você está usando LTE? Você está usando Wi-Fi?
outros elementos, se necessário: provedor SIP, hardware, etc.
Escrever um resumo claro
Como você descreveria o bug usando aproximadamente 10 palavras? Esta é a primeira parte do seu relatório de bug que um desenvolvedor verá.
Um bom resumo deve identificar rapidamente e de forma única um relatório de bugs. Ele deve explicar o problema, não a solução sugerida.
Good: "Cancelling a file transfer crashes Jami"
Bad: "Software crashes"
Good: "All calls hang up after 32 seconds"
Bad: "Not able to call my friends"
Escrever passos precisos para reproduzir
Como um desenvolvedor pode reproduzir o bug no seu próprio dispositivo?
Os passos para se reproduzir são a parte mais importante de qualquer relatório de bug. Se um desenvolvedor é capaz de reproduzir o bug, é muito provável que o bug seja corrigido. Se os passos não forem claros, talvez não seja possível saber se o bug foi corrigido. Somos totalmente cientes de que alguns bugs podem parecer óbvios para você, mas eles provavelmente estão relacionados ao seu ambiente. Quanto mais preciso você for, mais rápido o bug pode ser corrigido.
O que deve incluir num relatório de bugs?
Indique se você consegue reproduzir o bug à vontade, ocasionalmente ou não. Descreva o seu método de interação com Jami além da intenção de cada passo. Depois de seus passos, descreva com precisão o resultado observado (real) e o resultado esperado. Separe claramente fatos (observações) de especulações.
Bom:
Posso sempre reproduzir seguindo estes passos:
1. Start Jami by clicking on the desktop icon
2. Start a new conversation with anyone
3. Click the file transfer icon
Expected results: A window opens and asks me to choose a file to send.
Actual results: When I click the file transfer icon, nothing happens.
Mau:
Try to transfer a file
It doesn't work.
Resultado obtido
Por favor, inclua:
O daemon Jami (jamid ou libjami ou libring) e o log debug do cliente.
O dump do núcleo, se tiver sido produzido.
Resultado esperado
É uma descrição do comportamento esperado ou desejado.
Fornecimento de informações adicionais
As informações a seguir são solicitadas para a maioria dos relatórios de bugs. Você pode economizar tempo fornecendo essas informações abaixo dos Resultados esperados.
Registros
Cliente Jami baseado em Qt (GNU/Linux, Windows, macOS)
Vá para as configurações gerais. Na seção Troubleshoot (Solução de problemas), clique em “Open logs” (Abrir registros), onde poderá obter estatísticas (“Show stats” (Mostrar estatísticas)) ou começar a gravar informações por meio de “Receive logs” (Receber registros). Em seguida, basta copiar o resultado e explicar seu cenário.
Em GNU/Linux
Registros clássicos (por padrão, apenas os registros >= avisos são registrados):
journalctl --since "24h ago" | grep jami
Registro completo: como o cliente Jami (GUI) e o daemon são processos separados, a maneira mais fácil de obter os registros de ambos é iniciá-los manualmente, um de cada vez.
Certifique-se de que nenhuma instância de cliente ou daemon do Jami esteja em execução: verifique executando
ps aux | grep jami
em um terminal.Jami pode ainda estar a correr mesmo que as janelas não estejam abertas, dependendo das suas preferências.
Se um cliente ou um demônio estiver em execução, encerra-os usando
kill PID
.
Em um terminal, inicie o demônio com
jamid -d -c
Este executável normalmente não está no
PATH
, e nos pacotes Debian/Trisquel/Ubuntu, ele está localizado em/usr/lib/x86_64-linux-gnu/jamid -d -c
ou/usr/libexec/jamid -d -c
.
Em outro terminal, inicie o cliente, usando
jami -d
.
Para obter um rastreamento, pode executar o programa dentro do GDB:
gdb -ex run --args jami -d
ou gdb -ex run --args /usr/libexec/jamid -cd
, dependendo do componente que você precisa depurar.
Quando ele travar, você pode digitar bt
(ou melhor ainda, thread apply all bt
) e pressionar Enter. Em seguida, copie o backtrace e cole-o no problema.
Em macOS
Navegue para
/Applications/Jami.app/Contents/MacOS/
.Clique duas vezes em Jami. Ele iniciará o Jami e imprimirá o registro no terminal.
Copie o registro do terminal para um arquivo.
Alternativamente, você pode executar /<path para Jami>/Jami.app/Contents/MacOS/Jami -d
do terminal.
No Android
Para coletar registros por meio do seu telefone usando o próprio Jami:
Toque em
Conversas
Toque no menu de três pontos na parte superior direita
Toque em
Configurações
Toque em
Registros de diagnóstico
Para recolher registros através do seu computador usando o Android Debug Bridge (adb):
Você precisa ter o adb configurado em seu computador.
Inicie o Jami em seu smartphone e execute
adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` > logring.txt
Agora tem um arquivo contendo o registro do cliente
Para Windows
Abra um terminal (cmd.exe) e inicie Jami.exe com as seguintes opções:
-d
para abrir uma janela de consola separada para receber registros-f
para gravar os registros em%localappdata%\jami\jami.log