Skip to content

fix(console): show a branded screen on reboot and shutdown - #366

Merged
Bugs5382 merged 1 commit into
mainfrom
fix/363-shutdown-screen
Oct 9, 2026
Merged

Bugs5382 merged 1 commit into
mainfrom
fix/363-shutdown-screen

Conversation

@Bugs5382

@Bugs5382 Bugs5382 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

What and why

internal/console.Renderer draws the branded mark and version banner during
Boot(), but nothing wrote to the console on the way down: the shutdown and
reboot paths (internal/init/shutdown.go, shutdown_linux.go) only logged to
/dev/kmsg, so the dashboard just froze on its last frame through the whole
teardown and then went blank as the kernel restarted or powered off, with
nothing telling the admin what was happening.

shutdownRequests.Wait now announces the chosen action to the console as
soon as it is picked (clears the screen, then the mark with "Rebooting..." or
"Shutting down...", matching the boot banner's style), before arming the
teardown watchdog. The watchdog's forceHalt announces again right before it
forces a halt, since a hung teardown could leave the dashboard supervisor
redrawing over the first message in the meantime.

README.md gets a line noting the new screen next to the shutdown paths it
already documents.

Testing

  • Added TestRendererShutdown (console package): clears the screen, includes
    the boot banner, ends with the message.
  • Added TestShutdownAction_ConsoleMessage and
    TestShutdownRequests_WaitAnnouncesTheAction (init package): the action
    maps to the right wording, and Wait calls the announce hook before
    returning.
  • testShutdownRequests now also stubs the announce hook, the same reason it
    already stubs the watchdog: the real one opens /dev/console.
  • go test ./..., go vet ./..., gofmt -l . all clean.

Closes #363

The boot sequence has had a branded mark and version banner since PID
1 was written, but nothing wrote to the console when a node tore down:
the dashboard just froze on its last frame through the whole teardown,
then went blank as the kernel restarted or powered off, with no sign
of what was happening.

Wait now announces the chosen action to the console as soon as it is
picked, clearing the screen and showing the mark with "Rebooting..."
or "Shutting down...", the same style as the boot banner. The teardown
watchdog announces again right before it forces a halt, in case the
hung teardown left the dashboard redrawing over the first message.

README.md documents the new screen alongside the shutdown paths it
covers.

Signed-off-by: Bugs5382 <12115015+Bugs5382@users.noreply.github.com>
@Bugs5382
Bugs5382 marked this pull request as ready for review October 9, 2026 20:52
@github-actions github-actions Bot added the fix Bug fix (fix). Patch. label Oct 9, 2026
@Bugs5382
Bugs5382 merged commit 4171b58 into main Oct 9, 2026
27 checks passed
@Bugs5382
Bugs5382 deleted the fix/363-shutdown-screen branch October 9, 2026 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix Bug fix (fix). Patch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(console): no branded message on reboot or shutdown

1 participant