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

Hook for new results in subscription (and also on defer/stream) #3613

Open
patrick91 opened this issue Sep 2, 2024 · 0 comments
Open

Hook for new results in subscription (and also on defer/stream) #3613

patrick91 opened this issue Sep 2, 2024 · 0 comments

Comments

@patrick91
Copy link
Member

patrick91 commented Sep 2, 2024

From #3554

CleanShot 2024-09-02 at 19 41 36@2x

Upvote & Fund

  • We're using Polar.sh so you can upvote and help fund this issue.
  • We receive the funding once the issue is completed & confirmed by you.
  • Thank you in advance for helping prioritize & fund our backlog.
Fund with Polar
patrick91 added a commit to nrbnlulu/strawberry that referenced this issue Sep 2, 2024
patrick91 added a commit that referenced this issue Sep 10, 2024
* Support subscriptions extensions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add RELEASE.md

* mypy fixes.

* remove positional only / (py3.7)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* reverts

* intial subscription test pass

* wip. pass manager to graphql core

* wip: migrate to new graphql core

* don't use supports resolve

* revert

* revert unneeded changes

* restore tests; inject execution_context on operation

* don't use class; depecate

* wip: ensure execution context is distinct.

* wip: first inital successful run after refactor

* wip: more tests pass

* better release.md

* all previous extensions tests pass

* update release.md

* improve tests readability

* test_subscription_success_many_fields pass

* test_subscription_first_yields_error

* test_extensino_results_are_cleared_between_yields

* test_extensino_results_are_cleared_between_yields

* fix extensions tests

* ai lints

* refactor; fix more tests

* ensure `on_execute` and `get_result` hooks are deterministically ordered.

* handle `on_execute` exceptions.

* move missing query error before parsing phase.

* wip: remove unneeded exception handler for `sync_execute`

* fix more tests

* refactor: separate subscription tests from normal tests.

* fix websocket tests

* fix mypy

* move to graphql-core origin@main

* nit

* fix: handle not awaitable result of `original_subscribe`

* add th `assert_next`

* nits

* nit

* nit

* nits

* reorder execute.py

* docs.

* use `.aclose`

* fix mypy issues.

* fix unused `else`

* move execution context injection upwards.

* nit

* add test for when extensios not return anything.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* wip: remove implements_get_result check

* working on tests

* schema tests pass

* lints

* fix more tests

* wip: working on tests.

* fix graphql-transport-ws

* graphql-ws tests pass

* tests were always running on 3.3 XD

* pass middleware manager only in 3.3

* fix some mypy issues

* fix more tests.

* fix graphql-ws-transport protocol behaviour on (pre)execution errors

* resolve optimization todos.

* add `long_runnning` subscription benchmark; update release.md; improve coverage.

* fix contextvar issue + few redundant changes.

* feat: add lazy loading for images in test_subscriptions benchmark

* typos in readme

* fix tests.

* recify reviews; nits & move `_implements_resolve` to `SchemaExtension`

* refactor: update GraphQL version check logic in utils/__init__.py

* rectify review comments

* rectify @DoctorJohn review

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rectify @bellini666 comments

* Improve protocol handling for subscriptions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Lint

* Restore tests

* Update wrong return type

* Update doc

* Temporarily skip on_execute, see #3613

* Update multipart tests

* Fix bad merge

* Fix type

* remove unneeded async gen wrapper since we removed support for on_execute hook

* Update release notes

* Add tweet.md

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Patrick Arminio <patrick.arminio@gmail.com>
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

1 participant