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

🐛 Consume a task as an operation. #915

Merged
merged 1 commit into from
Oct 25, 2024
Merged

🐛 Consume a task as an operation. #915

merged 1 commit into from
Oct 25, 2024

Conversation

cowboyd
Copy link
Member

@cowboyd cowboyd commented Oct 25, 2024

Motivation

Tasks are supposed to be both operations and promises. However, I had forgotten to make the task consumaeble as an operation, and only a promise. However, because we were monkey-patching Promise.prototype, it was actually hiding the gap because everywher we needed to consume a task as an operation, it just used the promise as operation route.

Approach

I added back the operation functionality, but at the same time, I actually removed the monkey-patch of Promise.prototype for our test suite so that we are forced to follow the operation pathway explicitly. That way, we won't risk regressing back to non-functioning operation tasks. It does make the tests a little more verbose, but the added safety is worth it.

Tasks are supposed to be both operations _and_ promises. However, I
had forgotten to make the task consumaeble as an operation, and only a
promise. However, because we were monkey-patching `Promise.prototype`,
it was actually hiding the gap because everywher we needed to consume
a task as an operation, it just used the promise as operation route.

I added back the operation functionality, but at the same time, I
actually removed the monkey-patch of `Promise.prototype` for our test
suite so that we are forced to follow the operation pathway
explicitly. That way, we won't risk regressing back to non-functioning
operation tasks. It does make the tests a little more verbose, but the
added safety is worth it.
@cowboyd cowboyd merged commit 661717e into v4 Oct 25, 2024
3 checks passed
@cowboyd cowboyd deleted the v4-task-as-operation branch October 25, 2024 04:05
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

Successfully merging this pull request may close these issues.

1 participant