diff options
| author | 2025-05-04 09:45:10 +0000 | |
|---|---|---|
| committer | 2025-05-05 12:09:00 +0200 | |
| commit | fd12b36fbd84e945161aa2d06250d54065bfc23d (patch) | |
| tree | b3ae1d5cadcf2a6c557ab525cfc95670394fb89d /internal/processing/workers/fromfediapi.go | |
| parent | [chore/cicd] Account for force pushes in conditional runs (#4121) (diff) | |
| download | gotosocial-fd12b36fbd84e945161aa2d06250d54065bfc23d.tar.xz | |
[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>
Diffstat (limited to 'internal/processing/workers/fromfediapi.go')
| -rw-r--r-- | internal/processing/workers/fromfediapi.go | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/internal/processing/workers/fromfediapi.go b/internal/processing/workers/fromfediapi.go index 5d5e842d0..59dd582f4 100644 --- a/internal/processing/workers/fromfediapi.go +++ b/internal/processing/workers/fromfediapi.go @@ -1003,7 +1003,26 @@ func (p *fediAPI) UpdateStatus(ctx context.Context, fMsg *messages.FromFediAPI) log.Errorf(ctx, "error streaming status edit: %v", err) } - // Status representation was refetched, uncache from timelines. + // 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) + } + } + + // Status representation changed, uncache from timelines. p.surface.invalidateStatusFromTimelines(ctx, status.ID) return nil |
