Skip to content

[Feature]: Live in-progress effect tracking #40

@omoladeodetara

Description

@omoladeodetara

Problem Statement

The effects panel currently shows nothing while an effect is actively executing. The running: [] array is hardcoded as empty in the component. Users have no visibility into effects that are waiting for an Observable to emit only terminal states (completed/error) are ever surfaced.

This makes it impossible to debug effects that are slow, stuck, or never resolving.

Proposed Solution

Track the triggered lifecycle event that is already emitted by DevToolsEffectSources and surface it in the effects panel as a live "running" indicator. When an effect receives a triggered event and has no matching terminal event yet, show it in a dedicated Running section with an animated indicator and elapsed time.

Changes required:

  • effects-panel.component.ts: populate running from triggered events that have no matching executed/emitted/error event by executionId
  • effects-panel.component.html: render the running section (currently the template has the slot but it is always empty)
  • No core library changes needed the triggered lifecycle is already sent over WebSocket

Alternatives Considered

Polling the WebSocket for heartbeats to infer running state. But overly complex given the data is already available.

Component

Effects Panel (ngrx-devtool-ui)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions