Skip to content

Conversation

@andrewbattat
Copy link
Contributor

@andrewbattat andrewbattat commented Nov 13, 2025

NODE-1747

Create a UI console for initiating manual node recovery, vastly improving the UX experience.

  • Old method: enter recovery parameters via the grub console
  • New method: enter recovery parameters via a TUI:
image

NNS recovery TUI includes parameter validation, restricts inputing invalid non-hex characters, limits character input per field (40 for version, 64 for hashes), and produces clear error or success pages.

@andrewbattat andrewbattat self-assigned this Nov 13, 2025
@andrewbattat andrewbattat changed the title Andrew/nns recovery ux improvements feat(node): NNS recovery UX improvements Nov 17, 2025
@andrewbattat
Copy link
Contributor Author

andrewbattat commented Nov 21, 2025

Maybe I'm late with this but wouldn't the cursive crate be much easier to use?

@frankdavid
Cursive would definitely cut down on the input form boilerplate, but I don't think it's worth the change at this point. I spent a chunk of time trying to make the switch, and I was working through a bunch of small bugs with the real-time log streaming from the guestos-recovery-upgrader, and then there were issues with exiting the TUI view (it had this weird text flickering and struggled in the edge cases) and other small things. And I actually found the out-of-the-box cursive TUI uglier than the current one, but I'm sure that can be customized, I just didn't spend time figuring out how.

What we have now is stable and I don't imagine we'll be extending this code much.

Copy link
Contributor

@pierugo-dfinity pierugo-dfinity left a comment

Choose a reason for hiding this comment

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

Really nice feature!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants