aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhiseck Paira <abhiseckpaira@disroot.org>2022-02-25 19:43:08 +0530
committerAbhiseck Paira <abhiseckpaira@disroot.org>2022-02-25 19:43:08 +0530
commit6ac09ec8bc5f3011e59602b030d45ce3f3860e25 (patch)
treeb92b95e7d25ceb9476d8251e410546ba8721d560
parent1e4ab751683d497243f719c70cccb0450c9cb451 (diff)
auth: make old mastodon.el users aware
Most old users of the mastodon.el wouldn't know about the introduction of new variable `mastodon-active-user'[1]. Our goal is to make them aware. Set the default value of [1] to nil. This way we can know that the user hasn't set [1] properly because user is unaware of it. In the definition of `mastodon-auth--access-token', check [1]'s value and if it's null, explain to the user about the new situation. Finally signal the error "Variables not set properly". We have considered the possibility of automating the process but since the new login mechanism depends on setting [1] *in the init file*, the only way to automate it would be to write to user's init file which we consider to be very rude and shouldn't be done by this package.
-rw-r--r--lisp/mastodon-auth.el8
-rw-r--r--lisp/mastodon.el2
2 files changed, 9 insertions, 1 deletions
diff --git a/lisp/mastodon-auth.el b/lisp/mastodon-auth.el
index 491d6ae..bad9e08 100644
--- a/lisp/mastodon-auth.el
+++ b/lisp/mastodon-auth.el
@@ -48,6 +48,7 @@
(defvar mastodon-instance-url)
(defvar mastodon-client-scopes)
(defvar mastodon-client-redirect-uri)
+(defvar mastodon-active-user)
(defgroup mastodon-auth nil
"Authenticate with Mastodon."
@@ -172,6 +173,13 @@ Generate/save token if none known yet."
mastodon-auth--token-alist)
(alist-get mastodon-instance-url mastodon-auth--token-alist
nil nil 'equal))
+ ((null mastodon-active-user)
+ ;; user not aware of 2FA related changes and has not set the
+ ;; `mastodon-active-user' properly. Make user aware and error
+ ;; out.
+ (mastodon-auth--show-notice mastodon-auth--user-unaware
+ "*mastodon-notice*")
+ (error "Variables not set properly"))
(t
;; user access-token needs to fetched from the server and
;; stored and variables initialised.
diff --git a/lisp/mastodon.el b/lisp/mastodon.el
index d22c842..6daa755 100644
--- a/lisp/mastodon.el
+++ b/lisp/mastodon.el
@@ -110,7 +110,7 @@ changes to take effect."
:group 'mastodon
:type 'string)
-(defcustom mastodon-active-user "user"
+(defcustom mastodon-active-user nil
"Username of the active user.
For example, if your mastodon username is