From faeb950fffb17cd3cfd8ffeecd8051e7394e73cb Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Sat, 23 Sep 2023 19:28:58 +0200 Subject: [PATCH] Fix latest for "image list" command --- internal/grpc/image.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/grpc/image.go b/internal/grpc/image.go index 97bc336e..1b3be5e4 100644 --- a/internal/grpc/image.go +++ b/internal/grpc/image.go @@ -6,6 +6,7 @@ import ( "github.com/containers/image/v5/docker/reference" "github.com/crazy-max/diun/v4/pb" + "github.com/crazy-max/diun/v4/pkg/registry" "github.com/pkg/errors" "google.golang.org/protobuf/types/known/timestamppb" ) @@ -17,16 +18,18 @@ func (c *Client) ImageList(ctx context.Context, request *pb.ImageListRequest) (* } var ilr []*pb.ImageListResponse_Image - for name, manifests := range images { - latest := &manifests[0] - for _, manifest := range manifests { - if manifest.Created.After(*latest.Created) { - latest = &manifest + for name, mfsts := range images { + mfsts := mfsts + var latest *registry.Manifest + for _, mfst := range mfsts { + mfst := mfst + if latest == nil || mfst.Created.After(*latest.Created) { + latest = &mfst } } ilr = append(ilr, &pb.ImageListResponse_Image{ Name: name, - ManifestsCount: int64(len(manifests)), + ManifestsCount: int64(len(mfsts)), Latest: &pb.Manifest{ Tag: latest.Tag, MimeType: latest.MIMEType,