diff options
-rw-r--r-- | lisp/mastodon-notifications.el | 18 | ||||
-rw-r--r-- | lisp/mastodon-profile.el | 6 |
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 |