Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the GitHub issue forms #108881

Merged
merged 6 commits into from Sep 5, 2023
Merged

Improve the GitHub issue forms #108881

merged 6 commits into from Sep 5, 2023

Conversation

AlexWaygood
Copy link
Member

@AlexWaygood AlexWaygood commented Sep 4, 2023

This addresses feedback on the core dev Discord, that it's too hard to read the rendered versions of issues on the tracker now, due to the fact that the "boilerplate-y" fields such as the Python versions tested on are at the top of the template, and these have to be skimmed past before you get to the core bug description itself.

The changes are:

  • Move the main issue description so that it's the first field in every issue template. This increases the risk that people will not fill in the other fields, but I think it's a good trade-off. I agree with the criticisms that the current issue templates mean that you have to wade through too much text before you can find out what the issue is actually about.
  • Reduce the number of fields in the "bug report" template:
    • Get rid of the checkboxes; just incorporate the "please check the issue tracker for duplicates" note into the MarkDown paragraph at the top
    • Get rid of the field asking for the output of python -VV. In some situations this is useful, but most of the time it's not, and this field is adding noise to every rendered issue report. In situations where we actually need this information, we can just ask the reporter for it. I've kept this field in the "crash report" template, though, for two reasons: firstly, this information is more likely to be useful for crash reports; and secondly, we get many fewer crash reports than we do bug reports, so the concern about adding excessive amounts of noise to the issue tracker has much less weight.

As before, these are already merged into the main branch on my CPython fork, so you can try out making issues at https://github.com/AlexWaygood/cpython/issues/new/choose to get a feel for what it's like.

Examples of rendered issues:

@AlexWaygood
Copy link
Member Author

Possibly we could also get rid of the "Error messages" field in the "crash report" issue template -- thoughts? Reporters can probably just incorporate that information into the main field giving a description of the crash.

Copy link
Member

@AA-Turner AA-Turner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Some comments, but largely in favour of this proposal

A

.github/ISSUE_TEMPLATE/bug.yml Outdated Show resolved Hide resolved
.github/ISSUE_TEMPLATE/bug.yml Show resolved Hide resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think for features having the link to previous discussions at the top is useful, as it's only a single line

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The feature-request template is the one I'm most torn about when it comes to the ordering of fields. We used to get a high volume of "feature requests" asking for significant changes to Python's syntax or other major new features. I think asking people to show that they've discussed their idea somewhere else before, and having that as the first question in the template, has helped significantly reduce the volume of these feature requests. Moving it down below the main issue description significantly increases the chance that these newbies will just ignore the question (or won't even see it), I think.

However, @serhiy-storchaka pointed out that the current issue form means that link previews to feature requests on e.g. Discourse now render quite badly -- you can only see the boilerplate in the link preview: https://discuss.python.org/t/generalize-replace-function/28511/19 is an example. There's the same problem with the #github-issues channel in the core dev Discord: the feature-request previews are now overwhelmingly dominated by the boilerplate-y fields.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like Discourse cuts off at ~80 characters -- just the heading of "# Feature or enhancement" is a third of that limit, so I'm less convinced by the "Discourse link preview" argument (& it might even be a configurable setting in the Discourse back-end).

I don't tend to use aggregators though, so my view is limited by that perspective.

description: >
Give a clear and concise description of what happened.
Include a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) if possible.
[Copy and paste code where possible rather than using screenshots](https://meta.stackoverflow.com/a/285557/13990016),
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some parts of this answer are Stack Overflow-specific, but the vast majority isn't, and it's an exceptionally good explanation for why pasting screenshots of code is bad

Copy link
Member

@hugovk hugovk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@AlexWaygood AlexWaygood merged commit 24e9892 into python:main Sep 5, 2023
22 checks passed
@bedevere-bot

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants