Commit graph

383 commits

Author SHA1 Message Date
Adam Porter
0e06540f98 Fix: (ement-room-with-typing) Cancel timer before setting new one
Just in case.

cc: @treed
2021-08-04 19:53:08 -05:00
Adam Porter
407f164cca Add: Show reason for membership events 2021-08-04 04:10:59 -05:00
Adam Porter
97c55557d1 Add: Emote message face 2021-08-04 03:27:25 -05:00
Adam Porter
d4a8a5479a Tidy: (ement-api-error) Remove redundant string 2021-08-04 02:18:49 -05:00
Adam Porter
01a800e323 Add: Add to reactions by clicking them
Toggling them back off is yet to be done.
2021-08-04 02:18:49 -05:00
Adam Porter
08e5655f00 Fix: (ement-room-join) Complete session from other buffers
Thanks to @matheusfillipe for reporting.
2021-08-04 01:51:23 -05:00
Adam Porter
1f530d4ab3 Change: (ement-api) Signature
Take SESSION instead of SERVER and TOKEN, and make THEN a keyword
arg.  This is much better.
2021-08-03 23:08:12 -05:00
Adam Porter
741f8772b0 Change: (ement--sync) Signal ement-api-error 2021-08-03 22:03:05 -05:00
Adam Porter
40d3dc1299 Tidy: (ement-notify.el) Declare function 2021-08-03 20:02:30 -05:00
Adam Porter
1d8fff0b77 Add: (ement-notify-prism-background) 2021-08-03 19:15:12 -05:00
Adam Porter
8b60da0cfc Fix: (ement-notify-limit-room-name-width)
Also add ellipsis option, and increase default width by 2 (so
"#matrix-dev" fits).
2021-08-03 06:56:10 -05:00
Adam Porter
9061d052a0 Fix: (defface ement-room-mention) Extend on Emacs 27+ 2021-08-03 05:02:19 -05:00
Adam Porter
3bf9d83b6a Fix: (ement-notify, ement-notify-ignore-predicates) 2021-08-03 04:53:16 -05:00
Adam Porter
cdbccc8a4b Fix: (ement-notify-functions) Default value
Forgot to change that earlier.
2021-08-03 04:49:57 -05:00
Adam Porter
7df47f39af Fix: (ement-api-error) Error message string
Need to mention Ement in it, otherwise users won't know where it came
from.
2021-08-03 04:47:10 -05:00
Adam Porter
40fdd9ce09 Comment: Add TODO 2021-08-03 04:47:10 -05:00
Adam Porter
56027d8804 Add: (ement-room-set-topic) 2021-08-03 04:47:10 -05:00
Adam Porter
8fdbc4f1b3 Tidy: Whitespace 2021-08-03 04:08:10 -05:00
Adam Porter
c8060982bc Change/Fix: (ement-room--format-event) help-echo for other types
Set the help-echo to just the event's content, not the whole event.
The whole event might be very large when including its member structs
and theirs on down the chain, and this might be causing an occasional
runaway allocation problem.

cc: @treed
2021-08-03 04:05:00 -05:00
Adam Porter
2607ec3145 Change: (ement-connect) Refactor, use plist args, add uri-prefix arg
This should, e.g. make it possible for Pantalaimon users to do
something like:

  (ement-connect :user-id "@USERNAME:SERVER" :password "PASSWORD"
                 :uri-prefix "http://localhost:8080")

Fixes #10.  Fixes #12.
2021-08-03 02:25:52 -05:00
Adam Porter
effd837776 Comment: Add FIXME 2021-08-03 02:25:45 -05:00
Adam Porter
35a4147660 Change: Save plists instead of structs in saved sessions
The user and server structs could change as well, so use plists for
them, too.
2021-08-03 02:24:51 -05:00
Adam Porter
b541e2202d Fix: Use inherit-input-method when calling read-string
Fixes #11.  Thanks to @vizs for reporting.
2021-08-03 01:28:19 -05:00
Adam Porter
a65ba56aec Change: Refactor and simplify notification system 2021-08-03 01:14:48 -05:00
Adam Porter
208be8b23e Add: (ement-notify-limit-room-name-width) 2021-08-03 01:14:16 -05:00
Adam Porter
44550cfbdc Add: Notifications and Mentions buffers 2021-08-03 00:37:49 -05:00
Adam Porter
db4f09323c Fix: (ement-notify--notify) Ensure body is a string 2021-08-03 00:14:59 -05:00
Adam Porter
fe899d1cca Fix: (ement-notify) Filters variable
Used the wrong variable name.  Oops.
2021-08-03 00:14:59 -05:00
Adam Porter
7c5a5f766a Add: (ement-notify--log-mentions) 2021-08-03 00:14:59 -05:00
Adam Porter
f729714d5d Comment: Add section heading 2021-08-03 00:14:59 -05:00
Adam Porter
de50a8b6df Add: (ement-room-message-format-spec) %O for room display name 2021-08-03 00:14:59 -05:00
Adam Porter
e10f70f46d Add: (ement-with-progress-reporter) macro, and use it 2021-08-02 21:24:52 -05:00
Adam Porter
41997bb32e Tidy: Untabify
I guess this is what I get for occasionally using other Emacs configs
to edit.
2021-08-02 21:22:45 -05:00
Adam Porter
825aaadb20 Change: (ement--sync-messages-p) Use defsubst
Might as well.
2021-08-02 20:49:50 -05:00
Adam Porter
3c1982f6e0 Change: (ement-room--process-events) Use equal as testfn
Equal seems generally faster than string=, because it uses a hash
instead of char-by-char comparison.
2021-08-02 20:48:50 -05:00
Adam Porter
0cb35b4617 Change: (ement-room-send-event-callback) Message only when :debug 2021-08-01 08:36:16 -05:00
Adam Porter
5883b243c1 Change: (ement-api-error) Improve error messages 2021-08-01 06:20:05 -05:00
Adam Porter
82da455775 Add: (ement-room-send-reaction) Use reaction at point 2021-08-01 05:52:48 -05:00
Adam Porter
e800c04f3b Add/Change: (ement-room-send-event-callback)
Use this callback function, which warns if the server reuses an event
ID when sending an event, which would indicate that we're reusing
transaction IDs, which could indicate a bug.
2021-08-01 05:15:52 -05:00
Adam Porter
7491e0521a Add: (ement-session-events) Track seen events in hash table
We already have all of these event structs in the rooms' event lists,
so this is just extra pointers to the same data, and extra copies of
the event IDs, which seems reasonable.  We need to track this, for now
at least, because it lets us ensure that we aren't reusing transaction
IDs on a session (next commit).
2021-08-01 05:10:45 -05:00
Adam Porter
6d10c2de85 Change: (--read-session, --save-session) Use plists and fail right 2021-08-01 04:43:39 -05:00
Adam Porter
9ca6dc4922 Change/Fix: (ement-room-send-message) Scrolling after sending 2021-08-01 02:52:31 -05:00
Adam Porter
e9df5d60b8 Add: (ement-room-image-initial-height) 2021-08-01 01:15:33 -05:00
Adam Porter
bb6c75d248 Fix: (ement-room--buffer) Use generate-new-buffer
When two rooms have the same name, get-buffer-create conflates them.
2021-08-01 01:06:51 -05:00
Adam Porter
91618dacae Fix: (ement-view-room) Use existing room buffer 2021-08-01 01:06:04 -05:00
Adam Porter
9bc7712540 Tidy: (ement-room--buffer) Use room variable
Not strictly necessary, but makes sense, and might avoid mistakes in
the future if this code is changed.
2021-08-01 01:05:34 -05:00
Adam Porter
0072a855c4 Fix: (ement-room-list-action) Use ement-view-room 2021-08-01 01:05:14 -05:00
Adam Porter
dbcf7576e1 Fix: (ement-room-list-action) Use opened buffers
Thanks to @treed for reporting.
2021-08-01 00:47:40 -05:00
Adam Porter
811d911f96 Fix: (ement--update-room-buffers) Only use live buffers 2021-08-01 00:47:31 -05:00
Adam Porter
ec0c324823 Change: (ement-room-image-scale-mouse) Toggle scale 2021-08-01 00:16:44 -05:00