aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/mastodon-notifications.el18
-rw-r--r--lisp/mastodon-profile.el6
2 files changed, 16 insertions, 8 deletions
diff --git a/lisp/mastodon-notifications.el b/lisp/mastodon-notifications.el
index df4f9c0..670105a 100644
--- a/lisp/mastodon-notifications.el
+++ b/lisp/mastodon-notifications.el
@@ -168,12 +168,18 @@ Status notifications are given when
(status (mastodon-tl--field 'status note))
(follower (alist-get 'username (alist-get 'account note))))
(mastodon-notifications--insert-status
- (if (or (equal type 'follow)
- (equal type 'follow-request))
- ;; Using reblog with an empty id will mark this as something
- ;; non-boostable/non-favable.
- (cons '(reblog (id . nil)) note)
- status)
+ (cond ((or (equal type 'follow)
+ (equal type 'follow-request))
+ ;; Using reblog with an empty id will mark this as something
+ ;; non-boostable/non-favable.
+ (cons '(reblog (id . nil)) note))
+ ;; reblogs/faves use 'note' to process their own json
+ ;; not the toot's. this ensures following etc. work on such notifs
+ ((or (equal type 'favourite)
+ (equal type 'boost))
+ note)
+ (t
+ status))
(if (or (equal type 'follow)
(equal type 'follow-request))
(propertize (if (equal type 'follow)
diff --git a/lisp/mastodon-profile.el b/lisp/mastodon-profile.el
index cb449b6..793d8f9 100644
--- a/lisp/mastodon-profile.el
+++ b/lisp/mastodon-profile.el
@@ -483,8 +483,10 @@ These include the author, author of reblogged entries and any user mentioned."
(let ((this-account
(or (alist-get 'account status) ; status is a toot
status)) ; status is a user listing
- (mentions (alist-get 'mentions status))
- (reblog (alist-get 'reblog status)))
+ (mentions (or (alist-get 'mentions (alist-get 'status status))
+ (alist-get 'mentions status)))
+ (reblog (or (alist-get 'reblog (alist-get 'status status))
+ (alist-get 'reblog status))))
(seq-filter
'stringp
(seq-uniq