| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it complete nicks that spoke last first, and then nicks that
haven't spoken, and lastly yourself. This is the same as the IRC plugin
does by default.
It adds completion of nicks both with and without @, as the default
completion of nicks from the nicklist is just alphabetical.
Completion of workspace nicks is removed for now. It only completed
workspace nicks that are already loaded, so it might be better to
complete workspace nicks in the `input_complete_cb` function instead
(since functions using `completion_list_add` can't be async, only
`input_complete_cb` can).
|
| |
|
| |
|
|
|
|
|
|
|
| |
It became very confusing to use None to represent it being set without a
value, so use True instead. If it has a value it will always be a
string, so you can still distinguish between an option without a value
and an option with a truthy value.
|
|
|
|
|
| |
I have a huddle message in an IM on an enterprise workspace that doesn't
have this field.
|
|
|
|
|
| |
It seems that if you request conversations.info right after joining a
channel, it's missing in the response.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 originally had to be returned here because it was an async
function, but now that it's a sync function this can be simplified.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
This currently has the limitation that the user has to be known to
wee-slack for the mention to work. That is, there needs to be some
interaction with it (message or reaction from or mention) or it has to
be in the loaded members in any of the loaded conversations.
|
|
|
|
| |
This is an alias for @channel.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Sometimes an IM/MPIM can have unread messages even when is_open is
false, so we have to check the history if there are any unread messages.
|
| |
|
| |
|
|
|
|
|
| |
We should create a server buffer for each workspace, but print to the
core buffer for now.
|
|
|
|
|
| |
This just logs that a message is unknown/unhandled. The contents of the
message will be printed on the line above.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I will implement filtering like the /server raw buffer, instead of
having multiple debug buffers.
|
| |
|
|
|
|
|
|
|
| |
It looks better to have the `` characters around the other styles when
there's styling inside code blocks. It makes it look a bit worse when
theres code blocks inside styled text though. It should really remember
the order the styles are opened to close them in the correct order.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This way it doesn't collide with message indices.
|
| |
|