Improve slow-start prompt behavior - #457
Conversation
skyrpex
left a comment
There was a problem hiding this comment.
Looks much better now, thanks!
thanks @gtsiolis, great catch on not stopping the emulator that eventually started while the prompt was on-screen. 👏 Also, looks much better with line split. 👍 Just to confirm, #449 is related to a different problem. Did you mean #390? That one was peer-reviewed. But definitely agree that we can use more of cross-testing ourselves and validate the user experience more often by trying out a binary from the branch while reviewing. 💯 Could be a good default reviewing behaviour we can add to contributing guidelines, wdyt? |
Co-Authored-By: Claude <noreply@anthropic.com>
6d922f9 to
8942ae4
Compare
|
@tiurin Correct! Thanks for the follow up! A design rule to follow for when to use what, is ...
Cc @localstack/devx for visibility. |
|
Thanks for merging, @tiurin, and for reviewing, @skyrpex! 🏀 Generated by Claude Code |
Nice! I think we can make the code speak this design rule. This will guide developer towards choosing the right intent and hide rendering details like |
Motivation
When LocalStack takes longer than the interactive startup timeout, the recovery prompt wraps awkwardly and hides its shortcut keys. More importantly, startup health checks pause while the prompt is open, so it can remain stuck after the emulator is ready and a stale Stop selection can stop a healthy emulator.
Solution
BEFORE / AFTER
Keep waiting [W]/Stop LocalStack and exit [S][W] Keep waiting/[S] Stop and exitDocs
Docs assessment
No documentation changes are needed. This refines existing interactive startup behavior and keeps the recovery command visible in the prompt.
Review
Self-merge candidate: this is a small, already-discussed UX fix with focused unit and race regression coverage.
Validation
go test -race ./internal/container -run 'TestStartupMonitorAwait_(InteractivePromptKeepWaitingThenStop|DismissesPromptWhenEmulatorBecomesReady|DoesNotStopEmulatorThatBecameReadyBeforeSelection)$' -count=1go test ./internal/ui/... ./internal/output/... -count=1make buildgit diff --checkCloses DEVX-1051
Co-Authored-By: Claude noreply@anthropic.com