aboutsummaryrefslogtreecommitdiff
path: root/lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* Clean up code to remove compilation warnings.Holger Durer2018-08-104-3/+11
| | | | | We used to be clean but have slipped recently. Let's clean up the code so it's easier to see real code smell warnings in the compilation.
* Generalizations for notifications (#174)Alexander Griffith2018-08-101-20/+36
| | | | | | | | * Added generalizations needed for adding notifications #37 - Made generalizations to toot and bylines to enable notifications. - Fixed tl tests to account for the new function arguments. - fixed whitespace
* Fix missing thread notifications (#176)Alexander Griffith2018-08-101-12/+18
| | | | | | * Print "No Thread\!" if there are no descendants or ancestors. * Fixed errors for Reblog, follow and favourited notifications.
* Recognise hashtag links and make them link to our own tag browsing ↵Holger Durer2018-08-101-20/+72
| | | | functionality instead.
* Retoot add accts closes #155Alexander Griffith2018-03-054-6/+51
| | | | | | | | | | | | | When responding to toots the full acct for both local and federated accounts are now added to the new toot buffer. Changes - Added a function in mastodon.el to return the current user acct - Added mastodon-toot--process-local, which takes an acct and appends the current server if it is local returns an empty string if the acct matches the current user and does only adds a prefix @ if the acct is federated - mastodon-toot--mentions will return a formatted string of mentions or an empty string - adds tests for mastodon-toot--mentions - adds a missing , in mastodon-http--post - `mastodon-toot--reply` now passes `mastodon-toot` a toot-id rather than the whole json - 'mastodon-toot--reply-to-id is now a local var in a new toot
* Bump to 0.7.2 and shorten long code lines (#172)Alexander Griffith2018-03-058-50/+78
| | | | | | * Bump version numbers to 0.7.2 * Adjusted functions to bring line length below 90.
* Make "Content warning" a tab stop and toggle to show/hide the main contents. ↵H Durer2018-03-051-27/+115
| | | | | | | | | | | | | (#170) * Allow user to navigate interesting things in a buffer via tabbing (tab to go forward, M-tab and S-Tab to go back). This has always been possible while on a hyperlink but now works everywhere. Currently only hyperlinks are tab stops but in the future we will want to support other things and there are already TODO comments in the code to note where we may want to do this. * Add a new tab stop and link type: spoiler toggling. This initially hides the spoiler in a toot and makes the "Content warning" a link and tab stop. The action taken is to toggle the visibility of the toot.
* Add a new customization flag to switch between using fixed width or ↵Holger Dürer2018-03-051-1/+8
| | | | | | proportional fonts. The default stays as is now to use fixed width fonts.
* Allow user to navigate interesting things in a buffer via tabbing (tab to go ↵Holger Dürer2018-03-052-62/+170
| | | | | | | forward, M-tab and S-Tab to go back). This has always been possible while on a hyperlink but now works everywhere. Currently only hyperlinks are tab stops but in the future we will want to support other things and there are already TODO comments in the code to note where we may want to do this.
* Explicity set output variables to "unlimited" when saving plstore.Holger Durer2018-03-021-1/+6
| | | | | | | Alex Griffith reported ellipses in the output which seems to indicate the printing was somehow truncated. I cannot see anywhere in the code path for plstore-save that these variables be set explictly. See https://www.gnu.org/software/emacs/manual/html_node/elisp/Output-Variables.html for an explanation of these variables.
* Keep track of to which instance secrets in plstore belong.Holger Dürer2018-03-023-27/+38
| | | | | | | | | | | While testing out issue 149 (https://github.com/jdenen/mastodon.el/issues/149) I had problems due to stale client information being cached. With this change we store various pieces of information (the client information in the plstore and the auth tokens) in alists keyed by the instance url (and the plstore key contains the instance url as well to allow us to store data per instance).
* Stop url.el from spamming the user with "Connecting host: ..." messages in ↵Holger Durer2018-03-021-1/+5
| | | | | | | the minibuffer. These happen during async loads, i.e. when the user might be doing something else completely. Especially with auto-update that are coming this is becoming annoying.
* Fixes buffer switching issue and closes issue #158Alexander Griffith2018-03-012-16/+16
| | | | | | - Small logic fix in mastodon-tl--media to remove redundant newline - Replaced switch-to-buffer with with-current-buffer in mastodon-media--process-image-response - Squashed with merge to develop
* When processing the result of an async image fetch, ensure the buffer still ↵Holger Dürer2018-03-011-25/+26
| | | | | | exists. This should fix https://github.com/jdenen/mastodon.el/issues/156.
* Closes #152 and extends the fix for #150 as well as a host of bug fixesAlexander Griffith2018-02-284-24/+56
| | | | | | | | | | | | | | | | | | We now kill the http get request buffer once JSON has been extracted. mastodon-tl--as-string was implemented and replaced any occurrence of number-to-string or int-to-string Added variable mastodon-tl--display-media-p. By default it is 't but can be made a local buffer variable and set to nil. When nil rather than displaying the media it just provides a link Media::<link> Fixed checking for faves and boosts, they should now render properly. The return from json-read-from-string for nil is :json-false which evaluates to 't in elisp. Fixed the format string that gets printed when faving and boosting Fixed mastodon-tl--thread updating and requesting and changed its behaviour such that it tries to open the original toot thread rather than the boosted thread. Added tests for both the new mastodon-tl--as-string function and the mastodon-tl--toot-id utility. enter mastodon mode before defining local buffer variable mastodon-tl--buffer-spec. This fixes some oddities with the local buffer variable.
* Merge branch 'develop' into fix-numericpAlexander Griffith2018-02-261-5/+199
|\
| * use absolute time stamps when mastodon-tl--enable-relative-timestamps is nilAlexander Griffith2018-02-251-1/+3
| |
| * Review comments from alexjgriffith:Holger Dürer2017-06-191-26/+40
| | | | | | | | | | | | | | | | | | | | | | - Simplify let structure in byline generation - Allow disabling of relative timestamps via customization Maybe still to do: - use of cl-macs in tests Punted to a later PR: - Using correct form in docstrings throughout
| * Add periodic updating of the timestamp displays.Holger Dürer2017-06-191-31/+173
| | | | | | | | | | | | | | For each buffer we add a timer that periodically checks all timestamps and updates them as needed. The logic tries to be smart and - only schedule an update when at least one timestamps display needs changing (although at the moment we update at least every 5 minutes), and - only do a limited amount of work in each timer callback so as to not block Emacs's interactive work.
| * Show the posting date in a more readable, relative to current time format.Holger Dürer2017-06-191-1/+37
| | | | | | | | This is still static, i.e. doesn't update as time progresses.
| * Bump version to 0.7.1Johnson Denen2017-06-198-8/+8
| |
| * Catch any errors thrown during url-retrieve.Holger Dürer2017-06-191-3/+12
| | | | | | | | | | On Emacs24 I've been able to reliably fail url fetching which exposed issues in loading a timeline (it aborts the loading). This catches any errors, marking the image load as failed so that we won't retry (retries are a TODO item I guess) and then succeeds the function so the rest of the timeline loading can proceed.
| * More robust bad url detection.Holger Dürer2017-06-191-3/+4
| |
* | Check if an id is a number before attempting to convert it. Closes #150alexjgriffith2018-02-241-2/+6
| |
* | Bump version to 0.7.1Johnson Denen2017-06-198-8/+8
| |
* | Catch any errors thrown during url-retrieve.Holger Dürer2017-06-191-3/+12
| | | | | | | | | | On Emacs24 I've been able to reliably fail url fetching which exposed issues in loading a timeline (it aborts the loading). This catches any errors, marking the image load as failed so that we won't retry (retries are a TODO item I guess) and then succeeds the function so the rest of the timeline loading can proceed.
* | More robust bad url detection.Holger Dürer2017-06-191-3/+4
|/
* Bump to v0.7.0Johnson Denen2017-05-188-8/+8
|
* replaced declare-function with autoloadalexjgriffith2017-05-187-44/+44
|
* Replace uses of replace-regexp with search-forward and replace-match.Holger Dürer2017-05-183-4/+11
|
* Remove most byte-compile warnings.Holger Dürer2017-05-188-87/+107
| | | | | | | We do this by - moving vars into the files where they are (mostly) used - "declaring" vars used elsewhere with the (defvar <var-name>) pattern, - declaring functions defined in others functions rather than loading the file via require.
* Putting buffer name and update function in buffer local varalexjgriffith2017-05-182-100/+80
| | | | | | | | | | removed tests for previous version documented mastodon-buffer-spec getters moved mastodon-buffer-spec to mastodon.el combined mastodon-tl--get and mastodon-tl--init, along with other cleanups
* Fix for #84Alexander Griffith2017-05-181-16/+72
| | | | | | | | | | | | changed more-json in mastodon-tl-tests to recieve an endpont more evocative names and fixed whitespace replaced remaining end eith endpoint-plist added basic unit tests for endpoint selection replaced equalp with equal in tests
* fixed #133 replaced regex with a trim functionAlexander Griffith2017-05-161-1/+2
|
* Fix #131 with refined regexp patternJohnson Denen2017-05-151-1/+1
|
* Merge pull request #123 from alexjgriffith/image-nl-placementJohnson Denen2017-05-151-7/+13
|\ | | | | closed #79
| * Merge branch 'develop' into image-nl-placementalexjgriffith2017-05-152-16/+31
| |\
| * \ adjusted for async image loadingAlexander Griffith2017-05-123-49/+215
| |\ \
| * | | Revert "Adjusted for async image changes"Alexander Griffith2017-05-123-215/+50
| | | | | | | | | | | | | | | | This reverts commit b0ead06b42ed06218e87a0bb75dae41570592423.
| * | | Adjusted for async image changesAlexander Griffith2017-05-123-50/+215
| | | |
| * | | closed #79Alexander Griffith2017-05-121-9/+12
| | | |
* | | | Bump to v0.6.3Johnson Denen2017-05-158-8/+8
| | | |
* | | | Use lexical-binding in all files.Holger Dürer2017-05-158-8/+13
| |_|/ |/| | | | | | | | | | | We only support Emacs 24 and 25 so are free to use sane bindings by default. To keep the linter happy, we need to declare dependency on Emacs 24 in all files.
* | | Close #76Johnson Denen2017-05-151-9/+1
| | | | | | | | | | | | | | | * Delete version variable and function * Use package-file
* | | removed accidentally duplicated mastodon-mode-hookAlexander Griffith2017-05-131-6/+0
| | |
* | | Added face customization closes #124Alexander Griffith2017-05-132-8/+37
| |/ |/|
* | Add tests for mastodon-media.elHolger Dürer2017-05-121-9/+14
| | | | | | | | This also includes tweaks to make Travis happy — tests previously did pass on my laptop but Travis's environment is different.
* | Move the rendering of images fully into mastodon-media.el and use default ↵Holger Dürer2017-05-102-19/+114
| | | | | | | | | | | | | | images. Having all the logic in one file reduces interdependencies. Having default images is more pleasing during the incremental loading.
* | Make the image loading asynchronous.Holger Dürer2017-05-101-24/+46
| | | | | | | | | | | | | | Now that we are also loading avatars there is a lot of image loading to do to show the timeline. We can do the loading asynchronously to let the user have a look at the toots already while image loading is incrementally proceeding. We can no longer enforce caching of avatar loading since the variable is consulted when the response parsing happens at which point the dynamic binding we had used so far has gone out of scope again.
* | Show users' avatars plus other image work.Holger Dürer2017-05-083-45/+86
|/ | | | | | | | | - Shows users' avatars (makes only sense if Emacs is built with imagemagick) - Scales media attachement previews to a max size (if Emacs is built with imagemagick) - Enable cacheing of image fetches Known issues: - We should really cache the avatars to avoid having multiple identical images in memory.