A container registry that uses the AT Protocol for manifest storage and S3 for blob storage. atcr.io
docker container atproto go

fix jetstream using wrong manifest key

evan.jarrett.net 4d5182e2 65d155f7

verified
+10 -1
+10 -1
pkg/appview/jetstream/processor.go
··· 107 107 // Detect manifest type 108 108 isManifestList := len(manifestRecord.Manifests) > 0 109 109 110 + // Extract hold DID from manifest (with fallback for legacy manifests) 111 + // New manifests use holdDid field (DID format) 112 + // Old manifests use holdEndpoint field (URL format) - convert to DID 113 + holdDID := manifestRecord.HoldDID 114 + if holdDID == "" && manifestRecord.HoldEndpoint != "" { 115 + // Legacy manifest - convert URL to DID 116 + holdDID = atproto.ResolveHoldDIDFromURL(manifestRecord.HoldEndpoint) 117 + } 118 + 110 119 // Prepare manifest for insertion (WITHOUT annotation fields) 111 120 manifest := &db.Manifest{ 112 121 DID: did, ··· 114 123 Digest: manifestRecord.Digest, 115 124 MediaType: manifestRecord.MediaType, 116 125 SchemaVersion: manifestRecord.SchemaVersion, 117 - HoldEndpoint: manifestRecord.HoldEndpoint, 126 + HoldEndpoint: holdDID, 118 127 CreatedAt: manifestRecord.CreatedAt, 119 128 // Annotations removed - stored separately in repository_annotations table 120 129 }