Fix IP asset fetch pipeline: owner filtering, local caching, error surfacing#1
Open
creativemuse wants to merge 1 commit into
Open
Fix IP asset fetch pipeline: owner filtering, local caching, error surfacing#1creativemuse wants to merge 1 commit into
creativemuse wants to merge 1 commit into
Conversation
…surfacing - Add owner/wallet address filter to GET_USER_IP_ASSETS GraphQL query so Launchpad shows only the connected user's assets - Add LocalIPAsset Prisma model for immediate DB persistence after Crossmint registration (before subgraph indexes) - Add /api/my-assets endpoint to query local DB assets by owner - Merge subgraph + local DB data in Launchpad with deduplication by storyProtocolId - Add metadataStatus field (loading/loaded/failed) to surface metadata fetch errors in the UI via warning badge on IPCard - Add retry with exponential backoff for Grove/IPFS metadata fetches Co-Authored-By: Paperclip <noreply@paperclip.ing>
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
GET_USER_IP_ASSETSGraphQL query now filters bycaller(wallet address) so Launchpad shows only the connected user's assetsLocalIPAssetPrisma model persists assets immediately after Crossmint registration, giving instant visibility before the Goldsky subgraph indexes the on-chain eventstoryProtocolIdmetadataStatusfield (loading/loaded/failed) with UI warning badge on IPCard when metadata is unavailableFiles changed
lib/graphql.ts— owner filter, metadataStatus, retry logicprisma/schema.prisma— newLocalIPAssetmodelapp/api/register-ip/route.ts— persist to local DB after Crossmint successapp/api/my-assets/route.ts— new endpoint to query local assets by ownercomponents/launchpad.tsx— merged data sources with dedupcomponents/ip-card.tsx— metadata failure warning badgeTest plan
npx prisma db pushto apply the schema migration🤖 Generated with Claude Code