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

CrashReporter improvement : IssueReporter ? #2777

Merged
merged 8 commits into from
Jul 10, 2017

Conversation

GabrielXia
Copy link
Contributor

@GabrielXia GabrielXia commented Feb 7, 2017

Contains

Fixes #2765

How to test

  1. Rename the button to "Issue Reporter".
    2017-02-07 9 29 45
  • However I still don't know why my other text on button disappear. Appreciate badly someone can tell me the reason 👍
  • I just changed the text value in .lang file but haven't changed others, like "crash-reporter": "Issue Reporter", I'm wondering if it's better change all "crash reporter" to "issue reporter", like "Issue-reporter": "Issue Reporter"
  1. I've moved this button under Developer Tools menu
    2017-02-07 9 31 43
  • I'm wondering if it's necessary rename Developer Tools button to Extras

Outstanding before merging

  • Release CrashRreporter v4.1.0 and bump the Terasology dependency to match it
  • I've tried to set crash reporter window to non modal windows simply by setting set jDialog to modeless type, sadly log doesn't update @Cervator What's more, in the non modal windows, you can reopen this windows, and there can be more than one CR windows :( Other than making this window to update log, I think we should think about how to make sure there is only one CR window, like if CR window is open, press the CR button to make this windows in front of all other windows.
  • I think that there are some texts to be changed from "Crash Reporter" to "Issue Reporter" :
    2017-02-07 9 30 20
  • Ah it's mentioned in MovingBlocks/CrashReporter#35

@GooeyHub
Copy link
Member

GooeyHub commented Feb 7, 2017

Can one of the admins please verify this patch?

Copy link
Member

@Cervator Cervator left a comment

Choose a reason for hiding this comment

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

This actually works perfectly fine for me - no problems with the labels, even after switching to another language and back. Maybe there is something weird going on in your workspace?

If a thorough attempt to tidy up doesn't resolve it maybe we should try to find out if there are bugs that can mess up the display like that. I didn't do anything other than "Build Project" just in case, didn't delete my config.cfg or anything

I used the embedded CR and it worked beautifully :-)

Only one tiny comment here about grammar (I think?) and that's a non-issue. We can improve it further especially the modal thing and more label fixes but I'm good to see both PRs get merged.

Edit: Oh, and yes probably "Extras" on the button, but am curious if others agree. Really I think we need to keep that button on just about any screen so it'll be consistent.

@@ -56,7 +56,7 @@ public void initialise() {
WidgetUtil.trySubscribe(this, "settings", button -> triggerForwardAnimation(SettingsMenuScreen.ASSET_URI));
WidgetUtil.trySubscribe(this, "credits", button -> triggerForwardAnimation(CreditsScreen.ASSET_URI));
WidgetUtil.trySubscribe(this, "exit", button -> engine.shutdown());
WidgetUtil.trySubscribe(this, "crashReporter", widget -> CrashReporter.report(new Throwable("Report an error."), LoggingContext.getLoggingPath()));
WidgetUtil.trySubscribe(this, "crashReporter", widget -> CrashReporter.report(new Throwable("Report a error."), LoggingContext.getLoggingPath(), false));
Copy link
Member

Choose a reason for hiding this comment

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

I believe "Report an error" is more correct in this case than "Report a error" - English is weird that way. You can generally go with an if the next word starts with a vovel and otherwise a but there are exceptions ...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hey, I'm just thinking about deleting all the text "Report a error" or changing it, because there is actually no error in issue reporter.

@Cervator Cervator added the Topic: UI/UX Requests, Issues and Changes related to screens, artwork, sound and overall user experience label Feb 10, 2017
@GabrielXia
Copy link
Contributor Author

Problem found ! It's from system language setting, seems that Chinese support doesn't work well ! :(

@Cervator
Copy link
Member

@GabrielXia just responded with a big comment over on #2677 - just to clarify, you picked Chinese yourself under the Player Settings, right? It didn't get picked by the game automatically from simply running on your system? I'd think it would start out English in any case :-)

@msteiger
Copy link
Member

Why are you removing the button from the in-game menu?

@GooeyHub
Copy link
Member

Uh oh, something went wrong with the build. Need to check on that

@Cervator
Copy link
Member

Why are you removing the button from the in-game menu?

@msteiger that one is on me, I raised it as an idea over in #2765 but it was honestly more of a stray thought / suggestion I had hoped to get some more opinions on first :-)

To be clear the button just moved one level deeper, it didn't go away entirely. But I am curious what the most ideal setup there would be. Should reporting an issue be right there as a top level button users can easily spot, or grouped with other stuff under "Extras" ?

I would love to instead see the thing I mentioned over in #2765 about what @iojw did in the CR, so we can have a little warning icon in a bottom corner instead of a full button. Make it highlight if anything has occurred we think might be worth reporting. Otherwise it is just a small icon hiding in a corner, not adding much to clutter.

@GabrielXia
Copy link
Contributor Author

Hello :-) I've moved this button to the Developer Tools. I think the issue reporter might rather be a tool for developer, but you are right, put it in in-game menu is more convenient for user to check. Maybe we can ask @Cervator here to discuss about where we put this button :-)

p.s. Why there is a red cross ? Scared ...

@Cervator
Copy link
Member

The red x is because the build in Jenkins failed - in this case that's just the unfortunate reality of making a change that requires a new version of an external project like the CrashReporter. Since the engine build test uses the latest CR without your change there is a simple syntax error where the new thing is missing :-)

Poking @rzats for an additional opinion on the button since he does UI stuff!

@@ -27,6 +27,8 @@
import org.terasology.rendering.nui.widgets.UILabel;
import org.terasology.version.TerasologyVersion;

import javax.print.attribute.standard.Severity;
Copy link
Member

@rzats rzats Feb 13, 2017

Choose a reason for hiding this comment

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

The enum you're using is intended for a printer API and currently happens to contain the three values we need, but can be arbitrarily changed in the future. Can you replace it with a custom enum located within the CrashReporter so that we "own" the enum's code?

@@ -33,7 +31,6 @@ public void initialise() {
WidgetUtil.trySubscribe(this, "settings", widget -> getManager().pushScreen("settingsMenuScreen"));
WidgetUtil.trySubscribe(this, "mainMenu", widget -> CoreRegistry.get(GameEngine.class).changeState(new StateMainMenu()));
WidgetUtil.trySubscribe(this, "exit", widget -> CoreRegistry.get(GameEngine.class).shutdown());
WidgetUtil.trySubscribe(this, "crashReporter", widget -> CrashReporter.report(new Throwable("Report an error."), LoggingContext.getLoggingPath()));
Copy link
Member

@rzats rzats Feb 13, 2017

Choose a reason for hiding this comment

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

@Cervator I'd keep the button in the in-game menu. It's fairly well-hidden anyways.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah I'm in no rush to move stuff around. More curious what we should be aiming for :-)

@@ -77,7 +77,7 @@
* <tr><td>-headless</td><td>Start headless.</td></tr>
* <tr><td>-loadlastgame</td><td>Load the latest game on startup.</td></tr>
* <tr><td>-noSaveGames</td><td>Disable writing of save games.</td></tr>
* <tr><td>-noCrashReport</td><td>Disable crash reporting.</td></tr>
* <tr><td>-noCrashReport</td><td>Disable crash reporting when having a crash.</td></tr>
Copy link
Member

Choose a reason for hiding this comment

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

No need to change the documentation - it still makes sense (the option disables crash reporting, but not issue/feedback reporting)

Copy link
Member

Choose a reason for hiding this comment

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

My thought was emphasizing the flag doesn't disable the usage of the CR for issue reporting (just on triggering actual crashes) ... but yeah this line as written kinda ends up working anyway, since the new option is indeed more about issue/feedback reporting, not crashes :-)

@GooeyHub
Copy link
Member

Uh oh, something went wrong with the build. Need to check on that

1 similar comment
@GooeyHub
Copy link
Member

Uh oh, something went wrong with the build. Need to check on that

@GooeyHub
Copy link
Member

Uh oh, something went wrong with the build. Need to check on that

@oniatus
Copy link
Contributor

oniatus commented May 11, 2017

MovingBlocks/CrashReporter#36 has been merged some time ago. Is there something outstanding here except the new release and version bump?
The conflict in the language file seems to be pretty small.

@GabrielXia
Copy link
Contributor Author

Thanks for keeping on this, I think it's ok for the moment. :-)
The enhancement of CR could be:

  • Show warning icon somewhere in the game when there is an error
  • Based on the telemetry system, maybe a new page showing all the information sent to the server

@skaldarnar
Copy link
Member

I've just released a new version of CR (4.1.0). We can probably merge this after the next Alpha release.

@GabrielXia could you please update the dependency in this PR?

@GooeyHub
Copy link
Member

GooeyHub commented Jul 9, 2017

Uh oh, something went wrong with the build. Need to check on that

@GabrielXia
Copy link
Contributor Author

I'm so glad to see this to be merged :-)

@skaldarnar which dependency do you refer to? Is that the exclusion of jackson in CR: MovingBlocks/CrashReporter#39 or the one to import snowplow: #2968 ?

@Cervator Cervator merged commit 385544e into MovingBlocks:develop Jul 10, 2017
Cervator added a commit that referenced this pull request Jul 10, 2017
Minor conflicts resolved - just conflicting additions on the same line.
@Cervator
Copy link
Member

I went ahead and did the version bump (just the CR itself in the engine's build.gradle from 4.0.1 to 4.1.0) while merging. Conflicts were benign as expected and it tested out fine :-)

@Cervator Cervator added this to the Alpha 8 milestone Jul 10, 2017
@0shine0
Copy link
Contributor

0shine0 commented Jul 13, 2017

@Cervator There seems to be a problem with my build. Although you bumped the version of CR, do i need to do anything else manually like download the new version jar for CR?

@skaldarnar
Copy link
Member

@0shine0 running gradlew idea or gradlew jar should put you on the safe side and download the updated dependency. Be sure that you don't have the Crash Reporter checked out as source in case you run into problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Topic: UI/UX Requests, Issues and Changes related to screens, artwork, sound and overall user experience
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants