name: Issue Report
description: File an issue report
labels: [bug, triage]
body:
  - type: markdown
    id: introduction
    attributes:
      value: |
        ### Thank you for taking the time to report an issue!
        Please keep in mind that Jellyfin is a [free and open-source](https://jellyfin.org/docs/general/about) project, made up entirely and exclusively of **volunteers** who donate their free time to the project.
  - type: checkboxes
    id: before-posting
    attributes:
      label: "This issue respects the following points:"
      description: All conditions are **required**. Failure to comply with any of these conditions may cause your issue to be closed without comment.
      options:
        - label: This is a **bug**, not a question or a configuration issue; Please visit our forum or chat rooms first to troubleshoot with volunteers, before creating a report. The links can be found [here](https://jellyfin.org/contact/).
          required: true
        - label: This issue is **not** already reported on [GitHub](https://github.com/jellyfin/jellyfin/issues?q=is%3Aopen+is%3Aissue) _(I've searched it)_.
          required: true
        - label: I'm using an up to date version of Jellyfin Server stable, unstable or master; We generally do not support previous older versions. If possible, please update to the latest version before opening an issue.
          required: true
        - label: I agree to follow Jellyfin's [Code of Conduct](https://jellyfin.org/docs/general/community-standards.html#code-of-conduct).
          required: true
        - label: This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one.
          required: true
  - type: markdown
    id: preliminary-information
    attributes:
      value: |
        ### General preliminary information

        Please keep the following in mind when creating this issue:

        1. Fill in as much of the template as possible. When you are unsure about the relevancy of a section, do include the information requested in that section. Only leave out information in sections when you are completely sure about it not being relevant.
        2. Provide as much detail as possible. Do not assume other people to know what is going on.
        3. Keep everything readable and structured. Nobody enjoys reading poorly written reports that are difficult to understand.
        4. Keep an eye on your report as long as it is open, your involvement might be requested at a later moment.
        5. Keep the title short and descriptive. The title is not the place to write down a full description of the issue.
        6. When deciding to leave out information in a field, leave it blank and empty. Avoid writing things such as `n/a` for empty fields.
  - type: textarea
    id: bug-description
    attributes:
      label: Description of the bug
      description: Please provide a detailed description on the bug you encountered, in a readable and comprehensible way.
      placeholder: |
        After upgrading to version x.y.z of Jellyfin, the "login disclaimer" is showing incorrect text. It appears to me that it is appending the server name to the end of the login disclaimer, and showing that to a user. It might be a regression from pull request x. I have tried rebooting my host as well as my container multiple times. I tested this functionality on different clients, and it happens to all the tested clients (client x, y, z), that support the login disclaimer functionality. This makes me believe it is a server side issue.
    validations:
      required: true
  - type: textarea
    id: repro-steps
    attributes:
      label: Reproduction steps
      description: Reproduction steps should be complete and self-contained. Anyone can reproduce this issue by following these steps. Furthermore, the steps should be clear and easy to follow.
      placeholder: |
        1. Sign in on the Jellyfin web client, with an admin account, using a browser of your choice.
        2. Navigate to the dashboard.
        3. Select "general".
        4. Change the login disclaimer to something like "I am a cool disclaimer!"
        5. Save the settings.
        6. Sign out.
        7. Make sure you are on the sign in screen. Otherwise, navigate to the sign in screen manually.
    validations:
      required: true
  - type: textarea
    id: actual-behavior
    attributes:
      label: What is the current _bug_ behavior?
      description: Write down the incorrect behavior that currently happens after following the reproduction steps.
      placeholder: |
        The login disclaimer on the sign in screen has the server name appended to the text. The text shown is: "I am a cool disclaimer!jellyfinserver".
    validations:
      required: true
  - type: textarea
    id: expected-behavior
    attributes:
      label: What is the expected _correct_ behavior?
      description: Write down the correct expected behavior that is supposed to happen after following the reproduction steps.
      placeholder: |
        The login disclaimer on the sign in screen should only show the configured text. The text that should be shown is: "I am a cool disclaimer!".
    validations:
      required: true
  - type: dropdown
    id: version
    attributes:
      label: Jellyfin Server version
      description: What version of Jellyfin are you using?
      options:
        - 10.10.0+
        - Master
        - Unstable
        - Older*
    validations:
      required: true
  - type: input
    id: version-master
    attributes:
      label: "Specify commit id"
      description: Fill in this field in case the option 'master' is selected. Provide the commit id it was built on.
      placeholder: |
        610e56baafc3011e1bfa043bdabb567bda0c2ab0
  - type: input
    id: version-unstable
    attributes:
      label: "Specify unstable release number"
      description: Fill in this field in case the option 'unstable' is selected. Provide the unstable release number.
      placeholder: |
        2024050906
  - type: input
    id: version-older
    attributes:
      label: "Specify version number"
      description: Fill in this field in case the option 'older' is selected. Provide the version number.
      placeholder: |
        x.y.z
  - type: input
    id: build-version
    attributes:
      label: "Specify the build version"
      description: Please provide the build version that is shown in the dashboard.
    validations:
      required: true
  - type: textarea
    id: environment-information
    attributes:
      label: Environment
      description: |
        Accurately fill in as much environment details as possible. If a certain environment field is not shown in the template below, but you consider useful information, please include it.
        Examples:
        - **OS**: [e.g. Debian 11, Windows 10]
        - **Linux Kernel**: [e.g. none, 5.15, 6.1, etc.]
        - **Virtualization**: [e.g. Docker, KVM, LXC]
        - **Clients**: [Browser, Android, Fire Stick, etc.]
        - **Browser**: [e.g. Firefox 91, Chrome 93, Safari 13]
        - **FFmpeg Version**: [e.g. 5.1.2-Jellyfin]
        - **Playback**: [Direct Play, Remux, Direct Stream, Transcode]
        - **Hardware Acceleration**: [e.g. none, VAAPI, NVENC, etc.]
        - **GPU Model**: [e.g. none, UHD630, GTX1050, etc.]
        - **Installed Plugins**: [e.g. none, Fanart, Anime, etc.]
        - **Reverse Proxy**: [e.g. none, nginx, apache, etc.]
        - **Base URL**: [e.g. none, yes: /example]
        - **Networking**: [e.g. Host, Bridge/NAT]
        - **Storage**: [e.g. local, NFS, cloud]
      value: |
        - OS:
        - Linux Kernel:
        - Virtualization:
        - Clients:
        - Browser:
        - FFmpeg Version:
        - Playback Method:
        - Hardware Acceleration:
        - GPU Model:
        - Plugins:
        - Reverse Proxy:
        - Base URL:
        - Networking:
        - Storage:
      render: markdown
    validations:
      required: true
  - type: markdown
    id: general-information-logs
    attributes:
      value: |
        When providing logs, please keep the following things in mind:
        1. **DO NOT** use external paste services. If logs are too large to paste into the field, upload them as text files.
        2. Please provide complete logs.
          - For server logs, ensure to capture all relevant information, encompassing both the events leading up to and following the occurrence of the issue. Typically, providing 10 *lines preceding and succeeding* the problem should be adequate.
          - For ffmpeg logs, please provide the entire file unmodified.
        3. Please do not run logs through any translation program. We exclusively accept raw, untranslated logs. Particularly exercise caution if your browser automatically translates pages by default.
          - Do not forget to censor out personal information such as public IP addresses.
        4. Please do not include logs as screenshots, with the only exception being client logs in browsers.
  - type: textarea
    id: jellyfin-logs
    attributes:
      label: Jellyfin logs
      description: Please copy and paste any relevant log output. This can be found in Dashboard > Logs.
      render: shell
    validations:
      required: true
  - type: textarea
    id: ffmpeg-logs
    attributes:
      label: FFmpeg logs
      description: Relevant FFmpeg log output. This can be found in Dashboard > Logs > FFmpeg*.log. This field is considered mandatory for transcoding related issues. It's also important to include the specific codec details.
      render: shell
  - type: textarea
    id: browser-logs
    attributes:
      label: Client / Browser logs
      description: Access browser logs by using the F12 to bring up the console. Screenshots are typically easier to read than raw logs. For clients such as Android or iOS, please see our documentation.
  - type: textarea
    id: screenshots
    attributes:
      label: Relevant screenshots or videos
      description: Attach relevant screenshots or videos related to this report.
  - type: textarea
    id: additional-information
    attributes:
      label: Additional information
      description: Any additional information that might be useful to this issue.
