Make start header more compact#257
Conversation
e587314 to
b982e2f
Compare
|
@claude review |
There was a problem hiding this comment.
Cosmetic/UX-only change: swap verbose status lines for a spinner, surface license plan, and reword the ready line — diff is mechanical with consistent test updates.
Extended reasoning...
Overview
PR replaces verbose per-phase status output during lstk start with an in-place spinner, adds an inline "Valid license ()" message during license validation, and rewords the final ready line from "LocalStack ready" to "LocalStack is running". It also adds a ForceStop helper on the spinner component for terminal/error paths and hides the pull progress when the spinner stops. Touches internal/container/start.go, internal/output/plain_format.go, internal/ui/app.go, internal/ui/components/spinner.go, plus two unit test files and two integration tests that match the new strings.
Security risks
None. This is purely a presentation/output change — no auth, crypto, network, or permission surfaces are modified. The license validation logic itself is unchanged; only the surrounding UX is adjusted.
Level of scrutiny
Low. The diff is small, mechanical, and self-contained, with tests updated to the new strings in lockstep. PlanDisplayName() already exists in internal/api/client.go (with nil-safety) and is also used in internal/container/label.go, so the new call site has precedent. ForceStop is a simple, well-documented helper.
Other factors
The bug hunting system found no issues. The integration tests in awsconfig_test.go and version_resolution_test.go have been updated to match the new output strings, so CI will catch any regression in the renamed phrases. The formatStatusLine switch still handles the now-unused starting/waiting phases, but that is harmless dead-format code rather than a defect.
This will...
startwith a single in-place spinner.