mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 08:36:13 +00:00
The templates were written during the Go-library era and no longer match the project: they asked reporters (mostly speaker owners) for Go versions, library versions, pkg/client pickers, and minimal repro code, while pointing at dead doc links. #478 reported one of those dead links (the troubleshooting guide). Issue templates: - Fix the dead troubleshooting + API-cookbook links (now the published docs site). - Delete the legacy .md duplicates of bug_report/feature_request/device_compatibility (GitHub was showing them alongside the .yml forms). - Rewrite bug_report.yml and feature_request.yml around how people actually run AfterTouch (service/CLI/player/backup); make them short and easy to file, with the encrypted diagnostic export as the headline ask. - Add device_compatibility.yml (slim) and a config.yml chooser that links Discussions, the Survival Guide, and the Troubleshooting Guide. Blank issues stay enabled. Diagnostic-export transparency: instead of claiming the report "contains no readable secrets", state honestly that the raw datastore XML (e.g. Sources.xml) is included as-is and can carry access tokens for linked services (Spotify/Amazon), that there is no datastore-redaction setting, and that users can unlink first or send privately. Point at the same support email the Health tab shows (aftertouch-support@gesellix.net) and note GitHub blocks .age uploads (rename to .age.txt or zip). PR template: cut the library-era ceremony down to summary/issue/type/testing/ checklist, add an "AI-assisted contributions" note (agent code welcome, unreviewed slop rejected), a no-personal-data reminder, and an MIT + Code of Conduct footer. CONTRIBUTING.md: reframe from "Bose SoundTouch API Client / Go library" to the AfterTouch toolkit; fix build paths (./build/) and make targets; drop broken references; point at CLAUDE.md; add the AI stance and the no-personal-data rule. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
119 lines
4.1 KiB
YAML
119 lines
4.1 KiB
YAML
name: Bug Report
|
|
description: Something in AfterTouch isn't working the way it should
|
|
title: "[Bug]: "
|
|
labels: ["bug", "triage"]
|
|
body:
|
|
- type: markdown
|
|
attributes:
|
|
value: |
|
|
Thanks for helping improve **AfterTouch**! 🙏
|
|
|
|
AfterTouch is a community-built toolkit that keeps Bose SoundTouch speakers
|
|
working after the Bose cloud shutdown. We both give and ask for support here,
|
|
so don't worry about getting every field perfect.
|
|
|
|
A quick look at the
|
|
[Troubleshooting Guide](https://gesellix.github.io/Bose-SoundTouch/docs/guides/TROUBLESHOOTING/)
|
|
often saves time. For "how do I...?" questions, please use
|
|
[Discussions](https://github.com/gesellix/Bose-SoundTouch/discussions) instead.
|
|
|
|
- type: textarea
|
|
id: description
|
|
attributes:
|
|
label: What happened?
|
|
description: What went wrong, and what did you expect to happen instead?
|
|
placeholder: "When I play a radio station from the player UI, the speaker shows an orange light and nothing plays. I expected it to start playing."
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: steps
|
|
attributes:
|
|
label: Steps to reproduce
|
|
description: How can we trigger it? Rough steps are fine.
|
|
placeholder: |
|
|
1. Open the player UI
|
|
2. Search for a station
|
|
3. Press play
|
|
4. ...
|
|
validations:
|
|
required: false
|
|
|
|
- type: textarea
|
|
id: diagnostic
|
|
attributes:
|
|
label: Diagnostic report (the most helpful thing you can attach)
|
|
description: |
|
|
In the AfterTouch **admin UI**, open the **Health tab** and click
|
|
**Download diagnostic report**. It is by far the best way to help us
|
|
diagnose a bug. GitHub blocks `.age` uploads, so rename the file to
|
|
`.age.txt` (or zip it) before dragging it into this box. You can also email
|
|
it instead: aftertouch-support@gesellix.net.
|
|
|
|
The file is **encrypted** to the maintainer's key, so only the maintainer
|
|
can open it. The structured summary has credentials redacted, but the raw
|
|
datastore files (for example `Sources.xml`) are included as-is and can
|
|
contain the access tokens your speaker uses for linked services like
|
|
Spotify or Amazon. If that is a concern, unlink those services before
|
|
exporting, or email the report privately instead.
|
|
placeholder: "Attach the aftertouch-diagnostic-*.age.txt (or .zip) file here."
|
|
validations:
|
|
required: false
|
|
|
|
- type: input
|
|
id: device
|
|
attributes:
|
|
label: Speaker model & firmware
|
|
description: Which speaker, and (if you know it) the firmware version.
|
|
placeholder: "SoundTouch 10, firmware 27.0.6"
|
|
validations:
|
|
required: false
|
|
|
|
- type: dropdown
|
|
id: how-run
|
|
attributes:
|
|
label: How are you running AfterTouch?
|
|
options:
|
|
- "Docker / docker compose"
|
|
- "Prebuilt binary"
|
|
- "Built from source"
|
|
- "Not sure"
|
|
validations:
|
|
required: false
|
|
|
|
- type: input
|
|
id: version
|
|
attributes:
|
|
label: AfterTouch version
|
|
description: Shown in the admin UI footer, or via the binary's `--version`.
|
|
placeholder: "v0.111.2"
|
|
validations:
|
|
required: false
|
|
|
|
- type: textarea
|
|
id: logs
|
|
attributes:
|
|
label: Logs / error messages
|
|
description: Any relevant output from the service, CLI, or browser console. Please mask real LAN IPs if you can.
|
|
render: shell
|
|
validations:
|
|
required: false
|
|
|
|
- type: checkboxes
|
|
id: checklist
|
|
attributes:
|
|
label: Before you submit
|
|
options:
|
|
- label: "I checked the [Troubleshooting Guide](https://gesellix.github.io/Bose-SoundTouch/docs/guides/TROUBLESHOOTING/)"
|
|
- label: "I searched [existing issues](https://github.com/gesellix/Bose-SoundTouch/issues) for a duplicate"
|
|
- label: "I'm on a recent AfterTouch version"
|
|
|
|
- type: checkboxes
|
|
id: coc
|
|
attributes:
|
|
label: Code of Conduct
|
|
description: This project follows a [Code of Conduct](https://github.com/gesellix/Bose-SoundTouch/blob/main/CODE_OF_CONDUCT.md).
|
|
options:
|
|
- label: "I agree to follow this project's Code of Conduct"
|
|
required: true
|