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

Implement a banner in gs-connect if OpenSSL or any similar dependency is not detected or encounters an issue #1834

Open
cu8code opened this issue Jun 23, 2024 · 3 comments
Labels
dependencies Issues or changes related to GSConnect dependencies enhancement A request for a feature or additional functionality shell-extension An issue related to the GNOME Shell extension UX User Experience

Comments

@cu8code
Copy link

cu8code commented Jun 23, 2024

Describe your request

If OpenSSL is not installed, Gs-connect triggers a notification indicating that OpenSSL is not found. Initially, I overlooked this notification, which led to wasting 30 minutes trying to diagnose the issue.

Proposed solution

A more effective approach would be to implement a banner in Gs Connect that alerts users when such issues occur.

Here their is not indication of error
Screenshot from 2024-06-23 19-58-05

Something similar like this banner, on top of GS connect if something go wrong
Screenshot from 2024-06-23 19-58-26

Alternatives

No response

GSConnect version

57

Installed from

Extension Manager

GNOME Shell version

46.2

Linux distribution/release

fedora 40

Additional context

No response

@cu8code cu8code added the enhancement A request for a feature or additional functionality label Jun 23, 2024
@github-actions github-actions bot added the triage An issue that needs confirmation and labeling label Jun 23, 2024
@cu8code cu8code changed the title add a banner to gs-connect if openssl is not found is not found or any other problem of similar nature "Implement a banner in gs-connect if OpenSSL or any similar dependency is not detected or encounters an issue." Jun 23, 2024
@cu8code cu8code changed the title "Implement a banner in gs-connect if OpenSSL or any similar dependency is not detected or encounters an issue." Implement a banner in gs-connect if OpenSSL or any similar dependency is not detected or encounters an issue Jun 23, 2024
@ferdnyc ferdnyc removed the triage An issue that needs confirmation and labeling label Jun 26, 2024
@ferdnyc
Copy link
Member

ferdnyc commented Jun 26, 2024

Hmm. That's not the worst idea. And GSConnect already has (and I think still has) banners that show in the Preferences interface, so most of the code is probably already there.

I suspect one reason for choosing a notification is that it doesn't require opening the Preferences application to be seen, whereas a banner would. (An issue with missing dependencies could be encountered when loading the GSConnect Quick Settings tile, which would still trigger a notification without requiring the user to open Preferences.)

For missing openssl, specifically, it seems like the user would have to be in the Preferences app, because there's no way to pair devices without it. But we've seen cases in the past where an OS upgrade removed OpenSSL from the system, which caused problems with an already-configured GSConnect.

...Still, I suppose we could do both.

@ferdnyc ferdnyc added UX User Experience shell-extension An issue related to the GNOME Shell extension dependencies Issues or changes related to GSConnect dependencies labels Jun 26, 2024
@cu8code
Copy link
Author

cu8code commented Jun 27, 2024

..Still, I suppose we could do both.

that would be very nice

For missing openssl, specifically, it seems like the user would have to be in the Preferences app, because there's no way to pair devices without it. But we've seen cases in the past where an OS upgrade removed OpenSSL from the system, which caused problems with an already-configured GSConnect.

I removed openssl from my system for god knows whatever reason.
I could implement this feature if you assign me It would be fun to help.

@ferdnyc
Copy link
Member

ferdnyc commented Jun 30, 2024

@cu8code We don't typically assign issues, but pull requests are always welcome and I'll be happy to review, or to provide what information I can regarding the GSConnect internals.

What I can tell you right now is:

  1. The OpenSSL check is in src/service/backends/lan.js, but since that's divorced entirely from the Preferences app, you might be better off just adding a separate check to src/preferences/service.js.
  2. The banner I mentioned is the "Discovery Disabled" infobar, defined in data/ui/preferences-window.ui (inside the GtkRevealer that starts on line 708). But since it has fixed text content, it probably isn't actually of much use in terms of "existing code", other than as a template to follow.
  3. Display of the banner is bound to the 'discoverable' settings action in src/preferences/service.js:
    // Discoverable InfoBar
    this.settings.bind(
    'discoverable',
    this.infobar,
    'reveal-child',
    Gio.SettingsBindFlags.INVERT_BOOLEAN
    );
    this.add_action(this.settings.create_action('discoverable'));

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Issues or changes related to GSConnect dependencies enhancement A request for a feature or additional functionality shell-extension An issue related to the GNOME Shell extension UX User Experience
Projects
None yet
Development

No branches or pull requests

2 participants