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.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[v5] Recursive persistence #3743
[v5] Recursive persistence #3743
Changes from 75 commits
a608233
dbfb7d5
d341071
4ae6151
76e291a
3ecca35
2c4f211
cd9c622
bbb17ef
a5dd8eb
dd74f9e
d1e7fce
953033f
6e92889
3769cae
cbd6b67
9a48360
d440b5e
8fb1b29
925fe22
c21ae81
246f3ef
2b5f2ed
dabca9e
26d9a22
8a08bdc
da08941
1517afc
541b6cc
29552aa
2c37941
efc4ae4
ae13d04
3abcf0b
8c1a5c2
9c18cbd
9827f16
3f3f460
2bdd8c5
c069959
22eeaec
4462f15
19ce012
07bd0dc
ba8fcef
4d37b6f
ccdbaa0
b27c40e
3f81e11
0f71646
fa7d371
a0f547c
4f53c70
5dc9f46
739d8cb
8c9ae22
2b01891
ecff33b
f556d42
544b298
e87e818
06d65ed
b75d480
1d0c983
c761ca6
ee8ad87
999ff7d
e58f68c
3234ac2
3fb54b4
a170a00
a087432
5253a63
67400de
a8b30b9
ad07b01
8bdf86b
b4f28ba
b6db333
55e5952
7489eb6
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would make sense to remove this completely. We shouldn't have to put those on
this.machine.options.actors
. They were not provided there so why we'd keep them there?This might impact the rehydration story for inline actors but to fix this we can use some extra information to understand how to look those up. We can either encode it in the auto-generated
id
somehow. Or we might have to use some extra.type
-like thing somewhere.I would also consider completely disallowing
getPersistedState
when the state has inline actors. How do we rehydrate this?The problem here is that when serializing the persisted state we don't have any way to "point" to a stable behavior implementation of this actor. When rehydrating we won't have a clue how to access the original behavior of that child
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also have the same problem with invoke, despite having a "stable" reference to it (object path). And more than that - even referenced implementations have this problem when they are declared using factories.
How do we rehydrate this? It looks a little bit like maybe
src
should just never be a factory. We need to have the ability to use the same actor behavior with different arguments and stuff... but that seems to be solved byinput
! The only thing is that the JS API might look a little bit quirky for this, because we'd have to accept two things for any given actor: 1. a staticsrc
2. an input resolver~ (with the "standard"(ctx, ev) => input
signature)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is removed in
v5/input-3
#3815