mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[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:
@ -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)
|
||||
|
Reference in New Issue
Block a user