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

locale - let it check interactive-sections again #937

Merged
merged 9 commits into from
Apr 21, 2021

Conversation

dbungert
Copy link
Collaborator

LP: #1919251

@dbungert
Copy link
Collaborator Author

When this was introduced, the comment was:
show the initial screen if any screens are interactive
the idea here is to stop multiple subiquitys from trampling on each other

Is that still relevant?

@mwhudson
Copy link
Collaborator

Oh hah I'd forgotten that rationale. No, that's not a valid reason any more -- but there is still one thing I'd like to fix, which is to move the question we ask on the serial console about switching to 'rich mode' somewhere more generic so that it still gets asked even if locale is not interactive. Basically I think this means making a "Stretchy" to ask the question and showing it with add_global_overlay() just after starting the urwid event loop -- if you look at how error reports or cloud-init failures are reported at startup, like that!

Rather than asking for ssh_info then passing it to the grandchild,
let the grandchild ask for it if needed.
If we don't need to do title renaming, then we don't need the exact
controller, and we can drop the controller from the SerialChoices.
Run it in base client so we still see it in the interactive sections
case where we skip the Welcome screen.
@mwhudson
Copy link
Collaborator

Very nice, this is exactly what I asked for. Unfortunately (and this is my fault), this does have one regression in functionality though: we probably shouldn't offer a choice of languages in non-rich mode (as most non-English languages will just display as a mess of '?'s). So perhaps instead of being an overlay, the question about rich mode should be its own screen (complete with client/controllers/richmode I guess) that can skip on non-serial. Or we can add some way to skip past the language screen if it's showing when the user selects "continue in basic mode".

What do you think? Sorry to mess you around like this.

When in serial, first offer the rich/basic choice (or SSH button),
and only show the current welcome screen if we choose rich mode.
Add a back button on Welcome if we are on serial.
Copy link
Collaborator

@mwhudson mwhudson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks really good thanks! Still have a few comments but nothing deep.

console_conf/controllers/welcome.py Outdated Show resolved Hide resolved
subiquity/client/client.py Outdated Show resolved Hide resolved
subiquity/ui/views/serial.py Outdated Show resolved Hide resolved
subiquity/ui/views/serial.py Show resolved Hide resolved
subiquity/ui/views/serial.py Outdated Show resolved Hide resolved
@dbungert
Copy link
Collaborator Author

@mwhudson - thanks, all feedback items should be addressed, would you confirm?

Copy link
Collaborator

@mwhudson mwhudson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this is great. I guess you might want to rebase or squash merge or something, the history is a bit convoluted. If you can be bothered :)

@dbungert dbungert merged commit 2719c57 into canonical:main Apr 21, 2021
@dbungert dbungert deleted the interactive-and-locale branch April 21, 2021 16:11
mwhudson pushed a commit to mwhudson/subiquity that referenced this pull request May 31, 2021
* locale - let it check interactive-sections again

* Turn Serial into a whole new screen

When in serial, first offer the rich/basic choice (or SSH button),
and only show the current welcome screen if we choose rich mode.
Add a back button on Welcome if we are on serial.

LP: #1919251
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants