Help users find a feature with an interactive binary search#4119
Conversation
|
Your on 🔥 |
| // Test with all features disabled first | ||
| await onlyEnableFeatures(options, featuresState, []); | ||
| if (await confirmBug()) { | ||
| window.alert('It’s a native GitHub bug!'); |
There was a problem hiding this comment.
This isn't 100% true as not all features can be disabled.
There was a problem hiding this comment.
We could change the message to something like
The bug comes from a permanent CSS feature or GitHub itself.
There was a problem hiding this comment.
I'd prefer not focusing on the fact that we have permanent CSS. The message could be something like
Every feature has been disabled. If you still see the bug, try disabling the whole extension.
| // Test with all features disabled first | ||
| await onlyEnableFeatures(options, featuresState, []); | ||
| if (await confirmBug()) { | ||
| window.alert('It’s a native GitHub bug!'); |
There was a problem hiding this comment.
I'd prefer not focusing on the fact that we have permanent CSS. The message could be something like
Every feature has been disabled. If you still see the bug, try disabling the whole extension.
|
I changed the title because while it's a meta feature, it's also user-facing and I want it to appear in the changelog |
|
I rewrote the PR as suggested. It's still a bit rough around the edges but it works. PS: sorry for leaving so many PRs open for so long, I had some serious hardware troubles. |
Co-authored-by: Federico <me@fregante.com>
Co-authored-by: Federico <me@fregante.com>
Co-authored-by: Federico <me@fregante.com>
|
I think the conclusion is incorrect. On this page I tried identifying |
| <strong>Find a feature</strong> | ||
| </p> | ||
| <p> | ||
| This process will help you identify what Refined GitHub feature is making changes or causing issues on GitHub. |
There was a problem hiding this comment.
Should we already here tell the user to first disable Refined GitHub to make sure the issue is with Refined GitHub?
There was a problem hiding this comment.
I had proposed it this way at the beginning but I’m not particularly interested in that, the user can just toggle the extension if they feel this situation is likely.
If not, they can just follow the procedure as a regular bisect, and that’s just easier to reason about and code for us. The last step will be exactly this anyway: every JS feature is disabled.
There was a problem hiding this comment.
But isn't it worth trying this before wasting time on the bisect?
There was a problem hiding this comment.
But isn't it worth trying this before wasting time on the bisect?
Yes and no, fully disabling the extension is more effective than this anyway since we have non-disableable CSS features and code that runs outside init, e.g. #3336
I know I personally would probably disable it entirely in the first place if I'm unsure whether a bug is caused by RG, e.g. #3055 (comment)
Do you see yourself using this wizard for that step?
|
Tried it with native and non-native features, works great! Small UX suggestion: how about disabling the "Yes"/"No" buttons until the page has finished loading? A few times I wrongly thought a feature didn't appear and clicked the "No" button by mistake, which means having to restart the whole process.
If you're talking about the number of steps left displayed, yeah that might happen because it's a "worst case" prediction. We could reword the message slightly: "(at most x steps left) Also I agree that it's better to have the "It might not be RGH" message at the end of the process, but in that case adding a little disclaimer about disabling the extension in the options page wouldn't hurt. (Even if it's already in the issue template.) |
Some features load after the
heheh I think it's fine the way it is, without complicating things. |
fregante
left a comment
There was a problem hiding this comment.
I haven't tested the latest revision, but after this it should be good to go
Co-authored-by: Federico <me@fregante.com>
Co-authored-by: Federico <me@fregante.com>
💯 |
|
Now let's see if this is actually going to be useful 😄 |
|
I needed it several times when trying to find buggy features already, so I'm confident I will again 😃 |


Closes #2586
Screenshot