Commit graph

358 commits

Author SHA1 Message Date
Adam Porter
fd1cd6f26b Add: Cycle and scroll through unread buffers with SPC 2021-07-29 04:13:57 -05:00
Adam Porter
c45d0a17c6 Change: ("m.typing") Set footer silently 2021-07-29 04:05:48 -05:00
Adam Porter
2abc3a03db Change/Fix: (ement-room--format-message-body) Ignore nil bodies
This shouldn't happen, but it did once, so let's protect against it
for now.
2021-07-29 04:05:48 -05:00
Adam Porter
591e486598 Add/Change: Error handling, force resync with prefix
In case a sync process gets stuck, "C-u g" in a room buffer will
delete the old sync process and start a new one.

Also, define ement-api-error type.  Still not sure this is all
idiomatic, but it seems to work now.
2021-07-29 03:07:54 -05:00
Adam Porter
ea16cb204e Comment: Remove old FIXME 2021-07-29 02:25:20 -05:00
Adam Porter
13c791ec0a Tidy: (ement--room-name) Remove unused function 2021-07-29 02:24:50 -05:00
Adam Porter
200e38df36 Change: Use new-events list in room local slot
And push new events directly to timeline slot.  This makes more sense.
2021-07-29 02:07:58 -05:00
Adam Porter
eb6033049a Tidy: (ement-room--buffer) 2021-07-29 02:03:50 -05:00
Adam Porter
234d841b11 Tidy: (ement-room-mode-hook) Add visual-line-mode 2021-07-29 02:03:06 -05:00
Adam Porter
941033b380 Add: (ement-event-handlers, ement-defevent, ement--process-event)
This will allow events to be processed more flexibly on the
room-struct side (i.e. regardless of whether a room has a buffer).
2021-07-29 02:02:00 -05:00
Adam Porter
62302949df Change: (ement-notify) Only run when session hasn't synced yet 2021-07-29 02:01:25 -05:00
Adam Porter
df5c3fe170 Comment: Whitespace and TODOs 2021-07-29 02:01:00 -05:00
Adam Porter
d3d2de54d3 Change: (ement-event-hook) to defvar
This is more for internal use now.  Users shouldn't change this unless
they know what they're doing.
2021-07-29 01:56:32 -05:00
Adam Porter
6b32645726 Change/Fix: (ement-room-leave) Improve room completion 2021-07-29 01:02:06 -05:00
Adam Porter
41140995b7 Change: Move room-display-name function to ement-room
Seems to make sense.
2021-07-29 01:01:40 -05:00
Adam Porter
2d525429b2 Change/Fix: (ement--write-session) Write new session struct
Rather than clearing some slots (and forgetting to clear new ones when
the struct is changed), just write a new struct with only the slots we
want to save.
2021-07-29 00:27:33 -05:00
Adam Porter
1b851add7b Change: (ement-room-list--entry) Warn for invalid timestamp
Try to detect and workaround a weird problem that @akater has been
encountering.
2021-07-29 00:22:12 -05:00
Adam Porter
f0a68d91fc Comment: Add TODO 2021-07-29 00:22:04 -05:00
Adam Porter
1bebb8f02f Add: (ement-room-list) Direct column 2021-07-29 00:22:04 -05:00
Adam Porter
77613a34a3 Add: Store global account data events 2021-07-28 23:21:12 -05:00
Adam Porter
744f88423b Add: Show room name in prompt when sending message 2021-07-28 22:13:31 -05:00
Adam Porter
67aed182ac Fix: (ement-room-header-line-format) Handle empty room names/topics 2021-07-28 22:13:30 -05:00
Adam Porter
0e58285e8b Add: Room tombstone events
The body of the tombstone event is shown in a warning face in the EWOC
footer, and the tombstone event is inserted into the buffer as well.
Seems to work well in the old #gitter_syl20bnr=2Fspacemacs:matrix.org
room.
2021-07-28 22:13:30 -05:00
Adam Porter
3a62163f01 Fix: (ement-room-join) Check for room in join-fn
The first sync response after joining a room might not have that room
as a joined-room, so ensure the room struct is found in the join-fn.
2021-07-28 22:13:30 -05:00
Adam Porter
af33c63f64 Comment: Add TODO 2021-07-28 22:13:30 -05:00
Adam Porter
6ccc5cb808 Tidy: (ement-room-leave) Confirmation prompt 2021-07-28 22:13:30 -05:00
Adam Porter
f5f08f4c82 Add: (ement-room-message-format-spec) Add IRC-style without margins 2021-07-28 22:13:30 -05:00
Adam Porter
c8c0686c74 Add: Linkify URLs in message bodies 2021-07-28 22:13:30 -05:00
Adam Porter
372184266b Comment: Add TODO 2021-07-28 22:13:30 -05:00
Adam Porter
98f12d9970 Add: (ement--room-display-name) Heroes-based name 2021-07-28 22:13:30 -05:00
Adam Porter
fc3579a21b Add: (ement-room-list) Member count 2021-07-28 20:12:12 -05:00
Adam Porter
08e806ca33 Add: (ement--push-joined-room-events) Track room summary 2021-07-28 20:11:42 -05:00
Adam Porter
cd59430081 Fix: Typing notification grace period
Had these two numbers swapped.  According to the spec, we should send
the notification every 15 seconds, while telling the server that the
notification is valid for 20 (for example).
2021-07-28 02:58:53 -05:00
Adam Porter
1ef1f5297f Comment: Add TODO 2021-07-28 02:38:52 -05:00
Adam Porter
02d8afff77 Add: (ement-notify-filters) and new predicates
Not sure if "filters" and "predicates" are the best names for these,
but NTIH (Naming Things Is Hard).
2021-07-28 00:37:25 -05:00
Adam Porter
c343cf2d88 Fix: (ement--hostname-uri) Handle 404 responses
Thanks to @akater for reporting.
2021-07-27 23:13:53 -05:00
Adam Porter
ee16b7e64a Add: Join/leave room commands 2021-07-27 22:07:26 -05:00
Adam Porter
9166360628 Tidy: (ement-room--user-color) Variable name
package-lint thought that "show-buffer" was a function call, and that
function was removed from earlier Emacsen.
2021-07-27 21:51:14 -05:00
Adam Porter
070dedb8c9 Tidy: Function declarations 2021-07-27 21:51:02 -05:00
Adam Porter
6f2a2f2e45 Tidy: Headers for package-lint
Even though these aren't packages, the way we call package-lint on
each file causes warnings for missing keywords.
2021-07-27 21:50:05 -05:00
Adam Porter
12f2f33712 Tidy: Docstrings
Thanks, Checkdoc.
2021-07-27 21:42:53 -05:00
Adam Porter
04774c617a Fix: (ement-room--add-reply) Only use join events
Thanks to @treed for reporting and testing.
2021-07-27 20:52:42 -05:00
Adam Porter
0aa366a85c Change: (ement-room-left-margin-width) Mention ttys in docstring 2021-07-27 05:04:09 -05:00
Adam Porter
1c31756af5 Change: (ement-room--insert-events) Follow new events
When window-point is at point-max, keep it there after inserting
events.
2021-07-27 02:22:37 -05:00
Adam Porter
89b7b28f89 Add: Notifications 2021-07-27 01:52:22 -05:00
Adam Porter
2b68deb0e4 Change: (ement-room-message-format-spec) Set default to IRCy
Actually change it this time.
2021-07-27 01:20:14 -05:00
Adam Porter
5c96553c36 Add: Show images in rooms 2021-07-26 23:26:52 -05:00
Adam Porter
510487207c Change: (ement-room--ewoc-last-matching) Take EWOC as first argument
More consistent and flexible.  Also declare indentation.
2021-07-26 23:19:16 -05:00
Adam Porter
344be71dda Add: (ement-room--format-message) Zero-width spaces after names
This allows commands like dabbrev-expand to work for displaynames,
otherwise they combine displaynames with the message bodies.
2021-07-26 20:00:15 -05:00
akater
abd8cf9fbd Fix: (ement-room) Require mwheel
Silences byte-compiler on Emacsen built --without-x.

Fixes #5.
2021-07-26 19:00:11 -05:00