Commit graph

797 commits

Author SHA1 Message Date
Adam Porter
a48e55d655 Add: ement-directory 2022-09-22 14:35:44 -05:00
Adam Porter
489a683f64 Add: (ement-message) 2022-09-22 14:32:50 -05:00
Adam Porter
f4cb5056db Change: (ement-complete-session) Add prompt argument 2022-09-22 14:32:50 -05:00
Adam Porter
96ec15cdf9 Meta: 0.3-pre 2022-09-22 14:32:50 -05:00
Adam Porter
26bb6b8172 Fix/Release: v0.2.1 for Info manual filename 2022-09-22 09:37:18 -05:00
Adam Porter
9fa6c59836 Release: v0.2 2022-09-21 13:58:25 -05:00
Adam Porter
bdc69bb20b Fix: (ement-room-list--entry)
Oops.
2022-09-21 13:52:03 -05:00
Adam Porter
e046f66ba2 Fix: (ement-room-list--entry) When room avatar image fails to load
Thanks to @trevdev:matrix.org for reporting.
2022-09-21 13:18:20 -05:00
Adam Porter
24c83355ff Fix: (ement-room-goto-fully-read-marker) For missing marker node
Not sure how this can happen, but sometimes it does.  Not including in
the changelog because it may be caused by changes in this pre-release
version, and it would be difficult to describe to users, anyway.
2022-09-19 17:54:27 -05:00
Adam Porter
397ee96777 Comment: Add FIXME 2022-09-18 11:42:55 -05:00
Adam Porter
f088b24a29 Change: (ement-taxy-auto-update) Don't refresh when region is active
Thanks to @kushal:locationd.net for reporting.
2022-09-18 11:29:12 -05:00
Adam Porter
75441f919b Docs: Tidy 2022-09-15 21:49:35 -05:00
Adam Porter
5d32869a34 Docs: Tidy 2022-09-15 21:48:22 -05:00
Adam Porter
345bf71766 Change/Fix: (ement--room-unread-p) Ignore non-message events
Fixes #97.  Thanks to Julien Roy (@MrRoy) for reporting and testing.
2022-09-15 21:45:10 -05:00
Adam Porter
ddd31da32e Tidy: Docstring 2022-09-15 16:52:37 -05:00
Adam Porter
910e8f3168 Tidy: Compiler warning 2022-09-15 16:51:01 -05:00
Adam Porter
9ce8fd5e77 Docs: Tidy 2022-09-15 16:43:41 -05:00
Adam Porter
f792af5dd9 Change/Fix: Read receipts
Squashed commit of the following:

commit ccc54b7910228495983d9ffc8e7b491baafead62
Author: Adam Porter <adam@alphapapa.net>
Date:   Thu Sep 15 16:21:31 2022 -0500

    Change/Fix: Read receipts

    Read receipts are now updated via a global idle timer that iterates
    over visible room buffers.  This avoids the nasty, inexplicable race
    condition that sometimes happened when using window-scroll-functions,
    which could cause the functions to be called infinitely, sometimes
    making Emacs unresponsive or even causing it to crash.

    Also, a room's read receipt is now set to the last completely visible
    event (i.e. if an event is only partially displayed, it's not
    considered read).

commit 3569c1d2b5251061eb1415a7849039ff0f6f3c2a
Author: Adam Porter <adam@alphapapa.net>
Date:   Thu Sep 15 15:23:54 2022 -0500

    WIP: See comment

    Well, this reproduces the problem fairly reliably in my config in
    that, after connecting, it begins calling the
    ement-room-start-read-receipt-timer function infinitely.  Sometimes I
    can interrupt it by selecting one or another room window and scrolling
    it or moving point in it.  I have no explanation for why the function
    is called infinitely; the only entry point into it is in the room
    buffers' local values of window-scroll-functions.

    I'm going to try another approach, that of changing the global value
    of the variable and having the function iterate over visible windows.
2022-09-15 16:39:20 -05:00
Adam Porter
04d2b60d79 Change/Fix: (ement-room-browse-url) Room-only links 2022-09-15 12:49:18 -05:00
Adam Porter
d44338e701 Add: (ement-room-join) THEN argument 2022-09-15 12:47:16 -05:00
Adam Porter
3ed946e73b Meta: v0.2-pre 2022-09-15 12:40:59 -05:00
Adam Porter
19d8d08621 Release: v0.1.4 2022-09-15 12:40:04 -05:00
Adam Porter
338b99b61e Docs: Fix badge 2022-09-12 03:48:00 -05:00
Adam Porter
008915bc2e Docs: Update readme, fix Info directory 2022-09-12 03:40:19 -05:00
Adam Porter
5249e49a3f Meta: v0.1.4-pre 2022-09-12 03:32:25 -05:00
Adam Porter
9e3c7fe07d Release: v0.1.3 2022-09-11 14:32:16 -05:00
Adam Porter
3563d9447d Change/Fix: (ement-room-mode) Disable use of window-scroll-functions
Disabling this because of some weird behavior.  It seems like a race
condition exists in which the window-scroll-functions are called,
causing the read receipt to get sent, followed by the read-receipt
being updated, causing the window-scroll-functions to be called again
before the updated receipt is displayed in the buffer, which can cause
an infinite loop, which can even exhaust the Lisp stack and cause
Emacs to freeze (without 100% CPU usage).  At least, that's the best
explanation I have so far--it's very weird.  Until it's solved, we'll
have to do without sending read receipts.  Maybe
window-scroll-functions isn't suitable for this, even though it seems
ideal in theory.  Maybe instead we should use a simple idle timer that
iterates over windows, or something like that.
2022-09-11 14:31:55 -05:00
Adam Porter
f7cd7a857b Fix: (ement-room-start-read-receipt-timer) Temporarily disable
A bug was introduced in the previous fixes that can cause excessive
read receipts to be sent in rapid succession.  A more thoughtful fix
will be necessary to properly send only one receipt per room event and
per scroll event.  In the meantime, this must be disabled to prevent
the excessive network requests.
2022-09-11 09:50:14 -05:00
Adam Porter
35ea510bbf Fix: (ement-room-read-receipt-timer) Use window-live-p
This may fix a weird bug introduced in the last commit or
two (involving variable-binding-depth errors, timers running
repeatedly and making Emacs unresponsive, etc--I have no idea how the
changes could have caused such a thing, but they apparently did).
2022-09-09 16:34:19 -05:00
Adam Porter
b07b7c0da1 Change/Fix: (ement-room-read-receipt-timer) When read receipt is unseen
- Move function called by timer to a named function.

- Send read receipt even if its position is outside the range of
retrieved events.  Otherwise, it could be so far back that it never
gets updated, which doesn't seem useful.  The fully-read marker
remains unmoved until the user gets to the end of the room's events
and marks them all as read, which seems right and useful.
2022-09-09 16:03:58 -05:00
Adam Porter
0d71dfbe6f Fix: (ement-room-start-read-receipt-timer) Set timer in variable 2022-09-09 15:17:52 -05:00
Adam Porter
46157d1126 Meta: v0.1.3-pre 2022-09-09 15:13:22 -05:00
Adam Porter
28cb94cfb5 Release: v0.1.2 2022-09-09 14:12:46 -05:00
Adam Porter
aeba07b658 Docs: Mention availability in Debian, Guix, etc. 2022-09-09 13:10:38 -05:00
Adam Porter
79e8cc51f1 Fix: (ement-notify) Ensure D-Bus is available
Adds (ement-notify-dbus-p).

Fixes #83.  Thanks to Tassilo Horn (@tsdh) for reporting and providing
the predicate code.

Reported-by: Tassilo Horn <tsdh@gnu.org>
Suggested-by: Tassilo Horn <tsdh@gnu.org>
Co-authored-by: Tassilo Horn <tsdh@gnu.org>
2022-09-09 12:44:46 -05:00
Adam Porter
82d598a22a Merge: Fix: (ement-room-sync) Correct argument order 2022-09-09 12:27:00 -05:00
Adam Porter
068ebc1209 Docs: Add changelog entry 2022-09-09 12:18:24 -05:00
Visuwesh
09ad959a09 Fix: (ement-room-sync) Correct argument order 2022-09-09 12:10:58 -05:00
Adam Porter
5edc3b77a8 Meta: v0.1.2-pre 2022-09-09 12:10:30 -05:00
Adam Porter
fb51f82eb5 Release: v0.1.1 2022-09-09 11:52:03 -05:00
Adam Porter
d13cc0c4de Docs: Update README
This now correctly exports to an Info manual using ox-texinfo, without
errors.
2022-09-09 11:45:40 -05:00
Adam Porter
7f3756359b Fix: (ement-room-list-avatars) Use display-images-p
This is more correct than checking display-graphic-p.
2022-09-08 10:31:31 -05:00
Adam Porter
4da836b6e8 Tidy: Docstring 2022-09-08 09:58:36 -05:00
Adam Porter
43ab8f2e09 Fix: (ement-room-scroll-up-mark-read) Select correct room window 2022-09-08 09:55:52 -05:00
Adam Porter
96f3c22cca Meta: 0.1.1-pre 2022-09-08 09:54:38 -05:00
Adam Porter
25d7d43336 Docs: Fix ELPA build error
Since the linked screenshots are excluded from the tarball, the Org
export failed due to broken links.  This should fix it...
2022-09-05 04:51:08 -05:00
Adam Porter
fcbf1a55e8 Release: 0.1 2022-09-02 07:44:17 -05:00
Adam Porter
54c9b0a89b Meta: Add .elpaignore 2022-09-02 07:44:17 -05:00
Adam Porter
d1fceb149e Tidy: Docstrings, comment 2022-09-01 23:10:28 -05:00
Adam Porter
74a8be013d Fix: (ement-room-list-avatars) Default to (display-graphic-p)
Fixes #85.  Thanks to @jfmcbrayer for reporting.
2022-09-01 03:57:41 -05:00