Conversation
🦋 Changeset is good to goLatest commit: 0e24ea6 We got this. 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 |
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
Andarist
left a comment
There was a problem hiding this comment.
Overall it's a very good simplification 🎉 I've left some comments and few questions (or things that I'm unsure about). Let's discuss them and at least create an action points list (as issues?) - we don't necessarily have to hold off this PR until all of them get resolved.
I've also liked how you have added a few PR comments after creating this PR which helped me a little bit to understand moved parts quicker 👍
Andarist
left a comment
There was a problem hiding this comment.
I have left some few minor comments, I think we can address most of them as part of this PR - but if something is too big of a change, then just go ahead and merge this in. We can always iterate over this.
I feel confident that this is a good refactor 👍 and the fact that the implementation got closer to most of the SCXML algorithms is a huge deal. It should be way easier to conform to their semantics when using their algorithms whenever possible.
|
Oh - I forgot, it would be great to describe in short every user-facing changes in changesets. |
Co-Authored-By: Mateusz Burzyński <mateuszburzynski@gmail.com>
| // ... | ||
| green: { | ||
| on: { | ||
| NOTHING: { |
There was a problem hiding this comment.
so this only breaks reentering using internal transitions? the description put upfront is quite abstract, would be good to mention concrete scenarios when this thing matters
There was a problem hiding this comment.
I'll clarify this in the docs, but an internal self-transition in a leaf node is better by not giving a target at all (which is how SCXML represents it) anyway
This PR refactors the state history resolution algorithm to match the SCXML algorithm.
state.historyValueeliminated, replaced withstate.historyMap