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

✨ stale #839

Closed
wants to merge 209 commits into from
Closed

✨ stale #839

wants to merge 209 commits into from

Conversation

jycouet
Copy link
Contributor

@jycouet jycouet commented Jan 21, 2023

Fixes #287

Adding stale mechanism. with

To help everyone out, please make sure your PR does the following:

  • Update the first line to point to the ticket that this PR fixes
  • Add a message that clearly describes the fix
  • If applicable, add a test that would fail without this fix
  • Make sure the unit and integration tests pass locally with pnpm run tests and cd integration && pnpm run tests
  • Includes a changeset if your fix affects the user with pnpm changeset

jycouet and others added 10 commits January 20, 2023 21:59
* create e2e project

* init houdini

* use env var for token

* update lock

* update

* accept liveQuery handler as 3rd argument for now

* clean up deprecation warnings

* persist live flag in artifact

* add live to artifact type

* add liveQuery to store

* close EventSource when unsubscribing

* liveQueryHandler takes an updater instead of just returning a raw value

* use third party apply_patch for grafbase test

* pass session to LiveQueryHandler

* remove logs

* handle errors

* start document observer

* failing test and start store implementation

* fixed all tests except lists

* all tests pass

* map subs to spec in one place

* update snapshots

* remove live from artifact

* another failing test

* first pass at middleware iterator

* remove unused import

* temporary names for phases

* fix error when invoking first terminate

* tweak docs

* exception handling

* cleanup phase

* tweak

* move client logic to special directory

* add skeleton for rest of middlewares

* fetch gives full payload

* rename file

* rename document observer stages ; track loading state

* naming tweaks

* naming and comments

* plugins can specify client plugins

* passing null to client_plugins prevents function invocation

* accept url and fetchParams functions

* users can't provide plugins and pipelines together

* rework fetch plugin

* start implementating plugins

* implement input and mutation plugin ; fix fetching state tracking

* update tests

* random tidyness

* failing test

* query plugin includes last used variables in outbound requests

* update variables before subscribing in query

* move variable tracking into document observer

* marshalVariables and variablesChanged from handlers

* can check if variables changed right after assigning it

* mutation clears layer if there is a network error

* quietErrors happens at the network level now

* first pass at subscriptions

* typos

* tests pass

* tidy up type names

* strengthen test

* clean up typedefs

* improved idempotency

* rename plugin.error to plugin.throw

* query plugin uses marshaled variables

* start implementation query store

* implement query, subscription, and mutation

* query pagination

* unused imports

* make import logic synchronous

* everything builds!!

* fix import tests

* move injected plugins into plugins directory

* use getCurrentClient in houdini-react

* fix imports

* subscribe on the way out

* better hook wrapping

* update snapshot

* test cache policy

* add loading state checks to tests

* dont specify pipeline on client

* remove App.Sessions

* query pagination works!

* fix component queries

* more tests passing

* fix fragment cursor pagination

* fragment offset and metadata tests

* mutation initial state

* more tests

* fixed more tests

* remove logging

* ⚡ UPDATE: App Metadata & Session

* 🚀 UPDATE: libReporter config

* update snapshots

* move client retrieval into houdini-svelte

* plugin client_plugins can be specified as a function of config file and plugin config

* add throwOnError config

* can update store state from handle

* setup test

* flatten client plugin hook names

* update init and release notes

* update documentPlugin wrapper for new keywords

* update release notes and subscription setup

* remove index from doc frontmatter

* add doc page for client

* flesh out client docs more

* @manual_load directive & fetching default. (#831)

* ✨ NEW: info in artifact

* ✨ NEW: default init value

* 🐛 FIX: the test to be coherent!

* ✏️ UPDATE: changeset

* 🐛 FIX: lint

* ⚡ IMPROVE: serializeValue to have keys quoted

* ✨ NEW: artifact.pluginsData

* 🚧 UPDATE: all artifacts + check 1 test + docs to doc

* 🐛 FIX: defautl default is false

* 👌 FIX: lint

* 🚸 UPDATE: having the right default for core and the right tests for core

* 💡 IMPROVE: with libReporter (to comment if any config change)

* 👌 FIX: lint

* 👌 FIX: linting

* start on client plugin section

* flesh out plugin overview

* start on your first plugin

* add second plugin example

* add type definition to plugin docs

* add enter and exit phase sections

* more doc updates

* pull out data sources section

* reorder subsections

* add beforeNetwork phase

* tweak sizing and spacing of diagram

* note change of quietQueryErrors in release notes

* add $houdini/plugins export

* add section on Choosing a Phase

* update example

* subscription handler is now a function of the ClientPlugin context

* add changeset

* remove unused import

* linter

* more type imports

* make sure that the plugin root directory exists

* fix graphql return type generator

* enter prerelease mode

* start from 1.0.0-next.1 to cover last mistake

* 🎨 UPDATE: zoomable component (first use: Workflow)

* ✏️ FIX: link & mini typo

* 🎨 IMPROVE: colors

* feedback

* remove grafbase e2e test

* move pipeline config to deep dive

* comment tweak

* grammar

* add links to source of truth for typedefs

* start on fetchParams specifying body

* fetchParams can specify body

* update automatic persisted queries

* better comments

* document App.Stuff

* tweak comment

* detect spread values

* rename file

* remove unused config value

* add fragments to home page

* remove test

* rename DocumentObserver to DocumentStore

* better subscription auth logic

* client-plugin review

* add typedefs for throwOnError and fetchParams

* tweak words

* punctuation

* fix build errors

* start single step document store

* forgot to commit something

* fix document store

* add test for error throw

* remove log

* consolidate error handling

* update docs

* remove log

* fix build errors

* choosing a phase after enter vs exit

* wether -> whether

* punctuation

* small tweaks

* more tweaks

* add caption

* one word

Co-authored-by: jycouet <[email protected]>
@changeset-bot
Copy link

changeset-bot bot commented Jan 21, 2023

⚠️ No Changeset found

Latest commit: ae1b2f5

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link

vercel bot commented Jan 21, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated
docs ❌ Failed (Inspect) Jan 22, 2023 at 1:03PM (UTC)
docs-next ❌ Failed (Inspect) Jan 22, 2023 at 1:03PM (UTC)


const markStale_type_field = async () => {
await addUser.mutate(null);
cache.markStale('UserNodes', 'totalCount');
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a reminder for when we talk later:

This will need an args option Also, If we pass an object in as the first argument, users dont have to remember the order (plus it'd be more consistent with the rest of the API)

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.

2 participants