-
Notifications
You must be signed in to change notification settings - Fork 91
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
fix(graphql): implement real cursor pagination #9387
fix(graphql): implement real cursor pagination #9387
Conversation
PR Summary
|
51ad286
to
6ef8720
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: la transition va casser les requetes en cours qui vont passer de l'ancien cursor au nouveau.
|
||
def nodes | ||
load_nodes | ||
@nodes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nodes |
Ça ne serait pas un énorme effort d'implémenter le fallback. Tu penses que ça vaut le coup ? |
6ef8720
to
f5997d0
Compare
43d3568
to
8cdb3f0
Compare
8cdb3f0
to
93a5bc3
Compare
@LeSim, c'est bon pour une dernière revue et merge pour moi. J'ai simplifié le code dans |
…om from our code not user input
8ef368b
to
a43176b
Compare
6ff2287
Aujourd'hui, la pagination sur l'API est implémentée avec une limite et un décalage. Cela pose des problèmes lors de la synchronisation des dossiers. Par exemple : on récupère les deux premières pages, un dossier est supprimé sur la première page, maintenant la troisième page est décalée d'un élément. La solution consiste à encoder dans le curseur le dernier élément récupéré au lieu d'un décalage. Cela rend la pagination "stable". Pas de changement d'API car ce que nous exposons est déjà une pagination par curseur. Nous changeons simplement le contenu du curseur.
L'implémentation du calcul des paramètres de page est essentiellement copié d'ici : https://github.com/hayes/pothos/blob/26b4dd83777273d4aa0af6ac97e750c1363050c1/packages/plugin-relay/src/utils/connections.ts#L194-L220