* origin/pr/172:
Say which repository caused the error in warnings
Only make qrexec calls when necessary
Squash more PyLint warnings
Decode stderr in repo qrexec calls
Fix error handling
Fix `self` being undefined when showing warnings
Only apply repo preferences when "OK" is clicked
Don't use asserts for error handling
Check that repo management succeeded
Remove unnecessary assert
Squash some PyLint warnings
Add UI for managing Qubes update repositories
Fix typo
FixesQubesOS/qubes-issues#4550
Qubes Manager seems to try to guarantee that 10*init_mem is at
least max_mem by automatically adjusting init_mem to max_mem/10 if
inappropriate values are set. However, this may not guarantee that
10*init_mem >= max_mem due to rounding errors. This change fixes
these edge cases by basically rounding up the result of division
by 10.
Now port will be displayed as port_number [(service name)]
, and not just service name. Also added a tooltip with explanation
of what can be put in the 'port/service' field, renamed
the field to 'Port/service' and added some examples of pure port
numbers to the drop down.
fixesQubesOS/qubes-issues#5211
Now, when selecting a file fails for some reason
(lack of installed file manager, VM crashed on start,
anything), the user will get an error message.
references QubesOS/qubes-issues#5202
Replaced instances of "Default DispVM" and "Is DVM Template" with
more readable "Default Disposable VM Template" and "Disposable VM Template"
respectively. Added tooltips.
fixesQubesOS/qubes-issues#4935
This helps in situations where the qrexec calls are forbidden; it also
prevents settings from being unintentionally changed and gives a
noticeable performance boost when the "OK" button is clicked.
Before this change, "foobar\n" on stderr would be rendered (in the
warning dialog) as "b'foobar\n'", which is ugly. Now it'll be rendered
just as "foobar", followed by an actual newline character.
Apparently Python exceptions don't take **kwargs, so we just pass a
dictionary as the second (regular) argument. While we're at it, we
pretty-print said dictionary when displaying error messages.
First of all, the method that was being called has asserts of its own,
so it's guaranteed to either succeed or crash the program with
AssertionError. Second, asserts are optimized out by the interpreter
when -O is passed. Therefore, this code is buggy because it sometimes
wouldn't be run, but we need the side effects.
Kernels are sorted with a rough algorithm, comparing groups of numbers
numerically, and names consisting of strings alphabetically.
fixesQubesOS/qubes-issues#5084