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
Changed files
+10 -1
pkg
appview
jetstream
+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 }