fix: AyatanaAppIndicator3 fallback + bounded anisette bootstrap guard - #18
Open
MisterWanted wants to merge 1 commit into
Open
fix: AyatanaAppIndicator3 fallback + bounded anisette bootstrap guard#18MisterWanted wants to merge 1 commit into
MisterWanted wants to merge 1 commit into
Conversation
- Fall back to AyatanaAppIndicator3 when AppIndicator3 is unavailable (modern distros renamed it). - Replace curl|grep subshells with a socket-based port_open() probe (no shell, no curl-on-PATH dependency). - Guard the bootstrap worker with a bounded 60s wait and surface the real exception via a new OopsAnisette window instead of freezing the splash forever. - Bump anisette_server download to 2.0.0. - shebang -> python3.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
AyatanaAppIndicator3whenAppIndicator3is unavailable (several modern distros renamed it), so the tray icon loads instead of crashing at import.curl 127.0.0.1:6969 | grep "{"subshells with a dependency-free, no-shellport_open()TCP probe.lol321actualfunction) with a bounded 60s wait that pollsport_open()instead of spinning forever, and surface the real failure via a newOopsAnisetteerror window instead of freezing the splash screen.anisette_serverdownload to2.0.0and addrequestsstatus checks.python3.Why
On distros without
AppIndicator3(or withoutcurlon PATH), the app currently dies at import or hangs on the splash forever with no diagnosable error. This makes bootstrap failures visible and lets the server start cleanly when needed.Tested
Runs under a GTK3 environment where only
AyatanaAppIndicator3is present; tray icon shows and the anisette bootstrap path executes/errors gracefully.