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

Configure Feed

Select the types of activity you want to include in your feed.

try and recover from panic?

+10
+10
pkg/appview/storage/manifest_store.go
··· 192 192 // Do this asynchronously to avoid blocking the push 193 193 if tag != "" && s.ctx.ServiceToken != "" && s.ctx.Handle != "" { 194 194 go func() { 195 + defer func() { 196 + if r := recover(); r != nil { 197 + slog.Error("Panic in notifyHoldAboutManifest", "panic", r) 198 + } 199 + }() 195 200 if err := s.notifyHoldAboutManifest(context.Background(), manifestRecord, tag, dgst.String()); err != nil { 196 201 slog.Warn("Failed to notify hold about manifest", "error", err) 197 202 } ··· 201 206 // Refresh README cache asynchronously if manifest has io.atcr.readme annotation 202 207 // This ensures fresh README content is available on repository pages 203 208 go func() { 209 + defer func() { 210 + if r := recover(); r != nil { 211 + slog.Error("Panic in refreshReadmeCache", "panic", r) 212 + } 213 + }() 204 214 s.refreshReadmeCache(context.Background(), manifestRecord) 205 215 }() 206 216