-
-
Notifications
You must be signed in to change notification settings - Fork 44
Add preload disposable setting to global config #262
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
Conversation
8036850
to
34e4962
Compare
The current behavior of preloaded disposables when changing
I am concerned option Option
I prefer the current behavior, which is, when toggling between disposable templates, it fetches the current feature value so you can see it updating at runtime. If we consider that the selected disposable template that is being set already has And after writing what the new value should behave like, makes me think that the old value should not be changed to Then, I think the
Or I make fetching current value code less dynamic from the current disposable template selected and enforce that it only reads and set the dom0 feature I guess it will be easier to grasp the advantages and disadvantages when coding. Any takes? |
34e4962
to
8331269
Compare
6831449
to
41e9f2a
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #262 +/- ##
==========================================
- Coverage 92.99% 92.99% -0.01%
==========================================
Files 64 64
Lines 13034 13217 +183
==========================================
+ Hits 12121 12291 +170
- Misses 913 926 +13 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
9756c12
to
7e2be8b
Compare
qubes_config/global_config.glade
Outdated
<object class="GtkLabel"> | ||
<property name="visible">True</property> | ||
<property name="can-focus">False</property> | ||
<property name="label" translatable="yes">Maximum number of disposable qubes (based on default disposable template) that will be loaded in the background. This removes fresh disposable qube startup time at the cost of increased memory usage. The setting here takes precedence over the default disposable template's individual settings.</property> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't love the sentence "This removes fresh disposable qube startup time at the cost of increased memory usage"; I think that we do not use the "fresh disposable qube startup time" anywhere in the docs, so it might be somewhat confusing. "This speeds up disposable qube startup at the cost of memory."?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"This speeds up disposable qube startup at the cost of memory."?
But it doesn't speed up startup time, the startup time remains the same. What it does, when requested, on the best case scenario (requesting after preload procedures have completed), is that it skips startup time.
Changed it to:
Reduces disposable qube use waiting time at the cost of increased memory usage.
What do you think? Used a similar phrase from the manual: https://github.com/QubesOS/qubes-core-admin-client/blob/68b2b3250c87ee18ed0e28b1b8e208e501d0faa9/doc/manpages/qvm-features.rst?plain=1#L450
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about something like, "Queues disposables in the background so they're available immediately, but each one uses memory."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think:
Maximum number of disposable qubes (based on default disposable template) to queue in the background so they are available immediately, but each one reserves memory. This setting takes precedence over the default disposable template's individual settings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggested rewording:
The maximum number of disposable qubes to queue in the background. Preloaded disposables start instantly, but each one uses memory while queued. Preloaded disposables are always based on the default disposable template. This setting takes precedence over the default disposable template's preload setting.
If you need to make it shorter, I suggest dropping the last 1-2 sentences or moving them into a nearby "?" or "i" icon tooltip.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Current text:
Maximum number of disposable qubes (based on default disposable template) to queue in the background so they are available immediately, but each one reserves memory. This setting takes precedence over the default disposable template's preload setting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO, the first sentence is awkward, because the clause after the "but" doesn't contrast with the entire clause before the "but." Also, "Maximum number of disposable qubes (based on default disposable template)" is ambiguous, since it could be interpreted to mean that the maximum number is somehow based on the default disposable template.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think:
Maximum number of disposable qubes (created from the default disposable template) to queue in the background. They are available immediately, but each one reserves memory. This setting takes precedence over the default disposable template's preload setting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good 👍
9ec51ed
to
b02fffc
Compare
But from user POV this is startup time: time between "I asked for a dispvm" and "I've received a dispvm". |
5c45226
to
115a920
Compare
When you enable preload, can you make the default to "1"? To save one click when enabling the feature. |
115a920
to
10526ca
Compare
defdispvm = self.defdispvm_model.get_selected() | ||
preloadcheck = self.preload_dispvm_check.get_active() | ||
if defdispvm and preloadcheck: | ||
self.preload_dispvm_spin.set_value(self.get_current_value() or 1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, but this will change explicit 0
into 1
, no?
Yes, I see how it is wrong now...
…On Wed, Jul 23, 2025, 11:35 PM Marek Marczykowski-Górecki < ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In qubes_config/global_config/basics_handler.py
<#262 (comment)>
:
> + )
+
+ def on_defdispvm_changed(self):
+ defdispvm = self.defdispvm_model.get_selected()
+ if defdispvm:
+ self.preload_dispvm_check.set_sensitive(True)
+ self.preload_dispvm_check.set_active(self.get_feat_value() is not None)
+ else:
+ self.preload_dispvm_check.set_sensitive(False)
+ self.preload_dispvm_check.set_active(False)
+
+ def on_check_changed(self, *args): # pylint: disable=unused-argument
+ defdispvm = self.defdispvm_model.get_selected()
+ preloadcheck = self.preload_dispvm_check.get_active()
+ if defdispvm and preloadcheck:
+ self.preload_dispvm_spin.set_value(self.get_current_value() or 1)
Hm, but this will change explicit 0 into 1, no?
—
Reply to this email directly, view it on GitHub
<#262 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BCE2O4O2TXXSWBJQZYCXE2T3J75Z3AVCNFSM6AAAAAB5WNPV52VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTANBZGEZDMMZVGU>
.
You are receiving this because you authored the thread.Message ID:
***@***.***
com>
|
10526ca
to
bd07076
Compare
bd07076
to
aebe185
Compare
PipelineRetryFailed |
2 similar comments
PipelineRetryFailed |
PipelineRetryFailed |
Other disposables may be starting and those notifications may cause confusion as to why the user is seeing a disposable with a different name than what was recently shown in a notification. For: QubesOS/qubes-issues#1512
Finally :) ! |
For: QubesOS/qubes-issues#1512