Michael Hudson-Doyle
7b697a1978
Merge pull request #602 from mwhudson/selector-non-text
...
allow Selector to have non-text entries
2019-12-16 21:36:45 +13:00
Michael Hudson-Doyle
b41560fc4c
fix tab-cycling between header and body
2019-12-16 21:32:25 +13:00
Michael Hudson-Doyle
9736825e32
simplify SubForm stuff a bit
2019-12-16 21:21:57 +13:00
Michael Hudson-Doyle
6913294de6
EXTREMELY OBSCURE fix
...
without this, selectors get skipped over when selecting the first element in a
pile if the label is some kind of container.
2019-12-16 21:15:46 +13:00
Michael Hudson-Doyle
9759957f36
allow Selector to have non-text entries
2019-12-16 13:28:42 +13:00
Michael Hudson-Doyle
de18cc977f
make SingleInstanceTask.start_sync set self.task synchronously
2019-12-16 12:33:19 +13:00
Michael Hudson-Doyle
5173e46b33
Merge pull request #600 from mwhudson/fix-probing-failures
...
stop block probing failures from crashing the process
2019-12-15 09:53:47 +13:00
Michael Hudson-Doyle
fe08311c19
stop block probing failures from crashing the process
...
There is a common problem in concurrent / asynchronous code of what to
do with unhandled exceptions. If a (conceptual) thread of execution
fails, there's no guarantee (and no way of telling) if there's anything
listening. By default, I chose to have a failing task propagate the
exception up to the run loop for two reasons:
1) Unhandled exceptions are generally bad
2) urwid.ExitMainLoop needs to be propagated to the run loop to have
any effect
But this means that tasks that are expected to fail (and have this
failure handled) like block probing crash the process, which is
obviously a Bad Thing. This branch adds a way to turn off exception
propagation per-task, which is a bit hackish but works ok it seems.
2019-12-15 09:45:14 +13:00
Michael Hudson-Doyle
bd3ede4c21
Merge pull request #595 from mwhudson/remove-run_in_bg
...
remove run_in_bg
the asyncioification is complete (apart from bug fixes)
2019-12-15 09:44:09 +13:00
Michael Hudson-Doyle
6d4ea2bf34
Merge pull request #596 from xnox/uc20
...
Unbreak console-conf in UC20 images
2019-12-15 09:04:03 +13:00
Michael Hudson-Doyle
ae5cd6268a
kill off run_in_bg and some related hacks
2019-12-15 08:53:37 +13:00
Michael Hudson-Doyle
a92b88ed9d
asyncioify run_command_in_foreground
2019-12-15 08:53:36 +13:00
Dimitri John Ledkov
d6689d9200
Merge pull request #594 from mwhudson/asyncio-ssh
...
asyncioify ssh
2019-12-14 16:48:55 +00:00
Dimitri John Ledkov
b4ff1bde70
Merge pull request #599 from mwhudson/radiobuttonfield
...
add a RadioButtonField for forms
2019-12-14 16:47:29 +00:00
Michael Hudson-Doyle
a2fc6da694
add a RadioButtonField for forms
2019-12-14 22:35:19 +13:00
Michael Hudson-Doyle
285eeee0ed
Merge pull request #598 from mwhudson/repeatedcontroller-index
...
fix RepeatedController
2019-12-14 22:16:07 +13:00
Michael Hudson-Doyle
0090aec3be
fix RepeatedController
...
a snap update was offered the second time even if it had been
offered already
2019-12-14 21:44:10 +13:00
Michael Hudson-Doyle
5571e1fab3
add a class for controllers with no ui
...
there will be a bunch of these coming for autoinstall
2019-12-14 21:27:39 +13:00
Dimitri John Ledkov
d19e405666
Unbreak console-conf in UC20 images
2019-12-14 03:00:17 +00:00
Michael Hudson-Doyle
05a61544fb
asyncio.create_subprocess_exec defaults stdin to None
2019-12-13 11:44:12 +13:00
Michael Hudson-Doyle
992e131b5f
squash all exceptions when cancelling the task in SingleInstanceTask
...
otherwise restarting a failed task just raises the exception from the previous
failure
2019-12-13 10:05:23 +13:00
Michael Hudson-Doyle
4e1afd60a4
do not always stop networkd
2019-12-13 10:04:57 +13:00
Michael Hudson-Doyle
b155d3eff0
have apply_config task exit as soon as all dhcp NICs have an address
2019-12-13 10:04:31 +13:00
Michael Hudson-Doyle
08e081415d
move async_helpers to subiquitycore
2019-12-13 10:04:02 +13:00
Michael Hudson-Doyle
5a7abd99b7
only run network answers once
2019-12-13 10:03:46 +13:00
Michael Hudson-Doyle
eb228ab7f3
introduce a helper for a restartable task
...
(there are going to be a few of these)
2019-12-13 10:03:32 +13:00
Michael Hudson-Doyle
2d1bd0011d
a little refactoring
2019-12-13 09:40:15 +13:00
Michael Hudson-Doyle
a260bebc0b
rip out TaskSequence
2019-12-13 09:39:48 +13:00
Michael Hudson-Doyle
19f8f91d29
asyncify network controller
2019-12-13 09:39:13 +13:00
Michael Hudson-Doyle
efed69ff7c
some asyncifying of network
2019-12-13 09:37:36 +13:00
Michael Hudson-Doyle
b65a8177a3
Merge pull request #591 from mwhudson/asyncio-installation
...
asyncioify installation
2019-12-13 09:14:13 +13:00
Michael Hudson-Doyle
4c84bb6494
add a form field that has another form as its widget
2019-12-12 23:20:12 +13:00
Michael Hudson-Doyle
05c4fa4403
add a way for a form field not to have space for help
2019-12-12 23:19:46 +13:00
Michael Hudson-Doyle
d8746ce75e
add a way for a form field to not have a caption
2019-12-12 23:19:09 +13:00
Michael Hudson-Doyle
f549883f80
tweak some log levels
2019-12-12 21:57:20 +13:00
Michael Hudson-Doyle
d08cce4970
create an INFO level log file too, unconditionally include it in error reports
2019-12-12 21:49:44 +13:00
Michael Hudson-Doyle
3d80f46225
asyncioify the installation
2019-12-12 15:19:22 +13:00
Michael Hudson-Doyle
297d7c2060
add Application.select_screen
...
SubiquityUI will want to override this for autoinstally things
2019-12-12 10:38:04 +13:00
Michael Hudson-Doyle
fb2f322544
tidy up next/prev_screen
2019-12-12 10:38:04 +13:00
Michael Hudson-Doyle
64378cdb95
refactor how controllers are stored a bit
2019-12-12 10:38:03 +13:00
Michael Hudson-Doyle
b3c013907b
Merge pull request #586 from mwhudson/restart-after-update
...
remove last-screen file before restarting subiquity
2019-12-12 09:19:54 +13:00
Michael Hudson-Doyle
411a78ccb3
steal the fix for https://github.com/urwid/urwid/issues/235
...
the symptom of the bug fixed is that exceptions that crash the process
do not get reported sensibly.
2019-12-11 23:21:11 +13:00
Michael Hudson-Doyle
932f703c7a
remove last-screen file before restarting subiquity
...
this fixes a crash loop when the users updates the subiquity snap
then hits an install failure and selects restart
2019-12-11 23:17:16 +13:00
Michael Hudson-Doyle
cac9cba8ec
asyncio.create_subprocess_exec does not support check=True
2019-12-11 15:02:18 +13:00
Michael Hudson-Doyle
f805a9d9dd
add a convenience wrapper
2019-12-11 14:39:48 +13:00
Michael Hudson-Doyle
864e09cc99
use asyncio event loop and a little asyncio api
2019-12-11 14:39:25 +13:00
Michael Hudson-Doyle
ac071ec9bf
Merge pull request #574 from mwhudson/error-report-ui
...
first cut at error report ui
2019-11-18 12:30:50 +13:00
Michael Hudson-Doyle
73b53f2bf3
stop caching probed storage data
...
A recent branch carefully called Prober.get_storage() whenever a udev
block device event was seen. But Prober.get_storage() cached the results
from probert rendering that useless. Rip the caching and some other
complexity out of the prober class.
2019-11-13 10:07:51 +13:00
Michael Hudson-Doyle
615dc1b1dd
show an unseen ui crash on startup
2019-11-08 13:36:30 +13:00
Michael Hudson-Doyle
6d3f014f7a
simple view of a crash report
2019-11-08 13:36:30 +13:00
Michael Hudson-Doyle
74ef2ad8f6
add a way to create a crash report
2019-11-07 14:47:18 +13:00
Michael Hudson-Doyle
54823e364c
remove signal sent after debug shell exits
2019-11-04 23:52:49 +13:00
Michael Hudson-Doyle
4798348740
Merge pull request #567 from mwhudson/restricted-saved-probing
...
implement restricted probing for canned probert data
2019-11-04 10:44:18 +13:00
Michael Hudson-Doyle
ca02972195
add a controlled way to make various things fail
...
In dry-run mode, treat SUBIQUITY_DEBUG as a comma-separated list of
things to fail:
* install-fail: curtin install fails
* copy-logs-fail: the postinstall copying of logs fails
* bpfail-full: full block device probing fails
* bpfail-restricted: restricted block device probing fails
In addition, control-u makes the UI crash in dry-run mode.
(This is all for testing of crash report generation but does not depend
on that).
2019-11-04 10:43:29 +13:00
Michael Hudson-Doyle
d56b72b35b
implement restricted probing for canned probert data
2019-10-31 13:39:01 +13:00
Michael Hudson-Doyle
a3734cda03
wrap actionmenu/selector popups in Color.body
...
this fixes a slight visual glitch in gnome-terminal
2019-10-16 12:50:44 +13:00
Michael Hudson-Doyle
f2918fa30b
Merge pull request #550 from mwhudson/reprobe-block-devices-on-shell-exit
...
Reprobe block devices on debug shell exit
2019-10-09 15:37:23 +13:00
Dimitri John Ledkov
3e39db4013
Asciify color pallete
2019-10-07 22:30:23 +01:00
Dimitri John Ledkov
3f548665e1
Add ASCII mode
2019-10-04 17:17:26 +01:00
Michael Hudson-Doyle
7a3a88ab0c
add a signal that is fired when a debug shell exits
2019-10-04 15:10:11 +13:00
Michael Hudson-Doyle
36cdf0effd
some better names
2019-10-04 13:39:39 +13:00
Michael Hudson-Doyle
415db68e36
always use vt100 codes for white/black/default
...
For maximum compatibility in mono mode.
2019-10-04 13:39:39 +13:00
Michael Hudson-Doyle
cea3a65ca1
refactor how palettes and colors and screens are set up
2019-10-04 13:39:39 +13:00
Michael Hudson-Doyle
29c9e0c984
add a hot key (f4) for turning color on and off
2019-10-04 13:39:39 +13:00
Steve Langasek
d2f996732f
Don't mark a dash as translatable
2019-10-02 11:45:34 -07:00
Steve Langasek
34034e4a79
Don't mark 'DHCPv{v}' as translatable
2019-10-02 11:40:58 -07:00
Michael Hudson-Doyle
9ece5d2222
implement local documentation
2019-10-02 10:51:34 +13:00
Michael Hudson-Doyle
0c4d809c05
Have the help button open a help menu.
...
None of the items do anything yet though.
2019-10-02 10:48:58 +13:00
Michael Hudson-Doyle
70bb4ab5dd
add [ Help ] button to header
2019-10-02 10:48:35 +13:00
Michael Hudson-Doyle
3450078f4b
Merge pull request #542 from mwhudson/log-file-per-pid
...
create one log file per invocation
2019-10-02 10:29:25 +13:00
Michael Hudson-Doyle
93732dfb73
fix run_command_in_foreground to disconnect from stdin while in backgound
...
Not sure how I didn't notice this when implementing it for the first
time but well. This is all fairly confusing.
2019-09-30 16:26:24 +13:00
Michael Hudson-Doyle
fb6ea590a5
still create a subiquity-debug.log symlink
2019-09-30 16:21:42 +13:00
Michael Hudson-Doyle
7c1154b758
create one log file per invocation
...
Log to subiquity-debug.log.$PID instead of just subiquity-debug.log.
When we implement error reports we'll obviously attach the log to the
error report. There's no point adding log messages from previous runs of
subiquity.
2019-09-30 13:47:56 +13:00
Michael Hudson-Doyle
a2ccb0cd9e
remove all remaining footer-related things
2019-09-30 09:32:23 +13:00
Michael Hudson-Doyle
a96c5c8805
Make header narrower, move right_icon into header.
2019-09-30 09:32:07 +13:00
Michael Hudson-Doyle
d8d5b2e265
remove the footer
2019-09-27 14:31:34 +12:00
Michael Hudson-Doyle
c442a166ca
Merge pull request #537 from mwhudson/log-sanity
...
clean up logging a touch
2019-09-26 11:57:27 +12:00
Michael Hudson-Doyle
947f14a0af
move stretchy signals from overlay to stretchy itself
...
Also add overridable opened/closed hooks.
2019-09-12 21:36:40 +12:00
Michael Hudson-Doyle
d0151deec0
some more logging statements to follow user around the ui a little more
2019-09-09 15:33:45 +12:00
Michael Hudson-Doyle
b6bf3fcc42
a bit too much effort making one particular log statement look nice
2019-09-09 15:32:49 +12:00
Michael Hudson-Doyle
0eb4dcfdfb
more logging tweaks
2019-09-09 15:27:56 +12:00
Michael Hudson-Doyle
ca6ebf84f4
only call is_linux_tty once
2019-09-09 15:27:34 +12:00
Michael Hudson-Doyle
b24dbf7095
remove environment_check stuff
2019-09-09 15:27:29 +12:00
Michael Hudson-Doyle
5dca5e861e
remove some pointless wrapping of exceptions
2019-09-09 14:30:49 +12:00
Michael Hudson-Doyle
3d9cbeac95
light sanitization of log statements
2019-09-09 14:28:48 +12:00
Dimitri John Ledkov
25ed1e281f
Merge pull request #533 from mwhudson/app-specific-uis
...
allow the application to have a widget in the bottom right
2019-09-05 14:36:12 +01:00
Dimitri John Ledkov
0a1a9faa12
Merge pull request #534 from mwhudson/overlay-close-signal
...
define a 'closed' signal on StretchyOverlay
2019-09-05 14:34:38 +01:00
Michael Hudson-Doyle
ea258973fc
define a 'closed' signal on StretchyOverlay
...
And return the overlay from show_stretchy_overlay, so you can do things
when the overlay is closed.
Will be used by the help-showing stuff.
2019-09-05 12:30:03 +12:00
Michael Hudson-Doyle
3c2fd87e9b
Allow the UI to have a widget in the bottom right of the screen
...
This will be a help button in subiquity soon.
2019-09-05 12:22:56 +12:00
Michael Hudson-Doyle
3f8c005237
allow console_conf and subiquity to use different UI classes
...
Subiquity is going to grow some global UI elements that console_conf
does not want.
2019-09-05 11:58:25 +12:00
Michael Hudson-Doyle
c1e973fe1e
Add Controller.showing helper
2019-09-04 15:21:26 +12:00
Michael Hudson-Doyle
9a05653150
Tweak Controller API
...
* rename 'default' method to 'start_ui'
* add 'end_ui' hook
* add Application.cur_controller helper
2019-09-04 15:18:45 +12:00
Michael Hudson-Doyle
3605514d30
extract some methods out of Application.run
2019-09-03 13:14:17 +12:00
Michael Hudson-Doyle
43f414da1f
add a way to suspend the subiquity UI and run some other command
...
This will be used for the drop to shell functionality and also to allow
viewing an error report before we submit it to daisy.
It is almost but not quite surprisingly easy (I added a long-ish comment
about the difficulties).
2019-08-23 11:19:21 +12:00
Michael Hudson-Doyle
1947abcc5e
fix mismerge self.common["loop"] vs self.loop
2019-08-20 10:34:31 +12:00
Dimitri John Ledkov
1dfffbda01
Merge pull request #523 from mwhudson/run_in_bg-fd-leak
...
fix fd leak in run_in_bg
2019-08-19 11:30:52 +01:00
Michael Hudson-Doyle
f85fb6aac7
Merge pull request #525 from mwhudson/outermost-pile
...
Make the outermost widget an instance of Pile rather than Frame
2019-08-16 14:51:32 +12:00
Michael Hudson-Doyle
9e40dcbad6
Make the outermost widget an instance of Pile rather than Frame
...
Current plans involve putting a focusable widget (a help button) in the
footer, and Pile's behaviour is much more what we want than Frame for
this.
2019-08-16 14:31:03 +12:00
Michael Hudson-Doyle
b38f47bf42
Merge branch 'master' into core-cleanups
2019-08-16 14:24:56 +12:00
Michael Hudson-Doyle
9b7eb8883c
fix fd leak in run_in_bg
...
Notices this while debugging something entirely different.
2019-08-15 13:59:29 +12:00