Commit graph

601 commits

Author SHA1 Message Date
Adam Porter
2c543f72fd Comment: Add FIXME 2022-04-09 12:36:04 -05:00
Adam Porter
e941816bc7 Add/Change: --events-equal-p and --event-replaces-p, and use
In (ement-room-defevent "m.reaction") and (ement-room-defevent "m.typing").
2022-04-09 12:36:04 -05:00
Adam Porter
5ca29de7ba Fix: (ement-room--format-message) Edited message bodies 2022-04-09 12:36:04 -05:00
Adam Porter
b41ed9234f Change/Fix: (ement--push-invite-room-events) Process like joined rooms 2022-04-09 10:38:46 -05:00
Adam Porter
411a9ea83d Fix: (ement-taxy-define-column "Topic") Invited rooms 2022-04-09 10:25:51 -05:00
Adam Porter
9fb01ea55c Change: (ement-taxy-room-list) Sort invited rooms first 2022-04-09 10:25:51 -05:00
Adam Porter
c82d3bdddd Fix: (ement-taxy-room-list) Invited rooms have no latest timestamp 2022-04-09 10:25:51 -05:00
Adam Porter
0a4e1f45ae Change/Fix: (ement--push-invite-room-events) Set room status also 2022-04-09 10:25:51 -05:00
Adam Porter
d33c757de5 Change: (ement--format-room) Add topic
Helps to distinguish, especially for rooms without canonical aliases.
2022-04-08 11:59:02 -05:00
Adam Porter
e189c3e7cd Add/Fix: (ement--link-children) Link child rooms on initial sync
When processing an m.space.child event on initial sync, the child room
may not have been processed yet, so we do this again after initial
sync.
2022-04-08 11:46:33 -05:00
Adam Porter
b561a29b49 Fix: (ement-defevent "m.space.child") Use cl-pushnew 2022-04-08 11:12:40 -05:00
Adam Porter
1481714f9e Fix: (ement-room-mark-read) Interactive spec 2022-04-07 10:59:25 -05:00
Adam Porter
5a8d689ff5 Fix: (ement-taxy-room-list) window-start 2022-04-07 10:57:29 -05:00
Adam Porter
f778c4cbc7 Change/Fix: (ement--process-event, ement-room--handle-events) Demote errors
It seems that various types of events may be accepted and forwarded by
servers despite being malformed.  We don't want any malformed event to
prevent other events from being processed, or to prevent further
syncing.  So we demote all errors encountered while running event
handlers.  Ement's users seem attentive, so it's likely that they will
still report any that they encounter regularly, even though they'll
only be reported as messages.

Closes #61.  Thanks to @jfmcbrayer for reporting.
2022-04-07 10:57:29 -05:00
Adam Porter
b582852b73 Fix: (ement--room-unread-p) Rooms with nil timelines
Thanks to @edgar.vincent:matrix.org for reporting.
2022-04-07 08:34:29 -05:00
Adam Porter
95262e8571 Change: (ement-room-mark-read) Ensure proper major mode
See #59.
2022-04-04 04:22:55 -05:00
Adam Porter
5dc42521bf Change/Fix: (ement-defevent "m.receipt") Workaround for #61
Until this is solved correctly, this will prevent errors, and maybe
lead users who encounter the problem (which must not be everyone,
e.g. it's not happening to me) to report in.
2022-04-02 02:32:15 -05:00
Adam Porter
6d1eb5fdf4 Change/Fix: (ement--hostname-uri) Improve error handling 2022-04-01 09:55:01 -05:00
Adam Porter
cd571c5f42 Add/Fix: (ement--button-buttonize)
button-buttonize is being added in Emacs 28.
2022-04-01 09:34:09 -05:00
Adam Porter
196929b01f Fix: (ement-taxy-column-Unread) Typo in help-echo 2022-03-30 09:43:27 -05:00
Adam Porter
a6e935a3b7 Change: (ement-taxy-column-Latest) Show only largest unit
But the full duration is in the help-echo mouseover.
2022-03-30 08:25:57 -05:00
Adam Porter
d19c19d371 Tidy: (ement-taxy-define-key space) 2022-03-30 02:09:22 -05:00
Adam Porter
8c1d58aea0 Comment: Add MAYBE 2022-03-29 23:35:09 -05:00
Adam Porter
09553519a5 Change: (ement-taxy-column-Name) Use push instead of setf
Not sure why it seemed that setf didn't work with map-elt before, but
it does, and it should.
2022-03-29 23:20:28 -05:00
Adam Porter
f2d5674874 Change/Fix: (defface ement-room-list-space) 2022-03-29 23:19:41 -05:00
Adam Porter
01ccce2c64 Fix: (defface ement-room-list-direct) :inherit attribute 2022-03-29 23:17:27 -05:00
Adam Porter
1924d1149b Fix: (cl-defstruct ement-room) Receipts hash table test 2022-03-29 23:16:26 -05:00
Adam Porter
01792a98c1 Fix: (ement-taxy) Require 'button 2022-03-29 23:16:11 -05:00
Adam Porter
5971c9b881 Fix: (ement-defevent "m.space.child") Respect "via" field
This correctly adds and removes rooms from spaces.
2022-03-29 23:16:11 -05:00
Adam Porter
26a3dd3c4d Fix: (ement-taxy-key-space) Improve logic 2022-03-29 11:28:49 -05:00
Adam Porter
5fa7b8fa1d Tidy: (declare-function ement--format-room) 2022-03-29 10:53:09 -05:00
Adam Porter
353d970d6a Add: Basic space support
Handles space-creation events, links children to parents, and displays
and groups spaces specially in ement-taxy-room-list.
2022-03-29 10:51:03 -05:00
Adam Porter
c398f2fa63 Change: Rename room struct's type slot to status
Type is an actual thing in spec v1.2, used for spaces.
2022-03-29 10:49:45 -05:00
Adam Porter
8d50b23a1d Fix: (ement-taxy-key-name) Use name or regexp
It wasn't clear that :name was required.
2022-03-29 10:46:46 -05:00
Adam Porter
789da61000 Fix: (ement-room-leave) Use --format-room 2022-03-29 08:37:19 -05:00
Adam Porter
bd138bd139 Fix: (ement-complete-room) Include ID to avoid ambiguity
e.g. the #emacs:matrix.org room moved, and when leaving the old room,
the completion prompt would show two identical strings (maybe even
selecting and leaving the wrong room).
2022-03-29 08:36:24 -05:00
Adam Porter
f1760cbc31 Add: (ement--format-room) 2022-03-29 08:36:05 -05:00
Adam Porter
62da76173d Change: (room-defevent "m.room.tombstone") Improve message 2022-03-29 08:25:30 -05:00
Adam Porter
b4d9b4fe26 Fix: (ement-room--buffer) Set header/footer before events
e.g. tombstone events would set the header while processing events,
which would then be overridden, leaving tombstoned rooms without a
warning.
2022-03-29 08:24:53 -05:00
Adam Porter
29a165225e Change: ement-taxy default column order 2022-03-29 07:43:52 -05:00
Adam Porter
f5e39aeb47 Tidy: (ement-taxy-room-list, name column) 2022-03-29 07:41:47 -05:00
Adam Porter
b4f01cf2e1 Fix: (ement-taxy) Another eval-and-compile 2022-03-29 07:38:26 -05:00
Adam Porter
5023f604de Fix: (ement-create-room)
Somehow I broke this when merging?
2022-03-29 07:36:50 -05:00
Adam Porter
0a42f4b07b Fix: (ement-event) Receipts slot
Somehow left that out of the branch I merged.
2022-03-29 07:34:51 -05:00
Adam Porter
637c43e811 Tidy: (ement--room-unread-p) 2022-03-29 07:32:23 -05:00
Adam Porter
7035d89b7b Merge: ement-taxy-room-list using taxy.el 2022-03-29 07:27:23 -05:00
Adam Porter
38a528062e WIP: (ement--room-unread-p)
This is so complicated, but roughly equivalent to
doesRoomHaveUnreadMessages() from
<7fa01ffb06/src/Unread.ts (L52)>.
2022-03-29 06:45:25 -05:00
Adam Porter
7f61bf283a WIP: Mention face for unread column (badge) 2022-03-29 06:44:51 -05:00
Adam Porter
d70e3a04b3 WIP: Process read receipts
Not much used yet, except for trying to determine whether a room is
unread.
2022-03-29 06:44:17 -05:00
Adam Porter
073e3397ae WIP: Tidy 2022-03-29 03:38:45 -05:00