Following is the simplest approach for dogfooding.

If you are feeling more adventurous and want to play with status-go code and other part of the code, then follow the build yourself section

  1. Download and install status-desktop

  2. You have 2 options (Prefer to use the nightly build)

    1. Use the nightly build that is available here . This will include latest fixes and is on latest master
    2. Use the release version at https://status.app/ . This will not have latest fixes.
  3. Use appropriate binary and Install the application

  4. Once the new account is created or you restore your existing account, there are some toggles you need to activate to make the dogfooding session more useful.

    1. Go to Settings -> Advanced
    2. Enable the following items:
      1. Node Management
      2. Telemetry
      3. Debug (only if your machine has enough disk space. This will log a lot of information but will help debug issues 🙂*). Note that this would require a restart of the app in order to take into effect.*
  5. You can run multiple Status desktop apps by

    open -n <app path> --args --datadir="<path to data dir>"
    to run another status instance
    

Collecting logs and opening issues

Sample issue on reliability https://github.com/status-im/status-desktop/issues/15092

  1. The logs for status-go are written in the file geth.log, which can be found in the datadir
    1. For MacOS users it is going to ~/Library/Application\\ Support/Status/data/geth.log
    2. For Windows users
    3. For Linux users: ./.config/Status/data/geth.log or Status/data/geth.log if running with make run.
  2. In case of any issues that are noticed
    1. If it is a UI issue or any app related issue, report it in desktop repo as bug. https://github.com/status-im/status-desktop/
    2. If it has to do with message reliability then either in status-go repo. https://github.com/status-im/status-go

Build Status Desktop and Run

Process is much more involved but it has some benefits of being able to modify status-go yourself to add more log lines for any specific error you might run into if the information stored in the logs is not useful at all.