[docs] Document the srvx server returned by @workflow/web/server - #4449
Conversation
🦋 Changeset detectedLatest commit: 573d00f The changes in this PR will be included in the next version bump. This PR includes changesets to release 0 packagesWhen changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Sim WorldSimulated world deterministic testing for races. Traces 🟠 world-sim scenario book — 1 fail of 42 total
Full trace: |
| * Each call to `start()` creates a new workflow run. If retried requests must route to one active workflow, have the workflow create a deterministic hook token and use [`getHookByToken()`](/docs/api-reference/workflow-api/get-hook-by-token) to reuse an already-registered active hook. The lookup is not atomic with `start()`, so concurrent callers can still create extra runs before the hook is registered. Handle that race inside the workflow by checking `await hook.getConflict()` before duplicate-sensitive work. On a conflict, it resolves with the run that owns the token, so the duplicate can return the active owner to the caller. If duplicates must be rejected before a workflow body runs, keep a durable request record until native atomic start-and-hook registration exists. See [Idempotency](/docs/foundations/idempotency#run-idempotency). | ||
| * All arguments must be [serializable](/docs/foundations/serialization). | ||
| * When you provide `deploymentId`, the argument types and return type become `unknown` because the workflow function's types may differ across deployments. | ||
| * A concrete `deploymentId` also works from a process that is not itself a deployment, such as a script, a CI job, or **Replay Run** in the web UI, and the run starts on the named deployment. Omitting `deploymentId` or passing `"latest"` needs the current deployment, so those fail in a World that cannot report one. |
There was a problem hiding this comment.
unnecessary tbh, but could go either way
There was a problem hiding this comment.
Dropped the bullet; the PR now only documents the srvx server change.
…e srvx web server Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Pranay Prakash <1797812+pranaygp@users.noreply.github.com>
Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Pranay Prakash <1797812+pranaygp@users.noreply.github.com>
54606b7 to
573d00f
Compare
|
No backport to The only substantive change is a new row in To override, re-run the Backport to stable workflow manually via |
Docs follow-up for #3193, which landed without docs:
@workflow/webswitched from Express tosrvx(major changeset), sostartServer()from@workflow/web/servernow resolves asrvxServer. Adds a row to the v5 breaking-changes table for apps that self-host the observability UI.Docs Preview
🤖 Generated with Claude Code