[feature] Notify accounts when a status they've interacted with has been edited (#4157)

This pull request adds sending notifications to local accounts that have interacted with a status, if we receive or create a new edit for that status.

closes https://codeberg.org/superseriousbusiness/gotosocial/issues/3991
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4157
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
tobi 2025-05-11 13:38:13 +00:00 committed by kim
commit 8480a75808
19 changed files with 375 additions and 81 deletions

View file

@ -94,4 +94,12 @@ type Status interface {
// MaxDirectStatusID, and expects to eventually return the status with that ID.
// It is used only by the conversation advanced migration.
GetDirectStatusIDsBatch(ctx context.Context, minID string, maxIDInclusive string, count int) ([]string, error)
// GetStatusInteractions gets all abstract "interactions" of a status (likes, replies, boosts).
// If localOnly is true, will return only interactions performed by accounts on this instance.
// Aside from that, interactions are not filtered or deduplicated, it's up to the caller to do that.
GetStatusInteractions(ctx context.Context, statusID string, localOnly bool) ([]gtsmodel.Interaction, error)
// GetStatusByEditID gets one status corresponding to the given edit ID.
GetStatusByEditID(ctx context.Context, editID string) (*gtsmodel.Status, error)
}