don't panic on non-fully populated status edits, it may not always be possible (#4006)

This commit is contained in:
kim 2025-04-14 10:22:05 +00:00 committed by GitHub
commit a07ca92752
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -21,6 +21,7 @@ import (
"slices" "slices"
"time" "time"
"github.com/superseriousbusiness/gotosocial/internal/log"
"github.com/superseriousbusiness/gotosocial/internal/util/xslices" "github.com/superseriousbusiness/gotosocial/internal/util/xslices"
) )
@ -272,14 +273,15 @@ func (s *Status) IsLocalOnly() bool {
return s.Federated == nil || !*s.Federated return s.Federated == nil || !*s.Federated
} }
// AllAttachmentIDs gathers ALL media attachment IDs from both the // AllAttachmentIDs gathers ALL media attachment IDs from both
// receiving Status{}, and any historical Status{}.Edits. Note that // the receiving Status{}, and any historical Status{}.Edits.
// this function will panic if Status{}.Edits is not populated.
func (s *Status) AllAttachmentIDs() []string { func (s *Status) AllAttachmentIDs() []string {
var total int var total int
if len(s.EditIDs) != len(s.Edits) { // Check if this is being correctly
panic("status edits not populated") // called on fully populated status.
if !s.EditsPopulated() {
log.Warnf(nil, "status edits not populated for %s", s.URI)
} }
// Get count of attachment IDs. // Get count of attachment IDs.