ItsSim / fsolauncher

Official FreeSO Launcher made with Electron
https://beta.freeso.org
Mozilla Public License 2.0
14 stars 9 forks source link

[Windows, Mac] System Diagnostics #18

Closed ItsSim closed 1 year ago

ItsSim commented 2 years ago

The launcher should have an easy and straightforward way to obtain diagnostic data without the need of third-party programs.

Should not contain personal identifiable information, just technical information such as:

So the user can copy and paste this info to Discord for example, to better help with an issue they may be having.

This feature could reside in the "About" tab, behind a button to "Generate diagnostic data", then show a textbox (that can be copied from) with the information.

tomgrice commented 2 years ago

Can we get some consensus on what information would be useful/relevant/safe to share? https://systeminformation.io/ looks like a good module to include to provide that information.

Launcher version OS information (OS name, build, architecture etc) GPU information CPU information Memory available DX/OpenGL version available? Modules installed (with builds/versions)

Of course it would be hard to be exhaustive with this list but might be worth seeing what has been relevant/useful information asking helpers on Discord what usually helps them diagnose a problem?

ItsSim commented 2 years ago

https://systeminformation.io/ looks like a good module to include to provide that information.

Sure, you can add that dependency.

Launcher version OS information (OS name, build, architecture etc) GPU information CPU information Memory available DX/OpenGL version available? Modules installed (with builds/versions)

I would also include the following for graphics-related issues, which happen a lot:

You can grab these from the FSOLauncher.conf object.

Modules installed (with builds/versions)

This can be tricky as the launcher doesn’t store versions, you’d have to check each one differently to look for it.

I dont think the version of anything else would be that relevant except for OpenGL/DirectX which you listed earlier, but it should show if they are installed (yes/no) for all the components that can be installed (using the FSOLauncher.isInstalled object, they’re all there).

ItsSim commented 2 years ago

Also Registry access on Windows should be shown as well in the diagnostics box. Registry.testWinAccess() returns this info. Some users have their registry sort of "sandboxed" by antivirus software or some other settings, so the launcher can’t read/write entries related to the installation.

ItsSim commented 2 years ago

Another thing, I saw you were using a Modal to display this information in the commit you made in the PR. I think a better place would be right in the About tab content, hide/show a box (which is in the page content, but hidden) with the info when you click the button. Spacing in Modals is pretty restricted and should be used only for simple text content.

ItsSim commented 1 year ago

This has been taken care of with Sentry #50 . It automatically reports errors. Developing this would be redundant.