summaryrefslogtreecommitdiff
path: root/internal/processing/workers/fromclientapi.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing/workers/fromclientapi.go')
-rw-r--r--internal/processing/workers/fromclientapi.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/processing/workers/fromclientapi.go b/internal/processing/workers/fromclientapi.go
index 0e27eea0e..dbbeff220 100644
--- a/internal/processing/workers/fromclientapi.go
+++ b/internal/processing/workers/fromclientapi.go
@@ -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)