aboutsummaryrefslogtreecommitdiff
path: root/lisp
Commit message (Collapse)AuthorAgeFilesLines
...
| | * functions for making/checking active usersAbhiseck Paira2022-01-171-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define functions for like: * mastodon-client-make-user-active: Take one argument USER-DETAILS and make it the user details of the active user. * mastodon-client--make-current-user-active: Make the user details specified in the init file the current user. * mastodon-client--current-user-active-p: Return user-details if the current user is active, otherwise return nil.
| | * store access token in plstore of the current userAbhiseck Paira2022-01-171-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Store access token in the plstore of the current user. To do that introduce the function `mastodon-client-store-access-token' of one argument TOKEN. Also define a helper function `mastodon-client--make-user-details-plist' which creates a plist with current users details and returns it.
| | * get account ID from user variables specified in the init fileAbhiseck Paira2022-01-171-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Get user account ID from the mastodon variables specified in the init file by introducing the function `mastodon-client-form-user-from-vars'. Return user account ID in the form "user@instance.com" when the values of `mastodon-active-user' and `mastodon-instance-url' are "user" and "https://instance.com" respectively.
| | * introduce a general plstore reading functionAbhiseck Paira2022-01-171-0/+7
| | | | | | | | | | | | | | | | | | Introduce a general version of `mastodon-client--read'[1] with the name `mastodon-client--general-read'[2] as [1] is too specific. [2] can be called with with a plstore "key" to retrieve the item keyed by that KEY.
| | * abstract plstore implementation details of getting valueAbhiseck Paira2022-01-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Introduce a new function `mastodon-client--remove-key-from-plstore' which removes "key" part from a plstore item. Refactor `mastodon-client--read' to use `mastodon-client--remove-key-from-plstore'.
| | * refactor *-access-token and *-handle-token-responseAbhiseck Paira2022-01-131-10/+22
| | | | | | | | | | | | | | | | | | Refactor `mastodon-auth--access-token' and `mastodon-auth--handle-token-response' to work with the new authentication mechanism.
| | * remove functions no longer neededAbhiseck Paira2022-01-131-43/+0
| | | | | | | | | | | | | | | | | | Remove `mastodon-auth--generate-token-no-storing-credentials' and 'mastodon-auth--generate-token-and-store' as these two are no longer needed.
| | * re-implement user auth and token generation mechanismAbhiseck Paira2022-01-131-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor `mastodon-auth--generate-token' to work with new user authentication and token generation mechanism. This enables mastodon.el to work with 2FA and also not to handle password directly. In this implementation mastodon-auth--generate-token gets authorization code from the user and sends post request to mastodon server. Ask for authorization code from the user using two helper functions: * mastodon-auth--ask-authorization-code: Explain to the user what the user needs to do to get the authorization code. Store this explanation message in variable `mastodon-auth--explanation'. * mastodon-auth--get-browser-login-url: Return a appropriate query string appended to url to the caller, which is needed by the user to access the authorization code.
| | * abstract Mastodon API request infoAbhiseck Paira2022-01-131-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mastodon API requires some info that needs to be passed during app registration and user authentication. Those info were hard coded into various functions. Introduce three variables (defvars): 1. mastodon-client-scopes 2. mastodon-client-website 3. mastodon-client-redirect-uri use them to abstract those info. Also refactor `mastodon-client--register' function in terms of these variables.
| | * add helper function `mastodon-http-append-query-string'Abhiseck Paira2022-01-131-0/+8
| | | | | | | | | | | | | | | | | | Add helper function `mastodon-http-append-query-string' which create URLs with query strings appended to its end. (see doc string for details.)
| | * mastodon.el: update `mastodon-instance-url' docstringAbhiseck Paira2022-01-131-1/+15
| | | | | | | | | | | | | | | | | | Update the docstring for the defcustom `mastodon-instance-url' to clarify what it's value should be to reflect the changes introduced in the previous commit.
| | * mastodon.el: introduce new defcustom `mastodon-active-user'Abhiseck Paira2022-01-131-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `mastodon-active-user' and `mastodon-instance-url' to determine which mastodon account the user wants to be active for the current session of Emacs. See the documentation string of this variable for details on how to use it. This new variable becomes necessary to prevent conflict when a user has two accounts on the same instance, that is same value of `mastodon-instance-url'.
| * | attach parent JSON to fave/boost notifs to fix repliesmousebot2022-03-193-8/+13
| | | | | | | | | | | | | | | | | | | | | because we switched to using boost/fave JSON rather than parent, as 'toot-json, replies to these toots were broken (mentions, etc.) so now we attach both bits of data and selectively pull from each.
| * | remove require test for --translate-toot-textmousebot2022-03-181-2/+2
| | | | | | | | | | | | | | | we already have the same test for declaring lingva-translate fun, so this shouldn't be needed and seems to prevent our fun from loading.
| * | add header line to update profile note buffermousebot2022-03-141-0/+4
| | |
| * | autoload and binding for translate-toot-textmousebot2022-03-131-0/+5
| | |
| * | make timestamps for boost/fave notifs the time of orig tootmousebot2022-03-121-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | do not use the time stamp of the boosting/faving. in other views, mastodon-tl--field already handles this by fetching from 'reblog if present, but in notifs, there's no reblog section, and instead there's a status section. so we fetch from status if present, else fallback to using --field. this became necessary when we started attaching the boost/fave json to such notifs, rather than the json of the boosed/faved toot.
| * | make profile--show-user also work on profile headersmousebot2022-03-111-1/+2
| | |
| * | don't add play with mpv help-echo if media type is "unknown"mousebot2022-03-111-1/+3
| | | | | | | | | | | | | | | | | | "unknown" type is given when a media image fails to load or similar. nil is e.g. when a profile picture isn't given, and missing.png is used as a replacement
| * | fix follow etc user when point on profile header infomousebot2022-03-111-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | we just modify the if test to not run in accounts buffers, which means we end up using the next-toot solution, as was originally the case. hopefully a profile view will always have a toot or user or sth. else we cd find a better solution
| * | favourite not favoritemousebot2022-03-113-5/+5
| | |
| * | improve empty notifications json messagemousebot2022-03-111-1/+1
| | |
| * | make follow etc work on boost/fave notifsmousebot2022-03-112-8/+16
| | | | | | | | | | | | | | | | | | | | | to achieve this, in notifications--format-note, we run notifications--insert-status on 'note' rather than 'status' handle mentions/reblogs when following from a notif
| * | translate toot with lingva.elmousebot2022-03-101-0/+17
| | | | | | | | | | | | this could easily be made into a macro supporting any emacs translation pkg
| * | display image caption in help echomousebot2022-03-102-5/+10
| | |
| * | add copy-toot-text functionmousebot2022-02-281-0/+7
| | |
| * | add toot-json property to profile followers/following notemousebot2022-02-191-1/+3
| | | | | | | | | | | | in profile--add-author-bylines, which now prints profile notes
| * | add checks to profile--show-user for when its called on nothingmousebot2022-02-191-16/+22
| | | | | | | | | | | | - also make profile--extract-ysers-handles work on user listings as well as toots
| * | test and message for foll reqs processmousebot2022-02-181-1/+2
| | | | | | | | | | | | just feedback for when we call it when not on anything
| * | test for toot-json before following/muting/blocking etcmousebot2022-02-181-28/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this is more needed now that we have some other buffers like follow suggestions and follow requests, which want to be able to use these functions. previously, if any of them were called in these buffers when not on the correct item, the buffer would reload and duplicate. ultimately this was probably due to tl--property calls failing, which causes goto-next-toot to be called, which when it also fails calls tl--more.
| * | docstring insert-users-propmousebot2022-02-181-3/+4
| | |
| * | profile--add-author-bylines docstringmousebot2022-02-181-2/+1
| | |
| * | FIX buffers that use alt acct fetch in interactive-user-handles-getmousebot2022-02-181-8/+8
| | |
| * | handle empty display_name in mastodon-tl--do-user-action-and-responsemousebot2022-02-181-1/+3
| | |
| * | search: use toot-json propertize not user-json, for compatmousebot2022-02-181-1/+1
| | |
| * | use search-insert-users-propertized for foll reqsmousebot2022-02-181-1/+3
| | | | | | | | | | | | | | | | | | not prifile--add-author-bylines autoload insert-users-propr in -profile
| * | handle empty display_name in search--get-user-infomousebot2022-02-181-1/+3
| | | | | | | | | | | | ensures we hever have an empty author name slot
| * | tl--init: aslo set tl-buffer-spec before update-functionmousebot2022-02-181-4/+20
| | |
| * | improve check for any existing masto buffers on mastodon loadmousebot2022-02-171-4/+9
| | |
| * | no faves counts for following/followers in profile viewmousebot2022-02-171-1/+6
| | |
| * | make interactive-user-handles-get work for all profile viewsmousebot2022-02-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | - profile statuses: leave as is - profile followers/following: we extract handle direct from toot-json without running mastodon-profile--extract-users-handles on the toot, as with user views there is no toot
| * | run goto-first-item in tl--init, unless profile viewmousebot2022-02-172-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | - remove call to goto-next-item from view filters and view foll suggests tweak init-sync goto-first-item behaviour remove call to goto-next-toot on profile load
| * | cleanup indentation in tl.elmousebot2022-02-173-76/+76
| | | | | | | | | | | | cleanup indents
| * | fix view filters/foll suggestsmousebot2022-02-172-27/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - they get keymaps that inherit and so override the main masto keymap, which allows them to still have the basic timeline/view nav functions. - but we give them next-item rather than next toot so that they never try to e.g. load for toots into the buffer, which wouldn't work. - also remove the reference to foll requests view in tl--init as it is not longer needed. binding for follow suggestions remove tab from foll suggests keymap makes tab work as default, which means you can n/p to next/prev user, while still being able to tab to user next handle, to visit profile squashed commit: remove foll suggestions keymap
| * | fix up follow requests view: own inheriting keymapmousebot2022-02-171-9/+20
| | | | | | | | | | | | uses init-sync now also
| * | remove unused let binding user-idsmousebot2022-02-171-2/+3
| | |
| * | rename goto-first-toot to goto-first-itemmousebot2022-02-171-5/+7
| | | | | | | | | | | | and enable it in "favourites" buffer
| * | re-factor follow-user functions for various viewsmousebot2022-02-173-31/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - revert profile--extract-users-handles - rewrite search--insert-users-propertized to handle raw account JSON, and to call search--get-user-info itself, so we can add full acct JSON to each user displayed and use it for follow-user etc. - and to choose how we want to follow users, we edit tl--interactive-user-handles-get to work differently depending on context: - poss contexts are "follow suggestions" view, search results, and profiles displaying a user's followers/followed users.
| * | move next/prev item funsmousebot2022-02-171-15/+15
| | |
| * | Revert "replace all calls to mastodon-search--insert-users-propertized"mousebot2022-02-172-3/+23
| | | | | | | | | | | | This reverts commit 787f18dcff2ee7a4c5a5cbf331f4e2d26997e1cc.