[bugfix] Fix no notification if mention edited into status (#4102)

This pull request adds mention notifications if a mention was edited into a status after its initial publication.

Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/3869

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4102
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
tobi
2025-05-04 09:45:10 +00:00
committed by kim
parent 056c67f396
commit f3f1854359
13 changed files with 196 additions and 48 deletions

View File

@ -729,6 +729,25 @@ func (p *clientAPI) UpdateStatus(ctx context.Context, cMsg *messages.FromClientA
}
}
// Notify any *new* mentions added
// to this status by the editor.
for _, mention := range status.Mentions {
// Check if we've seen
// this mention already.
if !mention.IsNew {
// Already seen
// it, skip.
continue
}
// Haven't seen this mention
// yet, notify it if necessary.
mention.Status = status
if err := p.surface.notifyMention(ctx, mention); err != nil {
log.Errorf(ctx, "error notifying mention: %v", err)
}
}
// Push message that the status has been edited to streams.
if err := p.surface.timelineStatusUpdate(ctx, status); err != nil {
log.Errorf(ctx, "error streaming status edit: %v", err)