jashkenas / backbone

Give your JS App some Backbone with Models, Views, Collections, and Events
http://backbonejs.org
MIT License
28.1k stars 5.39k forks source link

Issue templates #4278

Closed jgonggrijp closed 7 months ago

jgonggrijp commented 1 year ago

I decided to try my hand at GitHub's issue template functionality. The changes can be previewed at my fork, where I temporarily enabled issues. This is probably a better way to review this PR than by reading the YAML files. The top three categories have forms that you can view by clicking "get started".

I had two main goals:

  1. Steer people away from reporting security vulnerabilities through public issue tickets. Those should be communicated privately to me and Jeremy instead.
  2. Guide inexperienced users to document their issues as clearly as possible.

For expert users, there is still the option to skip the forms and create a blank issue.

I may have gone a bit overboard with the forms. I'm open to all suggestions.

jgonggrijp commented 1 year ago

Bump: I would prefer to see opinions from at least two different people (excluding myself), before taking a decision. To anyone considering to do a review: you can skip the code, the preview link in the opening post will show you what it will actually look like in the GitHub web interface.

CC @paulfalgout @RayRaz @GammaGames

GammaGames commented 1 year ago

I figured out how to preview them, they look good! The bug one might be a little long though, entering all that information would take a while. I left a few comments where I thought they could be combined without missing anything

Rayraz commented 1 year ago

The bug form is quite long. I suppose things like logs, research, prior discussions, related tickets, etc. could all be wrapped into simply a remarks field?

Steps to reproduce and example code could possibly be merged into one field as well.

jgonggrijp commented 1 year ago

I figured out how to preview them, they look good! The bug one might be a little long though, entering all that information would take a while. I left a few comments where I thought they could be combined without missing anything

@GammaGames where can I see your comments?

GammaGames commented 1 year ago

The comments should be in a review, I think? I see it in the feed: image

jgonggrijp commented 1 year ago

@GammaGames Ah, it says "pending" in that screenshot, which means they are probably only visible to you. GitHub queues your comments and then publishes them all at once when you submit your "overall" review (i.e., the "verdict"). You can make that final step by going to the "Files changed" tab and pressing the green button in the top right.

GammaGames commented 1 year ago

@jgonggrijp Thank you, posted! Guess I've accidentally done it correctly the few times I've posted a review

jgonggrijp commented 1 year ago

@GammaGames and @Rayraz, I think I followed up on your review comments (maybe not to the letter but hopefully still in spirit). I merged a bunch of questions, especially in the bug template. Please have another look at the live preview.

The new debugInfo method is up for debate; I kept all changes related to it on separate commits, so they can be easily reverted.

GammaGames commented 1 year ago

I think the shortened bug report mostly looks good! Is there any way to make the behavior question inputs larger? One of them has their placeholder text truncated: image

jgonggrijp commented 1 year ago

I can only choose between single-line <input> and multi-line <textarea>. In the latter case, it is the same size as all other "large" boxes. Which of these options would you prefer?

By they way, do you think that the code size of the debugInfo function is proportional to its usefulness?

paulfalgout commented 1 year ago

@jgonggrijp honestly I'd move that debugInfo into a separate directory/module such that people can

import Backbone from 'backbone';
import { debugInfo } from 'backbone/debug-info';
GammaGames commented 1 year ago

I like that they're <input>s, I think a shorter example would fit the space and help guide the user. And yes, the added code for debugInfo has a lot of value! Gathering all the versions as well as environment would be tedous without it

jgonggrijp commented 11 months ago

Alright, I shortened the placeholder for that <input>, moved debugInfo to a separate module and added documentation for it.

The updated bug report template can be previewed here and the documentation for debugInfo can be previewed here. I would appreciate a final thumbs-up before merging this!

(The linter currently chokes on the ESM syntax in modules/debug-info.js, I'll adress that before merging.)

GammaGames commented 11 months ago

👍️