Lightstreamer Workbench

Local Injection

Create, review, and deliver one protected Local Injection Draft without contacting the server.

Local Injection reproduces an Item Update locally against an exact live Subscription target. A standalone Draft delivers one update; a Local Injection Scenario deliberately runs an explicit sequence against the same local-only boundary. Both remain separate from immutable Captured Evidence.

Scenario Checkpoints can assert that a normalized Diagnostic Observation exists after the latest Review authorization. The assertion uses the stable contract version, rule code, lifecycle, minimum severity, and exact typed affected identity—not diagnostic display copy—and an optional within window advances only on active Scenario time.

Start a Draft

Use one of two explicit entry paths:

Workbench protects exactly one standalone target-anchored Draft at a time. A Scenario is a separate, mutually protected temporary document. Visible Evidence never joins either document automatically.

Edit and validate

Raw JSON is the primary editor. The Subscription instance, Session, item identity, Source, Local-only boundary, target lifecycle, and validation state remain protected outside the editable document.

When a Draft began from captured Evidence, Compare Source shows the immutable Source and editable Draft without changing either.

Review and deliver

Review Local Injection presents the exact target and local-only delivery boundary. Inject locally then attempts one delivery through the inspected page's captured listener or Lightstreamer WebSocket path.

Local Injection does not contact the Lightstreamer Server. A delivered outcome proves only the Workbench local-delivery boundary; it does not prove an application business effect.

Run a Scenario

Convert a protected Draft to a Scenario, then add compatible captured updates or newly authored updates deliberately. One Scenario contains one to 100 explicitly ordered Steps against one exact page, client, Session, Subscription, and listener or wire delivery path. Optional named Checkpoints occupy ordered positions without allocating an Injection. The complete Scenario document, immutable Run plans, and retained Traces stay within an 8 MiB accounted-state limit.

Review Scenario validates every Step and freezes the exact target, order, payloads, relative active-time delays, speed, Checkpoints, and committed-Evidence seed boundary into an immutable Run. Step next, Play, Pause, and Stop remain serial and visible. Hidden time does not advance the Scenario Clock, and Run again performs a new Review with fresh Run, Injection, request, and resulting Evidence identities.

Every Step uses the ordinary one-request/one-result Local Injection boundary. A Run never batches page requests, contacts the server, overlaps Steps, catches up after suspension, loops, retries automatically, rolls back delivered Steps, or suppresses interleaving Server Updates. Target retirement, failed or uncertain delivery, incomplete Evidence settlement, drift requiring re-review, or a failed Checkpoint stops before another Step and marks the remainder NOT RUN.

Checkpoints

Scenario Assertions inspect Workbench-owned facts only: a prior Injection Outcome; attempted, delivered, or listener counts; existence of correlated committed Local Evidence; Local Effective COMMAND key presence or absence; and strict primitive field equality. Equality distinguishes absent fields from present values and compares type and value without coercion. A server-derived public-API null is ambiguous, while a concrete null from correlated committed Local Evidence can be evaluated.

Listener-count assertions are unavailable for wire delivery. A positive assertion may wait for an explicit active-time within duration. Evidence links appear only while the exact committed boundary remains retained. Checkpoints never execute inspected-page JavaScript or assert arbitrary DOM, application, server, diagnostic, or Authoritative COMMAND State.

Outcomes and stale targets

Invalid or stale Drafts state that no Injection was attempted. Failed, partial, or uncertain outcomes preserve the Draft and say only what Workbench can prove. Workbench never silently retargets, discards, repeats, or broadens an Injection.