aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/mastodon-notifications.el7
-rw-r--r--lisp/mastodon-tl.el18
-rw-r--r--lisp/mastodon-toot.el19
3 files changed, 26 insertions, 18 deletions
diff --git a/lisp/mastodon-notifications.el b/lisp/mastodon-notifications.el
index 29412b6..1361099 100644
--- a/lisp/mastodon-notifications.el
+++ b/lisp/mastodon-notifications.el
@@ -48,6 +48,7 @@
(autoload 'mastodon-tl--spoiler "mastodon-tl.el")
(autoload 'mastodon-tl--toot-id "mastodon-tl.el")
(defvar mastodon-tl--display-media-p)
+(defvar mastodon-tl--buffer-spec)
(defvar mastodon-notifications--types-alist
'(("mention" . mastodon-notifications--mention)
@@ -174,8 +175,8 @@ Status notifications are given when
(propertize (if (equal type 'follow)
"Congratulations, you have a new follower!"
(format "You have a follow request from... %s"
- follower)
- 'face 'default))
+ follower))
+ 'face 'default)
(mastodon-tl--clean-tabs-and-nl
(if (mastodon-tl--has-spoiler status)
(mastodon-tl--spoiler status)
@@ -192,7 +193,7 @@ Status notifications are given when
(cond ((equal type 'boost)
"Boosted")
((equal type 'favorite)
- "Favorited")
+ "Favourited")
((equal type 'follow-request)
"Requested to follow")
((equal type 'follow)
diff --git a/lisp/mastodon-tl.el b/lisp/mastodon-tl.el
index 50f5c9e..f984c34 100644
--- a/lisp/mastodon-tl.el
+++ b/lisp/mastodon-tl.el
@@ -495,13 +495,8 @@ START and END are the boundaries of the link in the toot."
mastodon-instance-url))
(maybe-hashtag (mastodon-tl--extract-hashtag-from-url
url toot-instance-url))
- (url-instance (concat "https://"
- (url-host (url-generic-parse-url url))))
- (maybe-userhandle (if (string= mastodon-instance-url url-instance)
- ; if handle is local, then no instance suffix:
- (buffer-substring-no-properties start end)
- (mastodon-tl--extract-userhandle-from-url
- url (buffer-substring-no-properties start end)))))
+ (maybe-userhandle (mastodon-tl--extract-userhandle-from-url
+ url (buffer-substring-no-properties start end))))
(cond (;; Hashtags:
maybe-hashtag
(setq mastodon-tab-stop-type 'hashtag
@@ -553,11 +548,16 @@ START and END are the boundaries of the link in the toot."
BUFFER-TEXT is the text covered by the link with URL, for a user profile
this should be of the form <at-sign><user id>, e.g. \"@Gargon\"."
- (let ((parsed-url (url-generic-parse-url url)))
+ (let* ((parsed-url (url-generic-parse-url url))
+ (local-p (string=
+ (url-host (url-generic-parse-url mastodon-instance-url))
+ (url-host parsed-url))))
(when (and (string= "@" (substring buffer-text 0 1))
(string= (downcase buffer-text)
(downcase (substring (url-filename parsed-url) 1))))
- (concat buffer-text "@" (url-host parsed-url)))))
+ (if local-p
+ buffer-text ; no instance suffic for local mention
+ (concat buffer-text "@" (url-host parsed-url))))))
(defun mastodon-tl--extract-hashtag-from-url (url instance-url)
"Return the hashtag that URL points to or nil if URL is not a tag link.
diff --git a/lisp/mastodon-toot.el b/lisp/mastodon-toot.el
index befffee..746b7d4 100644
--- a/lisp/mastodon-toot.el
+++ b/lisp/mastodon-toot.el
@@ -162,11 +162,17 @@ Valid values are \"direct\", \"private\" (followers-only),
(defun mastodon-toot--get-max-toot-chars-callback (json-response)
"Set max_toot_chars returned in JSON-RESPONSE and display in new toot buffer."
- (setq mastodon-toot--max-toot-chars
- (number-to-string
- (alist-get 'max_toot_chars json-response)))
+ (let ((max-chars
+ (or
+ (alist-get 'max_toot_chars json-response)
+ ;; some servers have this instead:
+ (alist-get 'max_characters
+ (alist-get 'statuses
+ (alist-get 'configuration
+ json-response))))))
+ (setq mastodon-toot--max-toot-chars max-chars)
(with-current-buffer "*new toot*"
- (mastodon-toot--update-status-fields)))
+ (mastodon-toot--update-status-fields))))
(defun mastodon-toot--action-success (marker byline-region remove)
"Insert/remove the text MARKER with 'success face in byline.
@@ -493,7 +499,8 @@ If media items have been attached and uploaded with
(not (= (length mastodon-toot--media-attachments)
(length mastodon-toot--media-attachment-ids)))))
(message "Something is wrong with your uploads. Wait for them to complete or try again."))
- ((> (length toot) (string-to-number mastodon-toot--max-toot-chars))
+ ((and mastodon-toot--max-toot-chars
+ (> (length toot) mastodon-toot--max-toot-chars))
(message "Looks like your toot is longer than that maximum allowed length."))
(empty-toot-p
(message "Empty toot. Cowardly refusing to post this."))
@@ -849,7 +856,7 @@ REPLY-JSON is the full JSON of the toot being replied to."
(list 'display
(format "%s/%s characters"
(- (point-max) (cdr header-region))
- mastodon-toot--max-toot-chars)))
+ (number-to-string mastodon-toot--max-toot-chars))))
(add-text-properties (car visibility-region) (cdr visibility-region)
(list 'display
(format "Visibility: %s"