Repository navigation
Conversation
A topic is defined once with its record type, and a StreamRef names a Workflow's stream as data another process can open.
A ref that names an owner kind from a later release now reaches the ref's own kind check when decoded, instead of failing the converter's type check.
# Conflicts: # temporalio/contrib/streams/__init__.py
Only providers resolve a topic argument, so applications do not need it and the package should not commit to it.
A name goes into store keys, cursor hashes and Core's manifest budget, and a control character in it broke the pending stage encoding. A pinned ref was read as returning only that run's records, which no provider does.
There's no provider any more, only the store a client's plugin configures.
moetemp
marked this pull request as draft
October 12, 2026 06:58
Owner
Author
|
Replaced by Brook #152. Brook was split in two: Brook now has streams with Activity and client publish and outside readers, and Ford has the Workflow Task publish path. The code is the same, re-cut into new branches. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed?
This PR adds typed stream topics and
StreamRef.StreamTopic[T],topic(name, result_type=None)andDEFAULT_TOPIC("output"). A name holds at most 256 UTF-8 bytes and no control character, the same rule as Core.StreamRefround-trips through the default data converter. Itsrun_idpicks the chain a handle looks up and when a read ends, not the records it returns.kindis a plainstr, so a ref from a later release still decodes and then meets the kind check.Why?
Only Workflow-owned streams are in this release (DD-2). With a string
kind, later owner kinds need no type change (DD-37).How did you test it?
Link to a test plan if any -
tests/contrib/streams/test_topics_refs.py.