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

Configure Feed

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

for real fix

+5 -3
+5 -3
pkg/hold/pds/events.go
··· 501 501 // backfillFromDatabase queries events from database and sends to subscriber 502 502 func (b *EventBroadcaster) backfillFromDatabase(sub *Subscriber, cursor int64) error { 503 503 // Query events where seq > cursor, ordered by seq 504 + // Include created_at to preserve original event timestamp 504 505 query := ` 505 - SELECT seq, commit_cid, rev, since_rev, repo_slice, ops_json 506 + SELECT seq, commit_cid, rev, since_rev, repo_slice, ops_json, created_at 506 507 FROM firehose_events 507 508 WHERE seq > ? 508 509 ORDER BY seq ASC ··· 522 523 sinceRev sql.NullString 523 524 repoSlice []byte 524 525 opsJSON []byte 526 + createdAt time.Time 525 527 ) 526 528 527 - if err := rows.Scan(&seq, &commitCID, &rev, &sinceRev, &repoSlice, &opsJSON); err != nil { 529 + if err := rows.Scan(&seq, &commitCID, &rev, &sinceRev, &repoSlice, &opsJSON, &createdAt); err != nil { 528 530 log.Printf("Error scanning event row: %v", err) 529 531 continue 530 532 } ··· 550 552 Since: since, 551 553 Blocks: repoSlice, 552 554 Ops: ops, 553 - Time: time.Now().Format(time.RFC3339), 555 + Time: createdAt.Format(time.RFC3339), // Use original event time from database 554 556 Type: "#commit", 555 557 } 556 558