Importante

Actualmente somos un pequeño número de desarrolladores activos en el proyecto. Como tal, no podemos responder y etiquetar inmediatamente todas las cuestiones vistas, pero las notamos y leemos. Los informes de errores buenos nos proporcionan comentarios importantes, que agradecemos y siempre agradecemos.

Guía para reportes

Esta guía incluye instrucciones paso a paso sobre cómo reportar errores e incidencias que encontrés en Jami.

Configurar tu entorno

  • Prepárese para la pérdida de datos. Haga una copia de seguridad de su cuenta y vincúlela a tantos dispositivos como sea posible.

  • Instalar la última versión (o incluso una versión beta) de Jami. Informar de errores/problemas con versiones anteriores es menos útil, y es probable que ya haya sido arreglado en versiones más recientes.

Cómo denunciar un error

  1. Only required once: Create a Jami GitLab account.

  2. Elige el proyecto adecuado para publicar tu número en:

  3. Si tiene varios problemas, por favor presente informes separados de errores. Será mucho más fácil realizar un seguimiento de ellos de esa manera.

  4. The title is an explicit summary of the bug (for example, the header bar is too big due to icon size).

  5. Descubra los pasos para reproducir el error:

    • If you have precise steps to reproduce it (great!), you’re on your way to creating a helpful bug report.

    • If you can reproduce it occasionally but not after following specific steps, please provide additional information about the issue to help others understand and try to reproduce it.

    • If you can not reproduce the problem, there may be little chance of it being reasonably fixable. If you do report it, please provide as much information/clues about its occurrence as possible.

  6. Ensure your software is up to date. Ideally, test an in-development version to see whether your bug has already been fixed.

  7. Attempt to isolate from the environment and reproduce (that is, test on multiple devices).

  8. Describa su-s entorno(s) especificando lo siguiente:

    • Operating system and version

    • Precise device model (important for mobile devices)

    • Stable or beta version of Jami

    • What build you are using (F-Droid, Google Play, App Store, dl.jami.net, your own build, etc.). If you have built your own version of Jami, please specify the exact Jami Daemon version and client version (you can obtain it using jamid -v and jami -v; but note that our packages are updated quite often) and the Git commit.

    • Network conditions:

      • Are both devices on the same local network?

      • ¿Diferentes redes?

      • ¿Se encuentra uno o los dos detrás de una NAT?

      • ¿Estás usando LTE?

      • ¿Estás usando WiFi?

    • Other details if required:

      • Proveedor SIP,

      • Hardware,

      • etc.

Escribir un resumen claro

¿Cómo describirías el error usando aproximadamente 10 palabras? Esta es la primera parte de tu informe de errores que verá un desarrollador.

Un buen resumen debe identificar rápidamente y de manera única un informe de error. Debe explicar el problema, no la solución 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"

Escribir pasos precisos para reproducirse

  • ¿Cómo puede un desarrollador reproducir el error en su propio dispositivo?

    Steps to reproduce are the most important part of any bug report. If a developer is able to reproduce the bug, the bug is very likely to be fixed. If the steps are unclear, it might not even be possible to know whether the bug has been fixed. We are totally aware that some bugs may look obvious to you, but they are probably related to your environment. The more precise you are, the quicker the bug can be fixed.

  • ¿Qué debe incluir en un informe de errores?

    Indicate whether you can reproduce the bug at will, occasionally, or not at all. Describe your method of interacting with Jami in addition to the intent of each step. After your steps, precisely describe the observed (actual) result and the expected result. Clearly separate facts (observations) from speculations.

Bien

Siempre puedo reproducirme siguiendo estos pasos:

1. Start Jami by clicking on the desktop icon.
2. Start a new conversation with anyone.
3. Click the file transfer button.

Expected results: A window opens and asks me to choose a file to send.
Actual results: When I click the file transfer button, nothing happens.

Mal

Attempt to transfer a file.
It doesn't work.

Obtained result

Por favor, incluya:

  • El demonio Jami (jamid o libjami o libring) y los registros de desactivación del cliente.

  • The core dump, if one was produced.

Expected result

A description of the expected or desired behavior.

Proporcionar información adicional

The following information is requested for most bug reports. You can save time by providing this information below the expected results.

Registros

Android

To gather logs via the Android device using Jami:

  1. Tap Conversations.

  2. Tap the (three-dot) menu on the top right.

  3. Tap Settings.

  4. Tap Diagnostic logs.

To gather logs via a computer using the Android Debug Bridge (adb):

  1. The adb is required to be set up on your computer.

  2. Launch Jami on your smartphone and then execute adb logcat *:D | grep `adb shell ps | egrep 'cx.ring' | cut -c10-15` > logring.txt

  3. Ahora tienes un archivo que contiene el registro del cliente

Desktop Jami client based on the Qt framework (GNU/Linux, macOS, Windows)

  1. Open the General tab in the settings.

  2. In the Troubleshoot section, click the Open logs button.

  3. Turn on the View logs switch.

  4. Click the Copy button.

  5. Paste the result and explain the scenario in the issue.

GNU/Linux

Registros clásicos (por defecto sólo se registran registros de advertencia >=):

journalctl --since "24h ago" | grep jami

Registro completo: El cliente Jami (GUI) y el demonio son procesos separados. Para obtener registros de ambos procesos, inicie cada proceso manualmente, uno a la vez.

  1. Asegúrese de que no se ejecutan ningún cliente Jami o instancias de demonio: compruebe ejecutando `ps aux ̶ Grab jami̶̶ en una terminal.

    • Jami puede seguir funcionando incluso si no hay ventanas abiertas, dependiendo de tus preferencias.

    • Si el cliente o el demonio están funcionando, termina con kill PID.

  2. En una terminal, comience el daemon con jamid -d -c

    • Este ejecutable normalmente no está en el PATH, y en los paquetes Debian/Trisquel/Ubuntu, se encuentra en /usr/lib/x86_64-linux-gnu/jamid -d -c o /usr/libexec/jamid -d -c.

  3. En otro terminal, se inicia el cliente, usando “jami-d”.

Para obtener un rastro de retroceso, puede ejecutar el programa dentro de GDB:

gdb -ex run --args jami -d, or gdb -ex run --args /usr/libexec/jamid -cd, dependiendo del componente que se necesite depurar.

Cuando se estropee, puede escribir bt (o mejor aún, thread aplicar todos bt) y luego pulsar Enter.

macOS

  1. Navega a /Aplicaciones/Jami.app/Contentes/MacOS/.

  2. Haga doble clic en Jami, lanzará Jami y imprimirá el registro a la terminal.

  3. Copie el registro desde el terminal a un archivo.

Alternativamente, puede ejecutar /<path a Jami>/Jami.app/Contents/MacOS/Jami -d desde la terminal.

Las ventanas

  1. Open the command prompt (cmd.exe)

  2. Run Jami.exe with the following options:

    • -d para abrir una ventana de consola separada para recibir registros

    • -f para escribir registros a %localappdata%\jami\jami.log