| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This can be used to e.g. show the user status emoji in the buflist like
this:
/set buflist.format.name "${name}${if:${buffer.local_variables.user_status_emoji}? ${buffer.local_variables.user_status_emoji}:}"
|
|
|
|
|
|
|
| |
If we get a channel_leave message from a user that hasn't spoken
recently in the channel and hasn't been loaded in the nicklist (because
the channel has too many members to load all of them into the nicklist),
it isn't in _nicklist so trying to pop it from there would fail.
|
|
|
|
|
|
|
|
|
| |
history_pending had a problem with being stuck as True if a crash
occurred. Additionally, only is_loading is shown in the input bar item,
so if only history_pending is True for some reason (which shouldn't
happen), it's not shown. I don't think I need a separate variable, so
instead of fixing history_pending, just use is_loading which doesn't
have these problems.
|
| |
|
|
|
|
| |
This is 1 if the conversation is muted and 0 if it's not.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When joining a channel you seem to get the last messages for it over the
WebSocket. When joining a channel you've parted and you still have the
buffer for open, those messages will already be in the buffer, so we
have to make sure their not printed multiple times.
I've also been told that messages can appear multiple times in the
reconnect brach, which this should fix too.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We don't want to call the API to close im/mpim conversations when the
script is unloading.
|
|
|
|
|
|
| |
This enforces us to check that buffer_pointer is set, so we don't
accidentally operate on the core buffer, which is what is done when
buffer_pointer is an empty string.
|
|
|
|
|
| |
If a bot uses multiple nicks, we have to add all of them to the
nicklist, so none of the nicks are shown as offline.
|
| |
|
|
|
|
|
|
| |
This can happen in channels shared between workspaces if one of the
workspaces are removed. Then messages from users in that workspace will
not have a user field anymore, but instead a user_profile field.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
I have display_thread_replies_in_channel and often search for the thread
hash in a buffer to scroll between the different messages in the thread.
After changing the hashes to use only letters, this has made the search
match other messages much more often (matching words including the hash
characters), which is inconvenient.
This reverts commit 78bdd84765e53d4c33d963f0d3a8c54652b64ca9.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some enterprise workspaces are restricted in which API methods they can
use, so we have to use some of the APIs the official web client uses
(which can't be used by OAuth tokens) instead (mainly to initialize the
workspace with client.userBoot and client.counts, and to connect to the
websocket).
This also has the benefit of being more performant, as the API methods
the web client uses are more suited for creating a client than the
official API methods.
I think which API methods are restricted may be configured by the
workspace admins, so it may not be the same for different workspaces,
but for me it seems to be at least rtm.connect, users.conversations,
conversations.list and conversations.members, so these are the ones I've
changed to be conditional on the token type.
|
| |
|
|
|
|
|
|
| |
This is perhaps a bit hacky, but it makes the type checker enforce that
we complete the async initialization of SlackConversation instead of
getting a runtime exception.
|
| |
|
|
|
|
|
| |
This means a lot of methods don't have to be async. It's especially
useful for the next commit adding conversations completions.
|
|
|
|
|
|
|
|
|
|
|
| |
Adds all known nicks in the current buffer with an @ prefix to the
nicks completion.
Disables the API search based nick completion for now until it's working
properly. It currently doesn't have any context of which
conversation/thread you are in, so you often get other nicks than the
one you want to complete first. Additionally, it doesn't work with OAuth
tokens.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We can have a hash for a message we don't have if e.g. a broadcast reply
is sent, and the parent is older than the history we have fetched.
|
| |
|
| |
|
|
|
|
| |
This way it doesn't collide with message indices.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Now notify tags are set based on last_read so both read and unread
messages gets the correct tags irregardless if they come from history or
websocket.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Messages from Slackbot apparently have both a user and a bot_id, and
sometimes have the subtype bot_message, other times not. However, the
bot_id is B01 which gives bot_not_found when trying to look it up. I see
that the web client shows it with the user profile, and doesn't show the
message as a bot message, so do that here as well to match it and avoid
the invalid bot_id.
|
|
|
|
|
|
| |
This ensures that all nicks that have typed in the channel and still is
in it are in the nicklist, so they are not colored as offline. It also
removes nicks from the nicklist when they leave a channel.
|
| |
|
|
|
|
|
|
| |
This is done so we can know if we should include a message hash when
completing thread hashes, and it also has the benefit of eliminating the
loading time when opening thread buffers.
|
| |
|