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

debug, map, flatten bug #91

Closed
staltz opened this issue Jul 25, 2016 · 3 comments
Closed

debug, map, flatten bug #91

staltz opened this issue Jul 25, 2016 · 3 comments

Comments

@staltz
Copy link
Owner

staltz commented Jul 25, 2016

http://jsbin.com/hihuvuqupo/edit?html,js,console

@mz3
Copy link

mz3 commented Aug 12, 2016

I have a stream that does not emit anything unless there is a .debug(noop) tacked on the end. Do you think it is related, or should I post another issue with detail?

@staltz
Copy link
Owner Author

staltz commented Aug 14, 2016

Just open another issue. We can't be sure yet it is the same bug.

staltz added a commit that referenced this issue Aug 16, 2016
To fix bugs such as #91 and others where adding .debug() would magically solve the bug, we need to
change the semantics around producer stop and stream completion/error. Previously, a stream would
complete first, and stop the producer after. Now, the stream stops its producer just before
completing. This was important to make the test 'Stream.prototype.flatten with map should not run
multiple executions of the inner' pass.

BREAKING CHANGE: in this version, when a stream completes or errors, its producer has already been
stopped. In previous versions, the stream first completes, propagates the complete to other
listeners and operators, and then its producer is stopped. You may barely notice this breaking
change when updating your code. Most existing code will still work like before.
staltz added a commit that referenced this issue Aug 20, 2016
To fix bugs such as #91 and others where adding .debug() would magically solve the bug, we need to
change the semantics around producer stop and stream completion/error. Previously, a stream would
complete first, and stop the producer after. Now, the stream stops its producer just before
completing. This was important to make the test 'Stream.prototype.flatten with map should not run
multiple executions of the inner' pass.

BREAKING CHANGE: in this version, when a stream completes or errors, its producer has already been
stopped. In previous versions, the stream first completes, propagates the complete to other
listeners and operators, and then its producer is stopped. You may barely notice this breaking
change when updating your code. Most existing code will still work like before.
@staltz
Copy link
Owner Author

staltz commented Aug 22, 2016

This should be fixed now in v6.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants