The templates were written against Gitea's schema alone, but the mirror serves the same .github/ISSUE_TEMPLATE/ files to GitHub, where two of them would have silently failed: - **config.yaml -> config.yml.** Gitea accepts either spelling (modules/structs/issue.go: `base == "config.yaml" || base == "config.yml"`), GitHub only recognizes config.yml. Under the old name the mirror's template chooser would have shown neither the contact links nor the blank-issue setting. - **bug.yaml `about:` -> bug.yml `description:`.** GitHub requires `description` on a YAML issue form; Gitea's IssueTemplate.About carries the comment "Using description in a template file is compatible" and falls back to it at modules/issue/template/unmarshal.go:126. So `description` is the one spelling both forges accept. The markdown templates keep `about:`, which is correct for their format on both. Both files now carry a comment explaining the constraint, so neither gets "tidied" back into a broken state. Also add a contact link pointing at the canonical Gitea tracker, so someone arriving from the mirror is steered to the right place before they file, and document mirror parity in CONTRIBUTING.md: the labels must be created on both sides by hand, since mirroring copies files rather than repository settings and GitHub drops a labels: entry naming a label it doesn't have. Note too that GitHub has no exclusive labels, so the one-of rule on Priority/, Reviewed/, and Status/ holds only by convention there.
152 lines
4.9 KiB
YAML
152 lines
4.9 KiB
YAML
# The key below is `description`, NOT `about`.
|
|
#
|
|
# GitHub requires `description` on a YAML issue form and rejects the
|
|
# template without it; Gitea wants `about` but explicitly accepts
|
|
# `description` as a compatible alias. `description` is therefore the
|
|
# only spelling that works on both the canonical repo and the mirror.
|
|
# The markdown templates beside this one still use `about`, which is
|
|
# correct for their format on both forges.
|
|
name: Bug report
|
|
description: Something in the config is broken or behaves unexpectedly
|
|
labels:
|
|
- Kind/Bug
|
|
body:
|
|
- type: markdown
|
|
attributes:
|
|
value: |
|
|
Thanks for filing a bug.
|
|
|
|
**Title it as a plain description of the problem**, not as a
|
|
conventional-commit subject — `mv clobbers a symlink when the target
|
|
exists`, not `fix(mv): ...`. The commit format belongs on the PR that
|
|
fixes this; the `Kind/` and `Area/` labels carry type and scope here.
|
|
|
|
Before filing, please confirm the problem survives a fresh shell
|
|
(`exec fish`) — a stale function definition in a long-lived session is
|
|
the single most common false alarm.
|
|
|
|
- type: input
|
|
id: fish-version
|
|
attributes:
|
|
label: fish version
|
|
description: Output of `fish --version`. This config targets fish 4.x.
|
|
placeholder: fish, version 4.0.2
|
|
validations:
|
|
required: true
|
|
|
|
- type: input
|
|
id: os
|
|
attributes:
|
|
label: Operating system
|
|
description: Distribution and version, or macOS release.
|
|
placeholder: Arch Linux (CachyOS), kernel 6.12.4
|
|
validations:
|
|
required: true
|
|
|
|
- type: input
|
|
id: terminal
|
|
attributes:
|
|
label: Terminal emulator
|
|
description: >-
|
|
Only matters for rendering, key bindings, and color problems. Leave it
|
|
blank if the bug has nothing to do with those.
|
|
placeholder: kitty 0.42.1
|
|
validations:
|
|
required: false
|
|
|
|
- type: dropdown
|
|
id: area
|
|
attributes:
|
|
label: Area
|
|
description: >-
|
|
Which part of the config is affected? Pick the closest match — a
|
|
maintainer translates this into the matching `Area/` label at triage,
|
|
since contributors without push access can't set labels themselves.
|
|
Choose "Not sure" rather than guessing.
|
|
options:
|
|
- Not sure
|
|
- Functions (functions/)
|
|
- Completions (completions/)
|
|
- Config and startup (config.fish, conf.d/)
|
|
- Docs (docs/manual/, man page, docs site)
|
|
- Tests (tests/)
|
|
- CI (.github/workflows/)
|
|
- Integrations (integrations/)
|
|
- Prompt and theme (themes/)
|
|
- Opinionated components (C1-C6 toggles)
|
|
- Scripts (scripts/)
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: summary
|
|
attributes:
|
|
label: What's broken
|
|
description: One or two sentences. Name the function or file if you know it.
|
|
placeholder: >-
|
|
`mv` replaces an existing symlink instead of prompting, so the link
|
|
target is lost with no confirmation.
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: reproduce
|
|
attributes:
|
|
label: Steps to reproduce
|
|
description: >-
|
|
Exact commands, starting from a fresh shell, that someone else can
|
|
paste and run. Include any setup needed to reach the broken state.
|
|
render: fish
|
|
placeholder: |
|
|
exec fish
|
|
mkdir -p /tmp/repro; cd /tmp/repro
|
|
touch real; ln -s real link
|
|
mv real link
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: expected
|
|
attributes:
|
|
label: Expected behavior
|
|
description: What you thought those commands would do.
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: actual
|
|
attributes:
|
|
label: Actual behavior
|
|
description: >-
|
|
What happened instead. Paste the complete output, including any error
|
|
text and stack traces — truncated errors are the usual reason a bug
|
|
report stalls in Status/Need More Info.
|
|
render: text
|
|
validations:
|
|
required: true
|
|
|
|
- type: checkboxes
|
|
id: preflight
|
|
attributes:
|
|
label: Pre-flight
|
|
options:
|
|
- label: I searched the existing issues and this isn't already reported.
|
|
required: true
|
|
- label: I reproduced this in a fresh shell (`exec fish`), not a long-lived session.
|
|
required: true
|
|
- label: I ran `fish tests/run-tests.fish` and noted the result below (or in the output above).
|
|
required: false
|
|
|
|
- type: textarea
|
|
id: context
|
|
attributes:
|
|
label: Additional context
|
|
description: >-
|
|
Anything else worth knowing: a private overlay in
|
|
`~/.config/.user-dots/fish/` that may be involved, opinionated
|
|
components you've disabled, the last commit where it worked. Never
|
|
paste credentials, tokens, or machine-specific paths you'd rather not
|
|
publish.
|
|
validations:
|
|
required: false
|