Skip to content
Rymflux Documentation
Esc
navigateopen⌘Jpreview

Sequence diagram: First-time setup

Sequence diagram: First-time setup

sequenceDiagram
    participant User
    participant App as Rymflux
    participant FS as Filesystem
    participant RT as Plugin Runtime
    participant Lib as Library Service
    participant Engine as Playback Engine

    User->>App: Launch app
    App->>FS: Scan ~/.rymflux/plugins/
    FS-->>App: Empty (no plugins)
    App->>RT: Register plugins (none)
    App->>Lib: Open SQLite, run migrations
    Lib-->>App: Database ready
    App->>Engine: Initialize (no audio device check)
    App-->>App: emit("platform_ready")
    App-->>App: Render onboarding room

    Note over App: Onboarding: "Add a plugin to get started"

    User->>FS: Copy plugin binary to ~/.rymflux/plugins/
    User->>App: Restart app
    App->>FS: Scan plugins directory
    FS-->>App: Found local-files plugin
    App->>RT: Register plugin
    App->>RT: Launch plugin, send ping
    RT-->>App: Ping ok, capabilities confirmed
    App-->>App: emit("platform_ready")
    App-->>App: Render search room (default)

Was this page helpful?