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

Allow stopping the installation #561

Open
joseivanlopez opened this issue May 8, 2023 · 1 comment
Open

Allow stopping the installation #561

joseivanlopez opened this issue May 8, 2023 · 1 comment
Labels
d-bus enhancement New feature or request ux UX related bugs/improvements

Comments

@joseivanlopez
Copy link
Contributor

joseivanlopez commented May 8, 2023

There is no way to stop the installation once it starts. Sometimes it does not make sense to continue with the installation, for example if there is an important storage commit error. Now, that kind of errors are reported to the user (see #558), but the overall installation process always continues.

Some open questions:

  • How to cancel the installation (from D-Bus point of view)?
  • How should the UI offer the option for canceling the installation?
  • How should the UI behave after canceling the installation?
@joseivanlopez joseivanlopez added enhancement New feature or request ux UX related bugs/improvements d-bus labels May 8, 2023
This was referenced May 8, 2023
@mvidner
Copy link
Member

mvidner commented Jun 15, 2023

From the viewpoint of the lower layers:

The D-Bus specification/protocol does not have an API for ending a service, it assumes a connection simply drops off the bus by its process ending or by closing its socket. Some services implement a timeout, other implement an explicit Quit method.
If we do this we may create a problem where the UI client keeps talking to us, activating another instance with a reset state and not realizing it. If the client wants to detect that, it should use org.freedesktop.DBus.GetNameOwner, save the service unique connection ID (:1.42) and compare it later.

ruby-dbus so far does not care how to disconnect (and perhaps reconnect), it assumes that a connection lives until your process ends (mvidner/ruby-dbus#43). I think it is fine for Agama, just mentioning it for completeness.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
d-bus enhancement New feature or request ux UX related bugs/improvements
Projects
None yet
Development

No branches or pull requests

2 participants