Skip to content
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

Relax restriction on using a stale sink #443

Closed
davidapgar opened this issue Jul 5, 2019 · 2 comments
Closed

Relax restriction on using a stale sink #443

davidapgar opened this issue Jul 5, 2019 · 2 comments
Assignees

Comments

@davidapgar
Copy link
Collaborator

The most recent update to concurrency in Workflow made sink's very strict, in only accepting a single Action per render pass.

Unfortunately, a lot of consumers on the UI side do not synchronously update their callbacks which will result in actions being sent to invalid sinks for fast user input (see square/Blueprint#13 for the example in Blueprint).

This restriction should be relaxed, piping old sink's action into the new sink created in each render pass.

Additionally, should introduce a "strict" sink that has the same current restrictions.

@davidapgar davidapgar self-assigned this Jul 5, 2019
@zach-klippenstein
Copy link
Collaborator

What if the new rendering doesn't have a sink?

@davidapgar
Copy link
Collaborator Author

If the new rendering does not declare the same type of sink, then it will still fail with a hard assert.

davidapgar pushed a commit that referenced this issue Jul 18, 2019
…asses.

When the UI does not update synchronously from a render pass, it may send
actions to the previous sink. If the same type of sink was declared on the
subsequent render pass, proxy the action to the new event pipe.

Fixes #443
davidapgar pushed a commit that referenced this issue Jul 22, 2019
…asses.

When the UI does not update synchronously from a render pass, it may send
actions to the previous sink. If the same type of sink was declared on the
subsequent render pass, proxy the action to the new event pipe.

Fixes #443
davidapgar pushed a commit that referenced this issue Jul 23, 2019
…asses.

When the UI does not update synchronously from a render pass, it may send
actions to the previous sink. If the same type of sink was declared on the
subsequent render pass, proxy the action to the new event pipe.

Fixes #443
davidapgar pushed a commit that referenced this issue Jul 23, 2019
…asses.

When the UI does not update synchronously from a render pass, it may send
actions to the previous sink. If the same type of sink was declared on the
subsequent render pass, proxy the action to the new event pipe.

Fixes #443
davidapgar pushed a commit that referenced this issue Jul 23, 2019
…asses.

When the UI does not update synchronously from a render pass, it may send
actions to the previous sink. If the same type of sink was declared on the
subsequent render pass, proxy the action to the new event pipe.

Fixes #443
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

No branches or pull requests

2 participants