name: Internal testing - Bug Report
description: File a bug report.
title: "[Bug]: "
labels: [bug, ch_testing]
projects: [meshtastic/Meshtastic-Android]
body:
  - type: markdown
    attributes:
      value: |
        This Bug report is only for the internal testing builds. If you are not on the list, or didn't seek one out deliberately, you should use the generic Bug Report. :hugs:

        Please provide as much detail as possible so we can efficiently reproduce the issue.

  - type: input
    id: contact
    attributes:
      label: Contact Details
      description: How can we get in touch with you if we need more info?
      placeholder: ex. email@example.com, discord username
    validations:
      required: false

  - type: checkboxes
    id: checklist
    attributes:
      label: "Checklist"
      description: |
        Please make sure you have done the following before submitting your bug report.
        Bug reports that do not meet these criteria will be closed.
        Requests that do not meet these criteria will be closed.
        Links:
          [**OPEN ISSUES**](https://github.com/meshtastic/Meshtastic-Android/issues)
          [**CLOSED ISSUES**](https://github.com/meshtastic/Meshtastic-Android/issues?q=is%3Aissue+is%3Aclosed)
          [Contribution Guidelines](https://github.com/meshtastic/Meshtastic-Android/blob/main/README.md#contributing)
      options:
        - label: |
            I am able to reproduce the bug with the latest version.
          required: true
        - label: |
            I have updated to the latest *Alpha* firmware, and am able to reproduce the bug. Many issues are fixed quickly in alpha before the general beta release.
          required: true
        - label: |
            I made sure that there are no existing **OPEN or CLOSED issues** which I could contribute my information to.
          required: true
        - label: |
            I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
          required: true
        - label: |
            This issue contains only one bug.
          required: true
        - label: |
            I have read and understood the **Contribution Guidelines**.
          required: true
        - label: |
            I agree to follow this project's Code of Conduct
          required: true

  - type: input
    id: app-version
    attributes:
      label: Affected app version
      description: |
        In which Meshtastic-Android app version did you encounter the bug?
        Can be seen on the bottom of the `Settings` screen in the app.
      placeholder: "x.y.z-channel.x (build) flavor"
    validations:
      required: true

  - type: input
    id: phone-os
    attributes:
      label: Affected Android version
      description: |
        With what operating system (+ version) did you encounter the bug?
      placeholder: "Example: Android 14"
    validations:
      required: true

  - type: input
    id: phone-model
    attributes:
      label: Affected phone model
      description: |
        On what phone did you encounter the bug?
      placeholder: "Example: Samsung Galaxy S20 / Google Pixel 8"
    validations:
      required: true

  - type: input
    id: hardware-model
    attributes:
      label: Affected node model
      placeholder: "Example: Seeed T1000-E, Heltec v3, etc."
      description: |
        On which hardware device (Node) did you encounter the bug?
    validations:
      required: true

  - type: input
    id: firmware-version
    attributes:
      label: Affected node firmware version
      placeholder: "x.x.x"
      description: "Which Meshtastic firmware version did you encounter the bug?"
    validations:
      required: true

  - type: textarea
    id: steps-to-reproduce
    attributes:
      label: Steps to reproduce the bug
      description: |
        What did you do for the bug to show up?

        If you can't cause the bug to show up again reliably (and hence don't have a proper set of steps to give us), please still try to give as many details as possible on how you think you encountered the bug.
      placeholder: |
        1. Go to '...'
        2. Press on '....'
        3. Swipe down to '....'
    validations:
      required: true

  - type: textarea
    id: actual-behavior
    attributes:
      label: Actual behavior
      description: |
        Tell us what happens with the steps given above.

  - type: textarea
    id: expected-behavior
    attributes:
      label: Expected behavior
      description: |
        Tell us what you expect to happen.

  - type: textarea
    id: screen-media
    attributes:
      label: Screenshots/Screen recordings
      description: |
        A picture or video is worth a thousand words.
        Provide as much context as possible so we know what we are looking at.

        Add screenshots or a screen recording to help explain your problem, provide detailed context to help us know what to look for.
        GitHub supports uploads of images and (small) videos directly in the text box.

  - type: textarea
    id: logs
    attributes:
      label: Relevant log output
      description: |
        Logs help us to diagnose and reproduce issues, particularly when they are unique to your setup.
        Depending on the issue, the following logs may be useful:
        - App logs: This will help with most issues. If possible, provide the relevant output of:
            `adb logcat -d | grep com.geeksville.mesh`
        - Mesh logs:  UI issues, communication issues etc.
          - ` App > Settings > Advanced >  Debug Panel > Export specific / export all `
        - Broader Android logs: Potentially useful if the issue goes beyond the app (connections, network etc.)
             `adb logcat -d`
        - Firmware logs: Useful for all connection issues with nodes
          - These are piped to the USB serial port on the node, the most foolproof is to use the 'open serial' button on the web-flasher interface, and then save the output.
            - The app needs to be connecting to the node via Bluetooth or Network for this to work.
      render: shell

  - type: textarea
    id: additional-information
    attributes:
      label: Additional information
      description: |
        Any other information you'd like to include, for instance that
        * the affected device is foldable or a TV
        * you have disabled all animations on your device or otherwise changed system settings
        * you are using battery optimization or power saving mode
        * you are using a custom Android ROM or launcher
        * your ferret chewed your antennas
        * you are using a VPN
        * you live in a faraday cage
        * you dismissed all popups telling you not to do things you shouldn't do without reading them
        * ...