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

Smart Update #1

Closed
mirkobrombin opened this issue Nov 29, 2022 · 4 comments
Closed

Smart Update #1

mirkobrombin opened this issue Nov 29, 2022 · 4 comments
Labels
enhancement New feature or request

Comments

@mirkobrombin
Copy link
Member

mirkobrombin commented Nov 29, 2022

If this feature is turned On, the update will be postponed when the resource usage is too high.

Checks:

  • connection usage
  • memory usage
  • cpu usage
  • disk usage
  • battery level
@mirkobrombin mirkobrombin added the enhancement New feature or request label Nov 29, 2022
@noahdotpy
Copy link

Would it not be better to do offline updates?

@mirkobrombin
Copy link
Member Author

The purpose of offline updates is to prevent from changing things while the user is operating, ABRoot does transactions which are applied on next boot, so there is no need for an offline update.

@noahdotpy
Copy link

The purpose of offline updates is to prevent from changing things while the user is operating, ABRoot does transactions which are applied on next boot, so there is no need for an offline update.

So this change will make it so that it will only update next boot when the computer is not being used too heavily. Is this an automatic upgrade functionality? If it is not I do not see the point

@mirkobrombin
Copy link
Member Author

mirkobrombin commented Nov 29, 2022

The update in Vanilla OS is always automatic and always runs in the background, you can only change the frequency (weekly or monthly). The difference with offline updates is that they are downloaded automatically and in the background but installed only on reboot, here instead they are downloaded and installed immediately in the second root (A<->B transactions).

In Vanilla OS updates are managed with ABRoot, which never changes the system in use but carries out the transaction in the second root, which is set as default on the next boot. Transactions are in turn performed on an OverlayFS which is applied to the second root only when the entire transaction is successful (the concept of atomicity), and then thrown away if it fails.

The purpose of the Smart Update function is to slow down and/or postpone the update if the user is using resources intensively, for example downloading content, playing, watching a movie, etc. or even if the battery level it is not sufficient, in this way we do not risk slowing down its operation.

Offline updates require an extra step, ensuring that the user confirms the update, as well as preventing them from using the device while they are being installed. The great advantage of ABRoot is to allow the user not to worry about transactions, since these are applied on a separate root, allowing them to continue with their work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

2 participants