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

Various fixes, reliability improvements. #410

Merged
merged 10 commits into from
Jul 14, 2022

Conversation

mtwebster
Copy link
Member

Intended to address reported reliability issues:

ref: #263, #392, #356, #406, #405, #383, #371, #359, #344, #343, #342, etc...

Note: I've never been able to reproduce any of these problems, but this reworks a number of aspects that were identified as suspect.

Add strict build warnings (disabled).
the backup locker.

There's no reason to have two implementations - and the python
version was completely based on this.
There's no gtk use here, so we can drop any dependency on it,
and this is actually an inner loop from -pam-helper.
This ends up remaining active even after the screensaver unlocks.
activities.

- Simplifies some startup/cancel/shutdown code that has remained
  even after some of behavior they were there for has been removed.
- Merges a number of 'partial' refreshes for different events
  into a single path.
- Cleans up unlock signals as soon as they're no longer required.
  They were keeping the unlock dialog around much longer than
  intended, and 'authenticate-cancel' was mixed up in the shutdown/
  auth cancel sequence.
- Eliminates overly-complicated interaction between the stage and
  unlock dialog during cancel and shutdown events.
- Improves reliability during suspend and monitor change events.
the pam helper.

Eliminate any query/response behavior when authentication is
completed or cancelled. Previously authClient would tell the pam
helper to exit, and wait for a response that it was doing so.

Now, the pam helper will exit under two conditions: successful
authentication will cause it to exit on its own (after sending
the success message), or cancellation by the main process will send
a SIGTERM to the helper, which will cause the helper to exit.

In either case, the main process will never wait for a response
or process end confirmation, making sure the UI is never hung
up on this. The auth client will perform any resource cleanup
asynchronously once the pam helper process actually exits.

Simplify the pam-helper's life cycle.
attempting mouse and keyboard grabs.

A frequent barrier to the screensaver starting is a modal window,
application popup menu or cinnamon popup being left open when
the user steps away from their computer. This will have the effect
of cancelling or closing these if they exist.

It sends two keystrokes in the event of a popup menu being raised
by a modal dialog (the first will cancel the popup, the second
the dialog).

note: cinnamon popups could be addressed differently (expo/overview
modes already are), but this wasn't possible with application
popups.

Ref: linuxmint#93
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

Successfully merging this pull request may close these issues.

1 participant