-
Notifications
You must be signed in to change notification settings - Fork 668
5909 report bug ux tested #9393
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
Conversation
Update from DynamoDS repo
update from DynamoDS
since we make a new Uri, it would never have any existing query parameters
|
Started on the unit tests @alfarok , will finish them later today, they test :
For now, confirmed (in a separate experiment) the methodology works for all major browser (on Windows at least) and correctly catches open tabs with right name on : Edge, Chrome, Firefox & even Internet Explorer. One potential hiccup is that if you're not logged in, you'd be taken to sign-in page, so i'll test further for that and adjust. |
|
let me know in the meantime if it makes sense where the unit test is placed. |
|
@radumg sorry, I should have been more clear. Please keep the test class and tests public (I think they need to be public to be found by nunit on our runner) - I only meant to make the 😄 |
|
@mjkkirschner hah, thought there was something funny there, but looked at other classes and they lacked an access modifier, turns out only the methods need it. Didn't have the |
|
Ok, should be ready for review now @mjkkirschner @alfarok Works both logged in and logged out of Github Now adds long stack trace & further metadata details (OS, CLR & Dynamo versions) to issue body When submitted, it looks like this Let me know what you think & if you have any feedback/ideas, etc 😄 |
|
FYI, introduced a new |
|
Hey @radumg, thanks for continuing this work! I'll pull your changes today and review |
|
Looking great 👏 , thanks @alfarok ! |
|
@radumg quick update, the tests are failing on the test machine because no user is logged in so it brings you to the login page as you outlined. We can probably just test the body of the request instead and not open the browser at all. I am looking into a solution now |
|
hm, interesting @alfarok ! There's a fallback so the unit test should detect it's on the sign-in page and pass. In private bool ContainsAllTargetWords(string source)
{
return TargetWords.TrueForAll(x => source.ToUpper().Contains(x)) ||
TargetWordsLoggedOutFallback.TrueForAll(x => source.ToUpper().Contains(x));
}where the words are : List<string> TargetWordsLoggedOutFallback = new List<string> { "SIGN IN", "GITHUB" };Running it here works logged out too. |
What OS is the test machine ? Linux or Windows ? I'm wondering if grabbing the |
|
@radumg I think it is because the test machine opens an additional window about setting a default browser (or something similar) before continuing. Unfortunately I don't think our testing machines will be super reliable with browser interactions, sorry for any additional work. I am making a PR to your branch now that simplifies the tests a bit but covers similar functionality. If we get everything resolved by today we should be able to get this into 2.1 |
Address browser testing issues on test machines
|
All merged in 👍 |
|
Not sure what’s going with Github, my comments keep disappearing, so just in case : @alfarok your PR should be merged now, if not please feel free to proceed with it, all looks 👏 |
|
@radumg once the self-serve completes I think this is ready to merge if there are no objections from @mjkkirschner. Thanks for the quick updates the last couple of days, this will be really nice to have in 2.1 👍 |
|
this looks good to me. |
|
@radumg all unit tests passing, merged. @QilongTang can I cherry-pick to 2.1? |
* add /new to GitHubBugReportingLink url * add bug report title to .resx * add support for pre-filled new Github issue text when reporting * Revert resx un-necessary changes * simplify query construction since we make a new Uri, it would never have any existing query parameters * rename variables for legibility * add fallback values for text to prevent null exceptions * invert IF logic to bail early * add XML comment for public method * get rid of conditional logic ✌️ * scaffold unit tests for CrashReporting * add CrashReportingTests.cs to DynamoCoreWpfTests proj * remove public access modifiers * add logged out fallback and make tab detection case-insensitive * move issue text & url formatting to new CrashUtilities.cs file * add test for long stack trace * Revert "Revert resx un-necessary changes" This reverts commit 01fc93c. * add description to issue crash report * fix XML comments * further formatting to crash report * Include issue details from old template * additional new line required * remove browser interaction from unit tests * decrement Dynamo version to make release * comment spelling * spelling - GithhubCrashReportBody becomes GitHubCrashReportBody
My pleasure, many thanks @alfarok and @mjkkirschner for the help 🍻 |
* add /new to GitHubBugReportingLink url * add bug report title to .resx * add support for pre-filled new Github issue text when reporting * Revert resx un-necessary changes * simplify query construction since we make a new Uri, it would never have any existing query parameters * rename variables for legibility * add fallback values for text to prevent null exceptions * invert IF logic to bail early * add XML comment for public method * get rid of conditional logic ✌️ * scaffold unit tests for CrashReporting * add CrashReportingTests.cs to DynamoCoreWpfTests proj * remove public access modifiers * add logged out fallback and make tab detection case-insensitive * move issue text & url formatting to new CrashUtilities.cs file * add test for long stack trace * Revert "Revert resx un-necessary changes" This reverts commit 01fc93c. * add description to issue crash report * fix XML comments * further formatting to crash report * Include issue details from old template * additional new line required * remove browser interaction from unit tests * decrement Dynamo version to make release * comment spelling * spelling - GithhubCrashReportBody becomes GitHubCrashReportBody
This reverts commit dfb7ddf.
* 5909 report bug ux tested (#9393) * add /new to GitHubBugReportingLink url * add bug report title to .resx * add support for pre-filled new Github issue text when reporting * Revert resx un-necessary changes * simplify query construction since we make a new Uri, it would never have any existing query parameters * rename variables for legibility * add fallback values for text to prevent null exceptions * invert IF logic to bail early * add XML comment for public method * get rid of conditional logic ✌️ * scaffold unit tests for CrashReporting * add CrashReportingTests.cs to DynamoCoreWpfTests proj * remove public access modifiers * add logged out fallback and make tab detection case-insensitive * move issue text & url formatting to new CrashUtilities.cs file * add test for long stack trace * Revert "Revert resx un-necessary changes" This reverts commit 01fc93c. * add description to issue crash report * fix XML comments * further formatting to crash report * Include issue details from old template * additional new line required * remove browser interaction from unit tests * decrement Dynamo version to make release * comment spelling * spelling - GithhubCrashReportBody becomes GitHubCrashReportBody * Revert "5909 report bug ux tested (#9393)" This reverts commit dfb7ddf.










Purpose
NOTE : replaces PR #9150 which was based on wrong branch and adds unit tests.
Fixes #5909 by pre-filling the new Github issue page with
Crash report from Dynamo 2.0.1CrashPromptwindow bottom text boxCurrently pressing
Submit to Githubtakes you here :With the new behaviour, pressing
Submit to Githubtakes you here :In the above image, the
This is the error textbody would be replaced by the actual details of the crash stack trace, as per original screenshot in #5909 .I can't seem to be able to make Dynamo crash on purpose right now (funny how that works...), so dunno how to replicate.
Other notes
https://github.com/DynamoDS/Dynamo/issues/newby default when no crash text is supplied (friendlier than sending to the super-busy all issues page)Further improvements
We could add the rest of the current
issue templatetext to the body and wrap thecrash dumpinside a nice code block, but I'm afraid that'd make the query string way too long. Open to ideas/suggestions ?Declarations
Check these if you believe they are true
*.resxfilesReviewers
@alfarok
@Racel
FYIs
@andydandy74 , @johnpierson