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

System dependency checking needs a rework #69

Open
mgalgs opened this issue Mar 25, 2024 · 1 comment
Open

System dependency checking needs a rework #69

mgalgs opened this issue Mar 25, 2024 · 1 comment

Comments

@mgalgs
Copy link
Owner

mgalgs commented Mar 25, 2024

Our system dependency pop-up dialog (smDialog) was using some private APIs which are being removed in Gnome Shell 46. Worse yet, the dependency checks have actually been hard-coded out (we always assume the system dependencies are installed) since the port to Gnome Shell 45 (f838b97: "extension: Update for Gnome Shell 45"). The reason for hard-coding out the checks was because the old dependency check method relied on a try/catch of the library imports, which isn't supported in es6, and we felt like it was more important to get GS45 fixed than it was to get the dependency check fixed. Textbook example of technical debt.

We should bring back this check using modern methods (something other than an import try/catch) for the best possible user experience.

mgalgs added a commit that referenced this issue Mar 25, 2024
Our system dependency pop-up dialog (smDialog) is currently using some
private APIs which are being removed in Gnome Shell 46 [1]. Rather than
fixing this let's just tie it up and throw it overboard. This is a
reasonable course of action because:

  (1) It's not clear which replacement APIs we should be moving to. We
      could figure this out with a bit of research and testing, but it
      may not be worth it because:

  (2) The smDialog dependency checks have actually been hard-coded out
      since the port to Gnome Shell 45 [2] (since the old dependency
      check method relied on a try/catch of the library imports, which
      isn't supported in es6).

So even if we figure out a new API for copying props to the child, we'd
still never be using any of that new code anyway since we're hard-coding an
assumption of the dependencies being present.

Ultimately we *should* fix this for the best possible user experience, but
in the interest of keeping things moving with Gnome Shell updates we'll
defer that work to the back burner (#69).

[1] #64 (comment)
[2] (f838b97: "extension: Update for Gnome Shell 45")
mgalgs added a commit to glerroo/gnome-shell-system-monitor-applet that referenced this issue Mar 25, 2024
Our system dependency pop-up dialog (smDialog) is currently using some
private APIs which are being removed in Gnome Shell 46 [1]. Rather than
fixing this let's just tie it up and throw it overboard. This is a
reasonable course of action because:

  (1) It's not clear which replacement APIs we should be moving to. We
      could figure this out with a bit of research and testing, but it
      may not be worth it because:

  (2) The smDialog dependency checks have actually been hard-coded out
      since the port to Gnome Shell 45 [2] (since the old dependency
      check method relied on a try/catch of the library imports, which
      isn't supported in es6).

So even if we figure out a new API for copying props to the child, we'd
still never be using any of that new code anyway since we're hard-coding an
assumption of the dependencies being present.

Ultimately we *should* fix this for the best possible user experience, but
in the interest of keeping things moving with Gnome Shell updates we'll
defer that work to the back burner (mgalgs#69).

[1] mgalgs#64 (comment)
[2] (f838b97: "extension: Update for Gnome Shell 45")
@mgalgs
Copy link
Owner Author

mgalgs commented Mar 26, 2024

The old dialog was removed in 461475b

mgalgs added a commit that referenced this issue Oct 17, 2024
Overhaul the README to make it more digestible and better organized. This
will help users troubleshoot common issues (e.g. "Meta is null") and is
just good marketing.

It would be great to fix the dependency check message pop-up (tracked in
issue #69, nice), but we haven't done so yet out of sheer laziness. Adding
the "Meta is null" error message to the README should help a bit with user
self-troubleshooting.

Fixes #97
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant