Skip to content

feat: add ActivityClient for standalone activities - #844

Open
xepozz wants to merge 6 commits into
masterfrom
feature/standalone-activities
Open

xepozz wants to merge 6 commits into
masterfrom
feature/standalone-activities

Conversation

@xepozz

@xepozz xepozz commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

What was changed

New ActivityClient lets you start, await, describe, cancel, terminate, list and count standalone activity executions.
ActivityInfo now exposes activityRunId and namespace. The gRPC clients are regenerated from api-dto 2.1.

Why?

Standalone activities run without a workflow. This brings the PHP SDK to parity with Go and Java.

Related PRs

Checklist

  1. Closes [Feature Request] Support standalone activities #781

  2. How was this tested:
    unit tests for ActivityClientTestCase, and acceptance tests for StandaloneActivityTest against Temporal Server 1.32 with frontend.activityAPIsEnabled=true.

  3. Any docs updates needed?

Yes

Start, get result, describe, cancel, terminate, list and count standalone activity executions.
ActivityInfo exposes activityRunId and namespace. Closes #781.
@xepozz
xepozz requested review from a team, roxblnfk and wolfy-j as code owners November 3, 2026 05:14
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-03T05:16:52.150022Z d18422e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d18422e7d3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/Client/ActivityClient.php Resolved
Client encodes arguments and decodes results, failures and heartbeat details with the activity context.
Worker uses the activity namespace and no workflow ID for standalone activities.
Psalm 6.20.7 reports them as InvalidDocblock.
xepozz added a commit to xepozz/temporal-features that referenced this pull request Nov 3, 2026
The released SDK has no ActivityClient. Stop passing an explicit PHP version, which would override the pin.
Restore the release lookup once temporalio/sdk-php#844 ships.
Describe includes heartbeat details and last failure; richer description DTO.
Client interceptors with start header, client plugins, namespace overrides, completion client.
Handle: per-poll timeout, polled run ID for context, NOT_FOUND mapping, retry state, void results.
The query to a killed worker ends with CANCELLED or DEADLINE_EXCEEDED; it fails on master CI too.

This branch has not been deployed

No deployments
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.

[Feature Request] Support standalone activities

2 participants