-
-
Notifications
You must be signed in to change notification settings - Fork 538
[Ref/Feat] System Information #3027
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
flavioislima
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great.
That's a pretty nice refactor and works pretty well ⚔️
|
Memory use is inaccurate on macOS and Linux (there's a The "CPU" card looks a little empty like this, should probably add a logo for Apple |
|
I think this memory inconsistency should be resolved, to avoid confusion among Deck and inexperienced Linux and Mac users. Seeing above 90% memory usage reported by Heroic may be misleading |
495c37f to
0654c9b
Compare
imLinguin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great addition, looks great! MacOS codenames would be nice touch but we can postpone that to be added in the future if you feel like it
`getHericVersion` outside of utils.ts The behavior of everything but `getHeroicVersion` stayed the same. Heroic's own version codenames will now live inside `package.json` (right next to the version number) for convenience
This also adds the `hasExecutable` shorthand
We've had variations of this in several smaller `util` files, let's go for making one generic one instead
Versions of something like this (`callRunner` for example) have existed as purpose-built functions, but implementing something new that intents to spawn processes always needed a new "spawn this process with these arguments and give me the output" function along with it. Time to change that
This is essentially the `systeminformation` module, but tailor-made for our use case (no longer getting stuck, gathering more information, respecting Flatpak paths)
0654c9b to
6bdb662
Compare
src/frontend/screens/Settings/sections/SystemInfo/vendorLogo.tsx
Outdated
Show resolved
Hide resolved
| 'settings.systemInformation.systemSpecifications', | ||
| 'System Specifications:' | ||
| )} | ||
| </h5> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I originally had clarity in mind with this (your CPU, memory, and GPUs are your specifications, while everything on the page in general is information), but I'd be fine with removing it as well
6bdb662 to
f7d042b
Compare
|
Other than implementing the review comments, I've added f7d042b now (since it's a common topic in support requests) |
src/frontend/screens/Settings/sections/SystemInfo/vendorLogo.tsx
Outdated
Show resolved
Hide resolved
This offers the user's system information in a more visual and easy-to-copy way
f7d042b to
b1b8a25
Compare



This PR's main goal was to refactor the way we acquire system information. For this, several functions were split off from
src/backend/utils.tsinto their own files/folders, and a few new ones were addedOnce that was done, I had the idea to use this information in a dedicated Frontend component, so now we also have a "System Information" tab in the "Settings" category of the sidebar, which allows for easy access of this information (particularly useful if it's needed for support requests)
I've tested this on:
Some other highlights include:
package.jsonfor ease-of-accessuseAwaited, was introduced to easily work with functions returning promises in React. This is particularly useful for IPCTests for the various new functions would be neat, but the PR's already getting rather large
Use the following Checklist if you have changed something on the Backend or Frontend: