Skip to content

Commit 86738dc

Browse files
ivakubIvan.Kubyshkin
andauthored
Added templates to the issue creation wizard (#4654)
Co-authored-by: Ivan.Kubyshkin <ivan.kubyshkin@jetbrains.com>
1 parent 330fcc2 commit 86738dc

11 files changed

Lines changed: 360 additions & 157 deletions
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Bug report
2+
description: Something in kotlinx.coroutines behaves incorrectly
3+
title: "[Bug] "
4+
labels:
5+
- bug
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for the report!
12+
13+
Please focus on **what happens** and **how to reproduce it**.
14+
Everything else is optional.
15+
16+
Before filing, a quick sanity check (no worries if you’re unsure):
17+
18+
- If the behavior is documented but feels wrong or questionable,
19+
it might be better filed as a **design discussion** rather than a bug.
20+
- If something is unclear rather than broken, you may get a faster answer on
21+
[StackOverflow](https://stackoverflow.com/) or in the
22+
[Kotlin Slack](https://slack-chats.kotlinlang.org/).
23+
- Please make sure the issue is in **kotlinx.coroutines itself**,
24+
not in Kotlin, a third-party library, or your own code.
25+
- If you suspect this might already be fixed, trying a recent version can help —
26+
but it’s okay if you can’t.
27+
28+
If in doubt, just file the issue and describe what you see.
29+
30+
- type: textarea
31+
id: problem
32+
attributes:
33+
label: What is happening? What should have happened instead?
34+
placeholder: |
35+
Describe what looks wrong or unexpected.
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: reproducer
41+
attributes:
42+
label: Reproducer
43+
description: |
44+
Any form of reproducer is welcome.
45+
46+
- A minimal, self-contained snippet is ideal
47+
- A small sample project is great
48+
- A real-world project or production code is also fine if isolating the issue is hard
49+
50+
If the code is private, please mention that — we can discuss alternatives.
51+
placeholder: |
52+
```kotlin
53+
runBlocking {
54+
// minimal example
55+
}
56+
```
57+
validations:
58+
required: true
59+
60+
- type: textarea
61+
id: additional
62+
attributes:
63+
label: Anything else? (optional)
64+
placeholder: |
65+
What you expected, versions, environment, logs, links — whatever you think matters.
66+
validations:
67+
required: false
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: Feature request
2+
description: Suggest a new feature or enhancement for kotlinx.coroutines
3+
title: "[Feature] "
4+
labels:
5+
- enhancement
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for the idea!
12+
13+
Please focus on **what problem you’re trying to solve** and **why existing APIs don’t work well enough**.
14+
15+
If you’re unsure whether this belongs here, that’s okay —
16+
just describe your use case and we’ll figure it out together.
17+
18+
- type: textarea
19+
id: use_case
20+
attributes:
21+
label: What are you trying to do?
22+
description: |
23+
Describe the problem or use case you’re facing.
24+
Focus on *what* you want to achieve and *why* it’s difficult today.
25+
placeholder: |
26+
Example:
27+
I have a SharedFlow that represents readings from an external device,
28+
and I need to ...
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: underlying_problem
34+
attributes:
35+
label: What problem does this actually solve?
36+
description: |
37+
Describe the underlying need, independent of any specific solution or API.
38+
39+
In other words:
40+
* What is hard or impossible to do today?
41+
* What breaks or becomes unsafe/inefficient without this?
42+
* How would you know that the problem is solved?
43+
44+
Please avoid describing a specific operator or API here.
45+
placeholder: |
46+
Example:
47+
In production we need to guarantee that ...
48+
Without this, we end up with ...
49+
Existing APIs fail because ...
50+
validations:
51+
required: true
52+
53+
- type: textarea
54+
id: idea
55+
attributes:
56+
label: Your idea (optional)
57+
description: |
58+
If you have an idea of what the solution or API could look like, feel free to share it.
59+
Rough sketches, pseudocode, or examples are all welcome.
60+
placeholder: |
61+
```kotlin
62+
fun <T> Flow<T>.newOperator(): Flow<T>
63+
```
64+
validations:
65+
required: false
66+
67+
- type: textarea
68+
id: prior_art
69+
attributes:
70+
label: Prior art or similar ideas (optional)
71+
description: |
72+
Are there similar features in other libraries or ecosystems?
73+
Links and comparisons are helpful, but not required.
74+
placeholder: |
75+
RxJava has a similar operator that works like this...
76+
validations:
77+
required: false
78+
79+
- type: textarea
80+
id: additional
81+
attributes:
82+
label: Anything else? (optional)
83+
description: |
84+
Motivation, constraints, production experience, trade-offs —
85+
anything that helps understand the request.
86+
validations:
87+
required: false
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Design consideration
2+
description: Discuss intentional but suboptimal behavior or possible design improvements
3+
title: "[Design] "
4+
labels:
5+
- design
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
This issue type is for discussing **intentional library behavior that feels suboptimal**,
12+
surprising, or worth reconsidering.
13+
14+
If the behavior looks unintentional, undocumented, or plainly wrong,
15+
a **Bug report** might be a better fit.
16+
17+
If you’re unsure — just describe what you see and why it feels off.
18+
19+
For quick questions or general design advice, you may also want to ask on
20+
[StackOverflow](https://stackoverflow.com/) or in the
21+
[Kotlin Slack](https://slack-chats.kotlinlang.org/).
22+
23+
- type: textarea
24+
id: current
25+
attributes:
26+
label: What do we have today?
27+
description: |
28+
Describe the current behavior.
29+
Code examples are very helpful.
30+
placeholder: |
31+
Currently, this behaves like:
32+
```kotlin
33+
// example
34+
```
35+
validations:
36+
required: true
37+
38+
- type: textarea
39+
id: concern
40+
attributes:
41+
label: Why does this feel problematic?
42+
description: |
43+
What is suboptimal, awkward, or limiting about the current behavior?
44+
placeholder: |
45+
This makes it hard to...
46+
validations:
47+
required: true
48+
49+
- type: textarea
50+
id: idea
51+
attributes:
52+
label: Possible alternative (optional)
53+
description: |
54+
If you have an idea of how this could work differently, feel free to share it.
55+
This can be vague, incomplete, or exploratory.
56+
placeholder: |
57+
It might be nicer if...
58+
```kotlin
59+
// sketch
60+
```
61+
validations:
62+
required: false
63+
64+
- type: textarea
65+
id: tradeoffs
66+
attributes:
67+
label: Trade-offs you see (optional)
68+
description: |
69+
Any pros, cons, risks, or breaking-change concerns you already thought about.
70+
Not required, but very welcome.
71+
placeholder: |
72+
One concern is that this could...
73+
validations:
74+
required: false
75+
76+
- type: textarea
77+
id: additional
78+
attributes:
79+
label: Anything else? (optional)
80+
description: |
81+
Context, links to prior discussions, production experience, or related issues.
82+
validations:
83+
required: false
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Documentation issue
2+
description: Report missing, unclear, or incorrect documentation in the Coroutines guide
3+
title: "[Docs] "
4+
labels:
5+
- guide
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Help us improve the documentation!
12+
13+
If something in the Coroutines guide was confusing, misleading,
14+
missing, or simply didn’t help — please let us know.
15+
16+
If you’re not sure how to phrase it, just describe where you got stuck.
17+
18+
- type: textarea
19+
id: location
20+
attributes:
21+
label: Where is the issue?
22+
description: |
23+
A link to the page or a short description of where this appears.
24+
placeholder: |
25+
https://kotlinlang.org/docs/coroutines-guide.html
26+
or: “Channels → Fan-out section”
27+
validations:
28+
required: false
29+
30+
- type: textarea
31+
id: problem
32+
attributes:
33+
label: What’s wrong or confusing?
34+
description: |
35+
Describe what didn’t work for you, or what you think is missing or incorrect.
36+
placeholder: |
37+
The explanation of ... is confusing because ...
38+
validations:
39+
required: true
40+
41+
- type: textarea
42+
id: suggestion
43+
attributes:
44+
label: Any suggestions? (optional)
45+
description: |
46+
If you have an idea how this could be explained better,
47+
or have seen a good explanation elsewhere, feel free to share.
48+
placeholder: |
49+
This would make more sense to me with an explanation like this...
50+
validations:
51+
required: false
52+
53+
- type: textarea
54+
id: additional
55+
attributes:
56+
label: Anything else? (optional)
57+
description: |
58+
Screenshots, links, examples, or related issues.
59+
validations:
60+
required: false
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Release candidate feedback
2+
description: Report a regression or issue found in a Release Candidate
3+
title: "RC: "
4+
labels:
5+
- bug
6+
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for testing a Release Candidate!
12+
13+
If something broke or started behaving differently in an RC,
14+
please let us know as soon as possible.
15+
16+
If you’re not 100% sure whether this also happens in the latest stable release,
17+
that’s okay — still file the issue and describe what you see.
18+
19+
- type: textarea
20+
id: problem
21+
attributes:
22+
label: What broke or changed?
23+
description: |
24+
Describe the observed behavior.
25+
Even a rough description is helpful.
26+
placeholder: |
27+
After updating to the RC, I noticed that...
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: reproducer
33+
attributes:
34+
label: Reproducer (optional)
35+
description: |
36+
Any form of reproducer is welcome.
37+
38+
- A minimal, self-contained snippet is ideal
39+
- A small sample project is great
40+
- A real-world project or production code is also fine if isolating the issue is hard
41+
42+
If the code is private, please mention that — we can discuss alternatives.
43+
placeholder: |
44+
```kotlin
45+
runBlocking {
46+
// example
47+
}
48+
```
49+
50+
or a link to a repository / project
51+
validations:
52+
required: false
53+
54+
- type: textarea
55+
id: additional
56+
attributes:
57+
label: Anything else? (optional)
58+
description: |
59+
Versions, environment details, logs, or anything that might help.
60+
validations:
61+
required: false

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)