Conversation
Replace @Data-access client and passage functions with @client-graphql equivalents for the infinite scroll pagination provider.
- Add PageInfo type to base.graphql for reuse across connections - Update PassageConnection to include pageInfo field - Mark inline pagination fields (nextCursor, prevCursor, etc.) as deprecated - Resolver returns both pageInfo and deprecated fields for backward compatibility
- Update all GraphQL queries to use pageInfo { ... } instead of inline fields
- Update mappers and functions to read from pageInfo
- Regenerate TypeScript types
- Add passage(uuid: ID!) root query to fetch individual passages - Add workUuid field to Passage type for work context - Create passage.query.ts resolver and register in resolvers.ts - Add getPassage function to client-graphql library - Update all passage fragments and response types to include workUuid - Update passageFromGraphQL mapper to use workUuid from response
- Add Permission enum and hasPermission query to user schema - Add savePassages mutation to passage schema with PassageInput type - Create passage.mutation.ts resolver for savePassages - Add hasPermission and savePassages client functions - Migrate EditorProvider from Supabase to GraphQL client
BREAKING CHANGE: The works query now returns WorkConnection instead of [Work!]! - Update works query to accept cursor and limit parameters - Remove deprecated worksConnection query - Rename getWorksConnection to getWorks in client - Update getTranslationUuids and getTranslationsMetadata to paginate
Migrate all lib-editing components to use getTranslationBlocks which returns pre-transformed TipTap JSON, eliminating the need for blocksFromTranslationBody transformation calls.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Use Promise.all to fetch endnotes, abbreviations, glossary, bibliography, and body content concurrently instead of sequentially for faster page loads.
Use 'match' instead of '~' for PostgREST regex filtering, consistent with the FORWARD/BACKWARD direction implementation.
The database allows null labels, so the schema should reflect this.
Contributor
Author
|
Integration looks good, but I'll be ready to roll back quickly if necessary. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is a very large change that will require extensive testing before merging. It adds the last functionality to the GraphQL API that the reader needs to function and integrates GraphQL fully into the reader. There are a few outlier operations relying on the direct Supabase queries -- like fetching build-time work uuids -- but runtime queries have all been migrated.
This sets us up for some nice things, including: