From 03759713e9574d610a08711282837239db13847a Mon Sep 17 00:00:00 2001 From: Evan Jarrett Date: Tue, 7 Apr 2026 21:59:34 -0500 Subject: [PATCH] fix 500 when trying to use did --- pkg/appview/middleware/registry.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/appview/middleware/registry.go b/pkg/appview/middleware/registry.go index 9834174..1249ff3 100644 --- a/pkg/appview/middleware/registry.go +++ b/pkg/appview/middleware/registry.go @@ -442,9 +442,10 @@ func (nr *NamespaceResolver) Repository(ctx context.Context, name reference.Name } // Create a new reference with identity/image format - // Use the identity (or DID) as the namespace to ensure canonical format - // This transforms: evan.jarrett.net/debian -> evan.jarrett.net/debian (keeps full path) - canonicalName := fmt.Sprintf("%s/%s", identityStr, imageName) + // Use the resolved handle (not raw DID) to ensure the name is valid per OCI reference grammar. + // DIDs contain colons which are illegal in reference path components. + // This transforms: did-plc-abc123/myimage -> alice.bsky.social/myimage + canonicalName := fmt.Sprintf("%s/%s", handle, imageName) ref, err := reference.ParseNamed(canonicalName) if err != nil { return nil, fmt.Errorf("invalid image name %s: %w", imageName, err)