Skip to content

feat(ui): animate process startup indicators - #17

Merged
maful merged 1 commit into
mainfrom
feat/animated-process-spinner
Sep 5, 2026
Merged

feat(ui): animate process startup indicators#17
maful merged 1 commit into
mainfrom
feat/animated-process-spinner

Conversation

@maful

@maful maful commented Sep 5, 2026

Copy link
Copy Markdown
Owner

This PR replaces the static startup marker with the Bubbles spinner.Points animation. Inline sends a Starting event before it asks the operating system to spawn a process. The UI shows the animated spinner during this state.

Bubble Tea sends timed spinner.TickMsg messages to advance the animation. Inline schedules another tick while at least one process remains in Starting. After the process spawns, the supervisor sends a Running event with its PID. The UI then replaces the spinner with the static green status marker.

Inline stops scheduling spinner ticks when no process is starting. This prevents unnecessary UI updates after startup. The spinner represents process creation, not application readiness. The animation can appear briefly because local processes usually spawn within milliseconds.

sequenceDiagram
    participant Supervisor
    participant UI
    participant OS as Operating system
    participant Timer as Bubble Tea timer

    Supervisor->>UI: Starting event
    UI->>UI: Show Points spinner
    UI->>Timer: Schedule spinner tick
    Supervisor->>OS: Spawn process

    loop While the process is Starting
        Timer->>UI: spinner.TickMsg
        UI->>UI: Advance spinner frame
        UI->>Timer: Schedule next tick
    end

    OS-->>Supervisor: Process PID
    Supervisor->>UI: Running event and PID
    UI->>UI: Show static green marker
    UI-xTimer: Stop scheduling ticks
Loading

It shows the transition clearly:

Starting                          Running
∙∙∙ → ●∙∙ → ∙●∙ → ∙∙●    →       ●

@maful
maful merged commit 4f6727e into main Sep 5, 2026
1 check passed
@maful
maful deleted the feat/animated-process-spinner branch September 5, 2026 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant